1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo bài tập lớn nhóm 12

17 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng chương trình quản lý điểm của một lớp N sinh viên, M môn học gồm những chức năng: Nhập, xem, tìm kiếm và thống kê
Tác giả Tống Xuân Định, Nguyễn Trung Dũng, Nguyễn Gia Bảo, Nguyễn Tiến Đạt
Người hướng dẫn Nguyễn Trần Hải
Trường học Trường Đại học Xây Dựng Hà Nội
Chuyên ngành Ngôn ngữ lập trình C++
Thể loại Bài tập lớn
Thành phố Hà Nội
Định dạng
Số trang 17
Dung lượng 1,55 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN Nguyễn Gia Bảo - 0002768Nguyễn Tiến Đạt - 4000468Giảng viên: Nguyễn Trần Hải... BÁO CÁO BÀI TẬP LỚNBài tập: X

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN

***

BỘ MÔN NGÔN NGỮ LẬP TRÌNH C++

BÁO CÁO: Bài tập lớn Nhóm 12

Nhóm 12 – 68IT3

Thành viên : Tống Xuân Định - 0008268 Nguyễn Trung Dũng - 0004468 Nguyễn Gia Bảo - 0002768 Nguyễn Tiến Đạt - 4000468 Giảng viên: Nguyễn Trần Hải

Trang 2

BÁO CÁO BÀI TẬP LỚN

Bài tập: Xây dựng chương trình quản lý điểm của một lớp N sinh viên,

M môn học gồm những chức năng: Nhập, xem, tìm kiếm và thống kê Trong đó điểm của từng môn có hệ số tính theo số tín chỉ của môn đó.

Nhóm 12 thực hiện:

Họ và tên sinh viên 1: Tống Xuân Định

Họ và tên sinh viên 2: Nguyễn Trung Dũng

Họ và tên sinh viên 3: Nguyễn Gia Bảo

Họ và tên sinh viên 4: Nguyễn Tiến Đạt

Trường: Trường Đại học Xây Dựng Hà Nội (HUCE)

Giảng viên hướng dẫn: Nguyễn Trần Hải

I Giới thiệu:

Bài báo cáo này trình bày về chương trình quản lý điểm của một lớp N sinh viên,

M môn học gồm những chức năng: Nhập, xem, tìm kiếm và thống kê

II Mục tiêu:

Mục tiêu của dự án là xây dựng một ứng dụng di động đơn giản nhưng hiệu quả để quản lý thông tin sinh viên, bao gồm thông tin cá nhân, điểm số và thống kê

III Phân tích yêu cầu:

Nhóm đã thực hiện phân tích cẩn thận về các yêu cầu của ứng dụng, bao gồm:

 Quản lý thông tin cá nhân của sinh viên

 Hiển thị thông tin tất cả sinh viên

 Hiển thị thông tin sinh viên qua viện tìm tên sinh viên

 Tính điểm của từng sinh viên và xếp hạng

 Sử dụng ngôn ngữ lập trinh C++ và kiến thức đã học

Trang 3

IV Nhiệm vụ của mỗi người trong nhóm 12:

 Tống Xuân Định:

 Nguyễn Trung Dũng:

 Nguyễn Gia Bảo:

 Nguyễn Tiến Đạt:

V Miêu tả class, các chức năng:

- Sử dụng set, get để gán và lấy các dữ liệu thành phần

- Xây dựng các hàm thành phần phục vụ các chức năng trong phần main :

 setMonhoc - Nhập tên các môn học, số tín chỉ

 nhapthongtin - Nhập tên của các sinh viên, điểm của các môn học

 xemthongtin - Đưa ra màn hình tên sinh viên, tên môn học, điểm từng môn

 timkiem - Nhập tên sinh viên cần tìm  Điểm đã nhập của sinh viên đó sẽ được đưa ra màn hình

 thongke - Đưa ra màn hình điểm các môn của từng sinh viên

- Tính điểm trung bình của sinh viên theo thang điểm 10

