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:

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 "<= 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 "<

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:

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<

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


bai_tap_struct_trong_cplusplus.jsp