Bài tập quản lý sinh viên trong C++ (Phần 1)



Bài tập

Viết chương trình C++ để giữ các bản ghi và thực hiện các trình phân tích thống kê cho một lớp gồm 20 sinh viên. Thông tin của mỗi sinh viên gồm id, tên, tuổi, điểm kiểm tra (hai điểm kiểm tra mỗi kỳ), điểm chuyên cần, điểm thi giữa kỳ, điểm thi cuối kỳ, và tổng điểm.

Chương trình của bạn sẽ nhắc người dùng lựa chọn các hành động có thể thực hiện trên các bản ghi từ menu có dạng sau:

==========================================================

MENU

==========================================================

1. Them ban ghi sinh vien

2. Xoa ban ghi sinh vien

3. Cap nhat ban ghi sinh vien

4. Quan sat tat ca ban ghi sinh vien

5. Tinh diem trung binh cua mot sinh vien da chon

6. Hien thi sinh vien co tong diem cao nhat

7. Hien thi sinh vien co tong diem thap nhat

8. Tim sinh vien boi ID

9. Sap xep cac ban ghi boi tong diem thi cua sinh vien

Nhap lua chon cua ban: 1

Ghi chú: Tất cả các bản ghi được lưu trữ trong một mảng.

Lời giải

Quảng cáo

Dưới đây là chương trình C++ để giải bài tập trên. Đây là một bài tập lớn và phức tạp, do đó chúng tôi chia lời giải thành các phần nhỏ và giải thích chi tiết từng phần một để giúp bạn dễ dàng theo dõi và hiểu nhanh hơn. Bạn theo dõi các bước sau:

Bước 1: Khai báo một Structure

Khai báo một Structure gọi là sinhvien để lưu trữ các bản ghi. Structure này gồm 9 thành viên, đó là:

  • mssv(string) để lưu trữ id của sinh viên

  • tensv(mảng ký tự) để lưu trữ tên sinh viên

  • sex(char) để lưu trữ giới tính

  • diemkt1(float) để lưu trữ điểm kiểm tra đầu tiên

  • diemkt2(float) để lưu trữ điểm kiểm tra thứ hai

  • diemcc(float) để lưu trữ điểm chuyên cần

  • diemgk(float) để lưu trữ điểm thi giữa kỳ

  • diemck(float) để lưu trữ điểm thi cuối kỳ

  • tongdiem(float) để lưu trữ tổng điểm

Dưới đây là code cho bước 1:

typedef struct sinhvien
{

string mssv;
char tensv[20];
char sex;
float diemkt1;
float diemkt2;
float diemcc;
float diemgk;
float diemck;
float tongdiem;

};

Bước 2: Hiển thị menu

Quảng cáo

Định nghĩa phương thức displaymenu() để hiển thị menu. Menu đơn giản này cung cấp 9 lựa chọn từ 1 tới 9 để làm việc với các bản ghi.

Dưới đây là code cho bước 2:

//Xay dung menu
void displaymenu(){
cout<<"===========================================<<"\n";
cout<<" MENU "<<"\n";
cout<<"==========================================="<<"\n";
cout<<" 1. Them ban ghi sinh vien"<<"\n";
cout<<" 2. Xoa ban ghi sinh vien"<<"\n";
cout<<" 3. Cap nhat ban ghi sinh vien"<<"\n";
cout<<" 4. Quan sat tat ca ban ghi sinh vien"<<"\n";
cout<<" 5. Tinh diem trung binh cua mot sinh vien da chon"<<"\n";
cout<<" 6. Hien thi sinh vien co tong diem cao nhat"<<"\n";
cout<<" 7. Hien thi sinh vien co tong diem thap nhat"<<"\n"; 
cout<<" 8. Tim sinh vien boi ID"<<"\n"; 
cout<<" 9. Sap xep cac ban ghi boi tong diem thi cua sinh vien"<<"\n"; 
}

Bạn trở lại trang cha để tìm hiểu tiếp các bước.

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.


bai_tap_struct_trong_cplusplus.jsp


Tài liệu giáo viên