01/10/2018, 09:10

Cần giúp về lập trình C

Có n thí sinh mỗi thí sinh là 1 bản ghi: Họ tên,Điểm,Trường(Có m trường tham gia)
Viết hàm tính tổng điểm của 1 trường.
VD:Danh sách thí sinh:
Thí sinh 1: Họ va tên: A Điểm: 6 Trường:B
Thí sinh 2: Họ va tên:G Điểm: 8 Trường:A
Thí sinh 3: Họ va tên:B Điểm: 6 Trường:B
Thí sinh 4: Họ va tên: H Điểm: 9 Trường:C
Thì sẽ có kết quả là;
Trường:A Tđiểm:8; Trường:B Tđiểm:12; Trường:C Tđiểm:9;
Mọi người chỉ giúp mình thuật toán bài trên với.

Phạm Tiến Thành Đạt viết 11:22 ngày 01/10/2018

Đưa vào struc, sau đó lọc ra Trường rồi cộng điểm lại thôi.

Black viết 11:16 ngày 01/10/2018

Anh có thể hướng dẫn em lọc được không em làm mãi với cái hàm strcmp mà không được.

Nguyễn Lê Nam Anh viết 11:24 ngày 01/10/2018

Dùng struct.

Vd:

Struct Truong
{ 
   char tentruong[30];
   char tenTS[30]; 
   float diem;
} 

Trong hàm viết

Nếu “Truong.tentruong = …” thì tính điểm, lưu vào biến. Xong in ra

James viết 11:15 ngày 01/10/2018

tạo m biến lưu điểm tổng của m trường.
for (all phần tử của danh sách)
{

  • đọc “tên trường”, “điểm” của phần tử đang xét
  • switch(tên trường)
    +case “trường A”:
    biến điểm trường A += “điểm”
    break;
  • case “trường M”:

}

in ra thôi

Black viết 11:17 ngày 01/10/2018

Mình không biết tên trường mà bạn.
Chương trình phải cho phép người dùng nhập vào n học sinh thuộc m trường bất kì rồi chương trình sẽ in ra tổng điểm của từng trường.

rogp10 viết 11:19 ngày 01/10/2018

Làm như DBMS sort phát rồi múc từ trên xuống.

Nếu ko muốn sort thì dùng tree hay hash.

Nguyễn Lê Nam Anh viết 11:26 ngày 01/10/2018

Thì như mình nói, cứ dùng vòng lặp, nếu cứ đúng với trường A, thì cộng dồn điểm, lưu vào biến hay vào mảng gì cũng dc cả. Tương tự với các trường còn lại.

Bài liên quan
0