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



Bước 9: Tìm điểm thi lớn nhất, nhỏ nhất

Định nghĩa phương thức showmax(struct sinhvien st[], int biendem) và phương thức showmin(struct sinhvien st[], int biendem) để hiển thị sinh viên có điểm thi lớn nhất và nhỏ nhất. Để tìm tổng điểm lớn nhất và nhỏ nhất, chúng ta cần so sánh tổng điểm của các sinh viên.

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

Quảng cáo
void showmax(struct sinhvien st[], int biendem)
{
  float max = st[0].tongdiem;
  int index=0;
  if (biendem >= 2)
  {

    for (int j = 0; j < biendem-1; ++j)
    if (max < st[j+1].tongdiem) {
    max = st[j+1].tongdiem;
    index = j+1;

  }


}

 else if (biendem == 1)
 {
   index = 0;
   max = st[0].tongdiem;
 }


 else cout<<"Khong tim thay ban ghi nao!\n";

 if (index != -1) cout<<"Sinh vien co ID la "<<st[index].mssv<<" dat tong diem cao nhat la "<<max<<endl;


 }

void showmin(struct sinhvien st[], int biendem)
{

  float min = st[0].tongdiem;
  int index = 0;
  if (biendem >= 2)
   {
    for (int j = 0; j < biendem-1; ++j)
    if (min > st[j+1].tongdiem)
    {
      min = st[j+1].tongdiem;
      index = j+1;

    }


  }

  else if (biendem == 1)
  {
    index = 0;
    min = st[0].tongdiem;
   }
  else cout<<"Khong tim thay ban ghi nao!\n";

  if (index != -1) cout<<"Sinh vien voi ID la "<<st[index].mssv<<" co tong diem thap nhat la "<<min<<endl;



}


Bước 10: Tìm bản ghi trong danh sách

Định nghĩa hàm find(struct sinhvien st[], int biendem) để tìm bản ghi trong danh sách. Hàm này hỏi người dùng nhập id của sinh viên. Sau đó, kiểm tra id này xem có tồn tại hay không. Nếu tìm thấy bản ghi, thông tin liên quan tới sinh viên đó sẽ được hiển thị. Nếu không tìm thấy, hàm này sẽ thông báo "The record doesn't exist."

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

Quảng cáo
void find(struct sinhvien st[], int biendem)
{
  string id;
  cout<<"Nhap ID cua sinh vien: ";
  cin>>id;

  int index=search(st,id,biendem);
  if (index != -1) 
  { //Hien thi ban ghi da tim thay
    cout<<left<<setw(5)<<st[index].mssv<<setw(20)<<st[index].tensv<<setw(5)<<st[index].sex;
    cout<<setw(5)<<st[index].diemkt1<<setw(5)<<st[index].diemkt2<<setw(5)<<st[index].diemcc
<<setw(5)<<st[index].diemgk<<setw(5)<<st[index].diemck<<setw(5)
<<st[index].tongdiem;
   cout<<"\n"; 

}
  else cout<<"Ban ghi khong ton tai.";

 }

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