Chương trình quản lý sinh viên sử dụng struct trong lập trình C/C++Chương trình quản lý sinh viên sử dụng struct trong lập trình C/C++

Chương trình quản lý sinh viên là một bài tập khá phổ biến khi học lập trình. Tiếp tục chuyên mục giải bài tập với Struct trong C/C++ hôm nay chúng ta sẽ cùng làm lại bài tập này nhé.

DANH SÁCH BÀI VIẾT Đếm số lượng số chẵn lẻ trong mảng lập trình C/C++ Cộng trừ nhân chia hai phân số trong lập trình C sử dụng Struct Chương trình quản lý sinh viên sử dụng struct trong lập trình C/C++ Tính trung bình cộng số dương, số âm trong mảng lập trình C/C++ Bài tập Phân số lập trình OOP trong C/C++ – Lập trình hướng đối tượng

Chương trình quản lý sinh viên

Yêu cầu của bài toán

Cụ thể mình có thể phát biểu đề bài gồm có các ý như sau.

  1. Định nghĩa Struct Sinh viên bao gồm, tên sinh viên, quê quán, năm sinh, điểm toán, điểm lý, điểm hóa, điểm trung bình.
  2. Nhập vào n sinh viên gồm các thông tin tên sinh viên, quê quán, năm sinh, điểm toán, điểm lý, điểm hóa.
  3. Tính điểm trung bình toán, lý, hóa của các sinh viên.
  4. Xuất n sinh viên ra màn hình
  5. Tìm kiếm sinh viên theo tên nhập từ bàn phím.
  6. Sắp xếp sinh viên tên theo alpha B.
  7. Đếm số sinh viên có điểm trung bình là yếu, trung bình, khá và giỏi(Điểm trung bình: yếu < 5, 5<=tb < 6.5, 7 <= khá <= 7.9, giỏi >= 8)

Xây dựng chương trình

Đã có yêu cầu bài toán, bây giờ chúng ta hãy cùng viết chương trình Quản lý sinh viên.

Xây dựng Struct Sinh viên

Định nghĩa struc sinh viên như sau:

Vậy là ta đã định nghĩa xong struct Sinh viên, bây giờ ta cùng đi viết hàm nhập n sinh viên.

Xây dựng hàm nhập và tính điểm trung bình trong hàm nhập

Vậy đã có hàm nhập, ta viết hàm xuất ra n sinh viên nhé.

Xây dựng hàm xuất n sinh viên

Trong hàm printf %-15s, hay %-15d, dấu gạch 15(-15) có ý nghĩa là nó sẽ chiếm 1 khoảng vị trí gồm 15 ký tự. %-10.1f dấu (.1) có nghĩa là chỉ lấy 1 số sau dấu phẩy.

Hàm xuất n sinh viên cũn đã được viết xong.

Xây dựng hàm tìm kiếm sinh viên theo tên

Để tìm kiếm 1 sinh viên trong n sinh viên đã có, ta sẽ so sánh tên sinh viên đã nhập lần lượt với tất cả các sinh viên có trong dánh sách, sinh viên nào tên khớp thì ta đưa ra kết quả. Duyệt hết tất cả sinh viên mà không có sinh viên nào khớp tên thì không tìm thấy.

Để so sánh nhanh 2 chuỗi khớp nhau không ta có thể sử dụng 2 hàm có sẵn trong thư viên string.h là hàm strcmp, hàm này thì có phân biệt chữ hoa chữ thường. Hoặc ta sẽ dùng hàm stricmp, hàm này sẽ tối ưu hơn vì nó không phân biệt hoa thường, tức là bạn nhập tên là Kiet thì khi tìm kiếm kien nó vẫn sẽ cho ra kết quả.

Vậy ta có thể viết hàm tìm kiếm như sau:

Xây dựng hàm sắp xếp sinh viên

Xây dựng hàm sắp xếp sinh viên ta vẫn sẽ dùng cách sắp xếp đơn giản và phổ biến đối với những bạn mới học lập trình nhất sắp xếp tuần tự.

Xây dựng hàm đếm số sinh viên yếu, trung bình, khá, giỏi

Hàm main

Biến n và biến danh sách Sinh viên ta sẽ khai báo trong hàm main như bên dưới.

Chương trình hoàn chỉnh

Như vậy là ta đã xây dựng xong các hàm thành phần với tất cả các ý mà bài toán yêu cầu. Bây giờ việc đơn giản chỉ là ghép chúng lại thành một chương trình hoàn chỉnh và chạy chương trình.

Code chương trình

Và đây là kết quả khi ta chạy chương trình trên

Kết quả khi chạy chương trình

[XEM THÊM TẤT CẢ BÀI VIẾT CHỦ ĐỀ C/C++ TẠI ĐÂY]

XEM THÊM 1000 lượt truy cập website kiếm được bao nhiêu tiền từ Google Adsense Kiếm tiền Accesstrade, kiếm tiền tại nhà với Accesstrade.vn – Tiếp thị liên kết Bài toán tách tên người nhập môn lập trình C/C++ Tìm UCLN, BCNN của 3 số, 4 số…nhiều số và của một mảng

By Hà Phương

Với kinh nghiệm trên 7 năm trong lĩnh vực làm đẹp mình tạo nên EzBeauty là website chia sẻ kiến thức và thông tin cho mọi người!