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:

Quảng cáo
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

Quảng cáo

Đị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 "<<avg;
}

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