- Đổi từ thang 10 sang 4 sau đó đưa ra kết quả bao gồm cả điểm chữ

VI Chạy thử chương trình:

Các chức năng

Trang 4

Chức năng 1: Nhập thông tin môn học

Hàm setMonhoc:

void setMonhoc()

{

for(int i = 0;i<somon;i++)

{

cout<<"TEN MON HOC: ";

cin>>monhoc[i];

cout<<"SO TIN CHI CUA MON HOC DO : "; cin >>tinchi[i];

}

}

Kết quả:

Chức năng 2: Nhập thông tin sinh viên

Trang 5

Hàm nhapthongtin:

void nhapthongtin()

{

cout<<"|

_|"<<endl; cout << "Nhap TEN SINH VIEN:\n";

for (int i = 0; i < sosv; i++)

{

cout << "TEN SINH VIEN: ";

cin >> sinhvien[i];

for (int j = 0; j < somon; j++)

{

cout << "NHAP DIEM CUA MON HOC " << monhoc[j] << " : "; cin >> diem[i][j];

}

}

cout<<"|

_|"<<endl; }

Kết quả:

Chức năng 3: Xem thông tin sinh viên

Trang 6

Hàm xemthongtin:

void xemthongtin()

{

cout << "THONG TIN SINH VIEN:\n";

for (int i = 0; i < sosv; i++)

{

cout << "SINH VIEN " << sinhvien[i] << " ";

for (int j = 0; j < somon; j++)

{

cout << " MON :" << monhoc[j] << " DIEM: " << diem[i][j]; }

cout << endl;

}

}

Kết quả:

Chức năng 4: Tìm kiếm thông tin sinh viên

Hàm timkiem:

Trang 7

void timkiem()

{

int tg;

string timkiemsv;

cout<<"Vui long nhap ten sinh vien can tim: ";

cin >> timkiemsv;

for (int i = 0; i<sosv; i++)

{

if (sinhvien[i] == timkiemsv)

{

tg = i;

}

}

if (sinhvien[tg] == timkiemsv)

{

cout << "SINH VIEN " << sinhvien[tg] << endl;

for (int j = 0; j < somon; j++)

{

cout << " MON :" << monhoc[j] << " DIEM: " << diem[tg][j]

<<endl;

}

}

else

{

cout<<"KHONG TIM THAY SINH VIEN"<<endl;

}

}

Kết quả:

- Nhập tên sinh viên có trong danh sách đã nhập thông tin trước đó:

Trang 8

- Nhập tên sinh viên không có trong danh sách đã nhập thông tin trước đó:

Chức năng 5: Thống kê thông tin sinh viên

Hàm thongke:

Trang 9

void thongke()

{

cout<<"|

|"<<endl; cout << "DIEM TIN CHI CUA TUNG SINH VIEN " << endl;

for (int i = 0; i < sosv; i++) {

double diemtb, diemtc1mon, diemtatca, tongtc ;

for (int j = 0; j < somon; j++)

{

diemtc1mon = diem[i][j] * tinchi[j];

tongtc += tinchi[j];

diemtatca += diemtc1mon;

cout<<"DIEM CUA MON " <<monhoc[j]<<" CUA SINH VIEN " << sinhvien[i]<<" : " <<diem[i][j]<<endl;

}

diemtb = diemtatca / tongtc;

double diembon = diemtb * 4 / 10;

if (diemtb >= 8.5)

cout<<"Sinh vien "<< sinhvien[i]<<endl<<"Thang diem 10: "<< diemtb

<<endl<< "Thang diem 4: " << diembon<<endl << "Diem chu: " << "A" << endl; else if (diemtb >= 7)

cout<<"Sinh vien "<< sinhvien[i]<<endl<<"Thang diem 10: "<< diemtb

<<endl<< "Thang diem 4: " << diembon<<endl << "Diem chu: " << "B" << endl; else if (diemtb >= 5.5)

cout<<"Sinh vien "<< sinhvien[i]<<endl<<"Thang diem 10: "<< diemtb

<<endl<< "Thang diem 4: " << diembon <<endl<< "Diem chu: " << "C" << endl; else if (diemtb >= 4.0)

cout<<"Sinh vien "<< sinhvien[i]<<endl<<"Thang diem 10: "<< diemtb

<<endl<< "Thang diem 4: " << diembon<<endl << "Diem chu: " << "D" << endl; else

cout<<"Sinh vien "<< sinhvien[i]<<endl<<"Thang diem 10: "<< diemtb

<<endl<< "Thang diem 4: " << diembon<<endl << "Diem chu: " << "F" << endl; }

Kết quả:

Trang 10

VII Chương trình hoàn chỉnh:

#include <iostream>

#include <string>

using namespace std;

class student

{

private:

string *sinhvien;

string *monhoc;

int *tinchi;

int sosv;

int somon;

int **diem;

public:

student(string *monhoc, int sosv, int somon, int *tinchi) {

this->monhoc = monhoc;

Trang 11

this->sosv = sosv;

this->somon = somon; this->tinchi = tinchi; sinhvien = new string[sosv]; diem = new int *[sosv]; for (int i = 0; i < sosv; i++) {

diem[i] = new int[somon]; }

}

void setMonhoc(string *mh) { monhoc = mh;

}

string* getMonhoc() { return monhoc;

}

void setSosv(int sv) { sosv = sv;

}

int getSosv() {

return sosv;

}

void setSomon(int sm) { somon = sm;

}

int getSomon() {

return somon;

}

void setTinchi(int *tc) { tinchi = tc;

}

int* getTinchi() {

return tinchi;

}

~student()

Trang 12

{

delete[] monhoc;

delete[] tinchi;

delete[] sinhvien;

for (int i = 0; i < sosv; i++)

{

delete[] diem[i];

}

delete[] diem;

}

void setMonhoc() {

for(int i = 0;i<somon;i++)

{

cout<<"TEN MON HOC: ";

cin>>monhoc[i];

cout<<"SO TIN CHI CUA MON HOC DO : ";

cin >>tinchi[i];

}

}

void nhapthongtin()

{

cout<<"|

|"<<endl; cout << "Nhap TEN SINH VIEN:\n";

for (int i = 0; i < sosv; i++)

{

cout << "TEN SINH VIEN: ";

cin >> sinhvien[i];

for (int j = 0; j < somon; j++)

{

cout << "NHAP DIEM CUA MON HOC " << monhoc[j] << " : "; cin >> diem[i][j];

}

}

cout<<"|

|"<<endl; }

Trang 13

void xemthongtin()

{

cout << "THONG TIN SINH VIEN:\n";

for (int i = 0; i < sosv; i++)

{

cout << "SINH VIEN " << sinhvien[i] << " ";

for (int j = 0; j < somon; j++)

{

cout << " MON :" << monhoc[j] << " DIEM: " << diem[i][j]; }

cout << endl;

}

}

void timkiem()

{

int tg;

string timkiemsv;

cout<<"Vui long nhap ten sinh vien can tim: ";

cin >> timkiemsv;

for (int i = 0; i<sosv; i++)

{

if (sinhvien[i] == timkiemsv)

{

tg = i;

}

}

if (sinhvien[tg] == timkiemsv)

{

cout << "SINH VIEN " << sinhvien[tg] << endl;

for (int j = 0; j < somon; j++)

{

cout << " MON :" << monhoc[j] << " DIEM: " << diem[tg] [j]<<endl;

}

}

else{

cout<<"KHONG TIM THAY SINH VIEN"<<endl;

}

Trang 14

}

void thongke(){

cout<<"|

|"<<endl; cout << "DIEM TIN CHI CUA TUNG SINH VIEN " << endl;

for (int i = 0; i < sosv; i++) {

double diemtb, diemtc1mon, diemtatca, tongtc ;

for (int j = 0; j < somon; j++)

{

diemtc1mon = diem[i][j] * tinchi[j];

tongtc += tinchi[j];

diemtatca += diemtc1mon;

cout<<"DIEM CUA MON " <<monhoc[j]<<" CUA SINH VIEN "

<<sinhvien[i]<<" : " <<diem[i][j]<<endl;

}

diemtb = diemtatca / tongtc;

double diembon = diemtb * 4 / 10;

if (diemtb >= 8.5)

cout<<"Sinh vien "<< sinhvien[i]<<endl<<"Thang diem 10: "<< diemtb

<<endl<< "Thang diem 4: " << diembon<<endl << "Diem chu: " << "A" << endl; else if (diemtb >= 7)

cout<<"Sinh vien "<< sinhvien[i]<<endl<<"Thang diem 10: "<< diemtb

<<endl<< "Thang diem 4: " << diembon<<endl << "Diem chu: " << "B" << endl; else if (diemtb >= 5.5)

cout<<"Sinh vien "<< sinhvien[i]<<endl<<"Thang diem 10: "<< diemtb

<<endl<< "Thang diem 4: " << diembon <<endl<< "Diem chu: " << "C" << endl; else if (diemtb >= 4.0)

cout<<"Sinh vien "<< sinhvien[i]<<endl<<"Thang diem 10: "<< diemtb

<<endl<< "Thang diem 4: " << diembon<<endl << "Diem chu: " << "D" << endl; else

cout<<"Sinh vien "<< sinhvien[i]<<endl<<"Thang diem 10: "<< diemtb

<<endl<< "Thang diem 4: " << diembon<<endl << "Diem chu: " << "F" << endl;} }

};

int main()

{

int sosv, somon;

Trang 15

cout << "NHAP SO LUONG SINH VIEN: ";

cin >> sosv;

cout << "NHAP SO LUONG MON HOC: ";

cin >> somon;

string *monhoc = new string[somon];

int *tinchi = new int[somon];

student s(monhoc, sosv, somon, tinchi);

int luachon;

do

{

cout<<"| |"<<endl; cout <<"1.NHAP THONG TIN MON HOC"<<endl;

cout <<"2.NHAP THONG TIN SINH VIEN"<<endl;

cout <<"3.XEM THONG TIN SINH VIEN"<<endl;

cout <<"4.TIM KIEM THONG TIN SINH VIEN"<<endl;

cout <<"5.THONG KE THONG TIN SINH VIEN"<<endl;

cout <<"0.THOAT"<<endl;

cout <<"CHON CHUC NANG: "<<endl;

cout<<"|

|"<<endl; cin >> luachon;

bool daThucHien = false;

switch (luachon) {

case 0:

cout<<"CAM ON DA SU DUNG !"<<endl;

break;

case 1:

s.setMonhoc();

daThucHien = true;

break;

case 2:

s.nhapthongtin();

daThucHien = true;

break;

Trang 16

case 3:

if (daThucHien) {

cout<<"CHON 1 VA 2 TRUOC !"<<endl; } else

{

s.xemthongtin();

}

break;

case 4:

if (daThucHien) {

cout<<"CHON 1 VA 2 TRUOC !"<<endl; } else

{

s.timkiem();

}

break;

case 5:

if (daThucHien) {

cout<<"CHON 1 VA 2 TRUOC !"<<endl; } else

{

s.thongke();

}

break;

default:

cout<<"LUA CHON SAI"<<endl;

break;

}

} while (luachon != 0);

return 0;

}

VIII Nhận xét:

Trang 17

 Bài tập nằm trong phạm vi kiến thức đã được học

 Nhóm đã tiến hành chạy code thử và thấy code chạy bình thường ở thời điểm hiện tại

 Các lỗi và sự cố được ghi nhận và khắc phục kịp thời

Ý kiến của giảng viên bộ môn:

 Thầy/cô có ý kiến hay nhận xét giúp nhóm em cải thiện hơn có thể liên hệ với nhóm em qua gmail dinh0008268@huce.edu.vn

 Nhóm em rất mong nhận được nhận xét của thầy/cô!

Hà Nội, ngày…tháng…năm 2024 Phê duyệt

Ngày đăng: 20/05/2024, 16:15

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w