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.
- Đị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.
- 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.
- Tính điểm trung bình toán, lý, hóa của các sinh viên.
- Xuất n sinh viên ra màn hình
- Tìm kiếm sinh viên theo tên nhập từ bàn phím.
- Sắp xếp sinh viên tên theo alpha B.
- Đế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
[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