Đề thi giữa kỳ 20181 môn C Programming Introduction – ICT | Môn C Programming Introduction – ICT| Trường Đại học Bách Khoa Hà Nội

Quản lý lớp hợc. Trường Đại học Bách khoa Hà Nội cần xây dựng chương trình quản lý các lớp hợc. Thông tin lớp học gồm các trường sau:
- ClassID: Mã lớp (kiểu số nguyên dương);
- CourseName: Tên học phầ (kiểu xâu ký tự với độ dài không quá 30);
- Room: Phòng học (kiểu xâu ký tự với độ dài không quá 10, ví dụ D3-301, TC-210, D5-101,...);
- Day: Ngày học trong tuần (kiểu số nguyên nhận giá trị từ 2 đến 7);
- Slots: Tiết học (kiểu xâu ký tự với độ dài không quá 10 theo khuôn dạng TIẾT_BẮT_ĐẦU-TIẾT_KẾT_THÚC, ví dụ 1-4, 7-10, 10-12 ...).
Hãy viết chương trình quản lý lớp học bằng menu chương trình chứa các chức năng lần lượt được đánh số như dưới đây. Yêu cầu sau khi thực hiện xong mọi chức năng 1,2,3,4,5 thì

Thi gian 90 phút Được s dng tài liu
(Sao chép bài thi s b đim 0 dưới mi hình thc)
Qun lý lp hc. Trường Đại hc Bách khoa Hà Ni cn xây dựng chương trình
qun lý các lp hc. Thông tin lp hc gồm các trường sau:
- ClassID: Mã lp (kiu s nguyên dương);
- CourseName: Tên hc ph (kiu xâu ký t vi độ dài không quá 30);
- Room: Phòng hc (kiu xâu ký t vi độ dài không quá 10, ví d D3-301, TC-210, D5-
101,...);
- Day: Ngày hc trong tun (kiu s nguyên nhn giá tr t 2 đến 7);
- Slots: Tiết hc (kiu xâu ký t vi độ dài không quá 10 theo khuôn dng
TIT_BẮT_ĐẦU-TIT_KT_THÚC, ví d 1-4, 7-10, 10-12 ...).
Hãy viết chương trình quản lp hc bng menu chương trình cha các chức năng ln
ợt được đánh số như dưới đây. Yêu cầu sau khi thc hin xong mi chc năng 1,2,3,4,5 thì
chương trình quay trở v menu chính để cho phép chn thc hin tiếp chc năng khác ().
1. B sung lp hc (3.5đ): Chương trình yêu cu nhp s lp hc cn b sung N1. Nếu
trước đó đã tng nhp thông tin các lp hc thì chương trình cho phép nhp thêm thông tin
N lp hc tiếp theo vào danh sách qun lý. Lưu ý cn đảm bo tng s ng lp hc không
t quá 200. vy khi nhp b sung N tng s lp hc lớn hơn 200 thì cn thông báo
nhp li N.
Yêu cu phi kim tra tính hp l khi nhp d liu (thiếu yêu cu nào s b tr đim yêu cu
đó):
Mi ln nhp b sung ít nht 1 lp hc, tc là N 1; và tng s lp hc trong
danh sách qun lý phi không vượt quá 200 (0.5đ);
Ngày hc phi nm trong khong [2..7] (0.5đ);
Tiết hc phi đúng theo khuôn dng TIT_BẮT_ĐẦU-TIT_KT_THÚC. Tiết bt
đầu và tiết kết thúc phi nm trong khong [1..12], tiết bt đầu phi sớm hơn tiết kết
thúc (0.5đ).
2. In thông tin các lp hc (1đ): Chương trình in ra màn hình danh sách toàn bộ các
lp hc i dng bng theo khuôn dng d như sau:
Ma lop
Ten mon hoc
Ten phong
Thu
Tiet hc
90105
Tin hoc dai cuong
D3-101
2
1-4
90302
Dai so tuyen tinh
D5-201
5
7-10
89124
Triet hoc
D3-101
5
7-8
91203
Tri tue nhan tao
D3-101
2
3-6
3. Tìm kiếm theo phòng (1.5đ): Chương trình yêu cu nhp tên phòng. Kim tra nếu
phòng đó tn ti thì in ra thông tin các lp hc ti phòng đó.
Ví d 1:
Nhp tên phòng: D3-601
Kết qu: Không tn ti phòng D3-601 trong danh sách
Ví d 2:
Nhp tên phòng: D3-101
1
Kết qu:
S lp hc: 3
Thông tin các lp hc:
Ma lop
Ten mon hoc
Ten phong
Thu
Tiet hoc
90105
Tin hoc dai cuong
D3-101
2
1-4
89124
Triet hoc
D3-101
5
7-8
91203
Tri tue nhan tao
D3-101
2
3-6
4. Sp xếp (1đ): Sp xếp các lp hc theo mã lp tăng dần và in ra danh sách các lp
hc sau khi đã sắp xếp theo khuôn dng như phần 2.
5. Kim tra trùng phòng (1đ): Hai lp hc b xem là trùng phòng nếu ít nht mt tiết
chung cùng mt ngày ti cùng một phòng. Chương trình yêu cu đưa ra danh sách
các mã lp hc b trùng phòng vi ít nht mt lp hc khác trong danh sách.
Ví d:
90105
91203
Gii thích: Hai lp 90105 và 91203 b trùng tiết 3-4 ti phòng D3-101.
6. Thoát chương trình.
*********************************** HT ***********************************
GI Ý:
Các bn dùng hàm int atoi (const char * str) trong thư viện stdlib.h để chuyn mtt xâu
ký t thành s nguyên.
| 1/3

