Tải bản đầy đủ (.pdf) (17 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.55 MB, 17 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘI</b>

<b>KHOA CÔNG NGHỆ THÔNG TIN </b>

Nguyễn Gia Bảo - 0002768Nguyễn Tiến Đạt - 4000468Giảng viên: Nguyễn Trần Hải

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>BÁO CÁO BÀI TẬP LỚN</b>

<b>Bài tập: </b>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 đó.

<b>Nhóm 12 thực hiện:</b>

Họ và tên sinh viên 1: Tống Xuân ĐịnhHọ và tên sinh viên 2: Nguyễn Trung DũngHọ và tên sinh viên 3: Nguyễn Gia BảoHọ 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

<b>III. Phân tích u cầu:</b>

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.

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>IV. Nhiệm vụ của mỗi người trong nhóm 12:</b>

 Tống Xuân Định:  Nguyễn Trung Dũng:  Nguyễn Gia Bảo:  Nguyễn Tiến Đạt:

<b>V. Miêu tả class, các chức năng:</b>

- 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ữ

<b>VI. Chạy thử chương trình:Các chức năng</b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>Chức năng 1: Nhập thông tin môn họcHàm </b>setMonhoc<b>:</b>

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];

}}

<b>Kết quả: </b>

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

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>Hàm nhapthongtin:</b>

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; }

<b>Kết quả: </b>

<b>Chức năng 3: Xem thông tin sinh viên</b>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>Hàm xemthongtin: </b>

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; }

}

<b>Kết quả: </b>

<b>Chức năng 4: Tìm kiếm thông tin sinh viênHàm timkiem:</b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

void timkiem() {

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; }

}

<b>Kết quả: </b>

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

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

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

<b>Chức năng 5: Thống kê thông tin sinh viênHàm thongke:</b>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="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];

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;}

<b>Kết quả: </b>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>VII. Chương trình hồn chỉnh:#include <iostream></b>

<b>#include <string>using namespace std;class student</b>

string *sinhvien; string *monhoc; int *tinchi; int sosv; int somon; int **diem;

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

this->monhoc = monhoc;

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="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()

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

{

delete[] monhoc; delete[] tinchi; delete[] sinhvien; for (int i = 0; i < sosv; i++) {

delete[] diem[i]; }

delete[] diem; }

<b> void setMonhoc() {</b>

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];

} }

<b> void nhapthongtin() </b>

{ 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; }

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<b>void</b> xemthongtin() {

cout << "THONG TIN SINH VIEN:\n"; for (int i = 0; i < sosv; i++)

}

<b> void timkiem() </b>

{ int tg;

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; }

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

}

<b> void thongke(){</b>

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++)

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;}}

<b>int main(){</b>

int sosv, somon;

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="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;

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

break; case 4:

break; case 5:

break; default:

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

}

} while (luachon != 0);return 0;

<b>VIII. Nhận xét:</b>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="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

<b>Ý kiến của giảng viên bộ mơn: </b>

 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

 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

</div>

×