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



Bước 7: Cập nhật bản ghi

Định nghĩa phương thức update(struct sinhvien st[], int biendem) để cập nhật một bản ghi cụ thể. Tiến trình cập nhật bắt đầu với việc hỏi người dùng để nhập id của bản ghi cần thay đổi. Giá trị id này được kiểm tra xem nó có tồn tại hay không. Nếu tồn tại, việc thay đổi diễn ra sau khi hỏi người dùng nhập giá trị mới vào các trường cần thay đổi.

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

void capnhat_banghi(struct sinhvien st[],int biendem){
  string id;
  int column_index;
  cout<<"Nhap ID cua sinh vien: ";
  cin>>id;
  cout<<"Ban muon cap nhat truong nao (1-7) ?: ";
  cin>>column_index;  int index = search(st, id,biendem);  if (index != -1)
   {
    if (column_index == 1)
     {
      cout<<"Nhap ten sinh vien: ";      cin>>st[index].tensv;
     }  else if (column_index == 2)
   {
    cout<<"Nhap gioi tinh (F hoac M): ";
    cin>>st[index].sex;
    }
  else if (column_index == 3)
   {
   cout<<"Nhap diem kiem tra 1: ";
   cin>>st[index].diemkt1;
  }
  else if (column_index == 4)
  {
   cout<<"Nhap diem kiem tra 2: ";
   cin>>st[index].diemkt2;
 }
  else if (column_index == 5)
   {
     cout<<"Nhap diem chuyen can: ";
     cin>>st[index].diemcc;
     }
  else if (column_index == 6)
   {
    cout<<"Nhap diem thi giua ky: ";
    cin>>st[index].diemgk;
}
  else if (column_index == 7)
   {
    cout<<"Nhap diem thi cuoi ky: ";
    cin>>st[index].diemck;
   }
  else cout<<"Gia tri chi muc khong hop le";  st[index].tongdiem = st[index].diemkt1 + st[index].diemkt2 + st[index].diemcc + st[index].diemgk + st[index].diemck;
  }
  else cout<<"Ban ghi khong ton tai. Kiem tra ID va thu lai.";
}

Bước 8: Tính điểm trung bình

Định nghĩa phương thức average(sinhvien[] st, int biendem) để tính điểm trung bình của sinh viên đã chọn. Phương thức này cũng hỏi người dùng nhập id của sinh viên cần tính. ID này được kiểm tra xem có tồn tại hay không. Điểm trung bình được tính đơn giản bằng việc cộng các điểm và sau đó chia cho 5.

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

void average(struct sinhvien st[], int biendem)
{
  string id;
  float avg=0;
  cout<<"Nhap ID cua sinh vien:";
  cin>>id;
  int index = search(st, id,biendem);
  if (index != -1 && biendem>0)
  {
   st[index].tongdiem = st[index].diemkt1 + st[index].diemkt2 + st[index].diemcc + st[index].diemgk + st[index].diemck;
   avg = st[index].tongdiem /5;
  }cout<<"Diem trung binh la "<

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


bai_tap_struct_trong_cplusplus.jsp