Preview text:

Thời gian 90 phút – Được sử dụng tài liệu
(Sao chép bài thi sẽ bị điểm 0 dưới mọi hình thức)
Quản lý lớp hợc. Trường Đại học Bách khoa Hà Nội cần xây dựng chương trình
quản lý các lớp hợc. Thông tin lớp học gồm các trường sau:
- ClassID: Mã lớp (kiểu số nguyên dương);
- CourseName: Tên học phầ (kiểu xâu ký tự với độ dài không quá 30);
- Room: Phòng học (kiểu xâu ký tự với độ dài không quá 10, ví dụ D3-301, TC-210, D5- 101,...);
- Day: Ngày học trong tuần (kiểu số nguyên nhận giá trị từ 2 đến 7);
- Slots: Tiết học (kiểu xâu ký tự với độ dài không quá 10 theo khuôn dạng
TIẾT_BẮT_ĐẦU-TIẾT_KẾT_THÚC, ví dụ 1-4, 7-10, 10-12 ...).
Hãy viết chương trình quản lý lớp học bằng menu chương trình chứa các chức năng lần
lượt được đánh số như dưới đây. Yêu cầu sau khi thực hiện xong mọi chức năng 1,2,3,4,5 thì
chương trình quay trở về menu chính để cho phép chọn thực hiện tiếp chức năng khác ().
1. Bổ sung lớp học (3.5đ): Chương trình yêu cầu nhập số lớp học cần bổ sung N1. Nếu
trước đó đã từng nhập thông tin các lớp học thì chương trình cho phép nhập thêm thông tin
N lớp học tiếp theo vào danh sách quản lý. Lưu ý cần đảm bảo tổng số lượng lớp học không
vượt quá 200. Vì vậy khi nhập bổ sung N mà tổng số lớp học lớn hơn 200 thì cần thông báo nhập lại N.
Yêu cầu phải kiểm tra tính hợp lệ khi nhập dữ liệu (thiếu yêu cầu nào sẽ bị trừ điểm yêu cầu đó):
Mỗi lần nhập bổ sung ít nhất 1 lớp học, tức là N≥ 1; và tổng số lớp học trong
danh sách quản lý phải không vượt quá 200 (0.5đ);
Ngày học phải nằm trong khoảng [2..7] (0.5đ);
Tiết học phải đúng theo khuôn dạng TIẾT_BẮT_ĐẦU-TIẾT_KẾT_THÚC. Tiết bắt
đầu và tiết kết thúc phải nằm trong khoảng [1..12], tiết bắt đầu phải sớm hơn tiết kết thúc (0.5đ).
2. In thông tin các lớp học (1đ): Chương trình in ra màn hình danh sách toàn bộ các
lớp học dưới dạng bảng theo khuôn dạng ví dụ như sau: Ma lop Ten mon hoc Ten phong Thu Tiet học 90105 Tin hoc dai cuong D3-101 2 1-4 90302 Dai so tuyen tinh D5-201 5 7-10 89124 Triet hoc D3-101 5 7-8 91203 Tri tue nhan tao D3-101 2 3-6
3. Tìm kiếm theo phòng (1.5đ): Chương trình yêu cầu nhập tên phòng. Kiểm tra nếu
phòng đó tồn tại thì in ra thông tin các lớp học tại phòng đó. Ví dụ 1:
Nhập tên phòng: D3-601
Kết quả: Không tồn tại phòng D3-601 trong danh sách Ví dụ 2:
Nhập tên phòng: D3-101 1 Kết quả: Số lớp học: 3 Thông tin các lớp học: Ma lop Ten mon hoc Ten phong Thu Tiet hoc 90105 Tin hoc dai cuong D3-101 2 1-4 89124 Triet hoc D3-101 5 7-8 91203 Tri tue nhan tao D3-101 2 3-6
4. Sắp xếp (1đ): Sắp xếp các lớp học theo mã lớp tăng dần và in ra danh sách các lớp
học sau khi đã sắp xếp theo khuôn dạng như phần 2.
5. Kiểm tra trùng phòng (1đ): Hai lớp học bị xem là trùng phòng nếu có ít nhất một tiết
chung cùng một ngày tại cùng một phòng. Chương trình yêu cầu đưa ra danh sách
các mã lớp học bị trùng phòng với ít nhất một lớp học khác trong danh sách. Ví dụ: 90105 91203
Giải thích: Hai lớp 90105 và 91203 bị trùng tiết 3-4 tại phòng D3-101.
6. Thoát chương trình.
*********************************** HẾT *********************************** GỢI Ý:
Các bạn dùng hàm int atoi (const char * str) trong thư viện stdlib.h để chuyển mộtt xâu ký tự thành số nguyên.