NGÂN HÀNG CÂU HӒI THI VҨN ĐỄP Tên hӑc phҫn: NGÔN NGỮLҰP TRÌNH C++ Mã hӑc phҫn:INT1339 Ngành đào tҥo: CÔNG NGHӊ THỌNG TIN Trình đӝ đào tҥo: Đҥi hӑc chính quy 1. Ngân hàng câu h̉i thi : Đѭợc viết dѭới dạng các đềthi trọn vẹn trong đó yêu cầu sinh viên lập trình trực tiếp trên máy tính sửdụng các IDE phổbiến nhѭ Dev C++, Turbo C++ hoặc C Free. Sinh viên cũng sẽphải trảlời câu hỏi của giảng viên chấm thi liên quan đến mã nguồn chѭơng trình của mình sau kết thúc thời gian làm bài. Mỗi đềcó dạng một hệ thống hoàn chỉnh, gồm 5 câu nhỏ, mỗi câu 2 điểm (có hѭớng dẫn chấm thi kèm theo). Thời gian chung cho tất cả các đềlà 60 phút.
ḤC VỊN CÔNG NGḤ B U CH́NH VĨN THÔNG KHOA: CÔNG NGḤ THÔNG TIN NGÂN HÀNG CÂU H I THI V N ĐỄP Tên h c ph n: NGÔN NGỮ L P TRÌNH C++ Ngành đào t o: CÔNG NGH THỌNG TIN Mã h c ph n: INT1339 Trình đ đào t o: Đ i h c quy Ngân hàng câu h̉i thi : Đ ợc viết d ới dạng đề thi trọn vẹn yêu cầu sinh viên lập trình trực tiếp máy tính sử dụng IDE phổ biến nh Dev C++, Turbo C++ C Free Sinh viên phải trả lời câu hỏi giảng viên chấm thi liên quan đến mã nguồn ch ơng trình sau kết thúc thời gian làm Mỗi đề có dạng hệ thống hoàn chỉnh, gồm câu nhỏ, câu điểm (có h ớng dẫn chấm thi kèm theo) Thời gian chung cho tất đề 60 phút http://www.ptitvl.com Đ SỐ 1: QU N LÝ M ỢN SỄCH TH VI N Khai báo lớp Người (Họ tên, Địa chỉ, SDT) Khai báo lớp Bạn đọc kế thừa từ lớp Người có thêm (mã thẻ đọc, loại bạn đọc), mã bạn đọc số nguyên có chữ số, tự động tăng Loại bạn đọc sinh viên, học viên cao học giáo viên Khai báo lớp Sách gồm thuộc tính (mã sách, Tên sách, Tác giả, Chuyên ngành, Năm xuất bản) – Chuyên ngành là: Khoa học tự nhiên, Văn học – Nghệ thuật, Điện tử Viễn thông, Công nghệ thông tin Mã sách số nguyên có chữ số, tự động tăng Khai báo lớp Bảng QL Mượn sách b n lớp Bạn đọc lớp Sách bạn đọc đ ợc phép m ợn không đầu sách khác nhau, đầu sách không m ợn Ghi rõ tình trạng thời sách cho m ợn Viết ch ơng trình ngôn ngữ C++ thực yêu cầu sau: Nhập thêm đầu sách vào file SACH.DAT In danh sách đầu sách đư có file Nhập thêm bạn đọc vào file BD.DAT In danh sách bạn đọc đư có file Lập Bảng QL m ợn sách cho bạn đọc cách nhập đầu sách mà bạn đọc m ợn, l u vào file QLMS.DAT in danh sách hình (chú ý: loại bạn đọc với đầu sách xuất lần bảng này) Sắp xếp danh sách Quản lý m ợn sách đư l u QLMS.DAT a Theo tên bạn đọc b Theo Số l ợng sách đ ợc m ợn (giảm dần) Tìm kiếm hiển thị danh sách m ợn sách theo tên bạn đọc http://www.ptitvl.com Đ SỐ 2: QU N Lụ ĐĂNG Kụ H C THEO TÍN CH Khai báo lớp Người (Họ tên, Địa chỉ, Số ĐT) Khai báo lớp Sinh viên kế thừa từ lớp Người có thêm (mã sinh viên, lớp), mã sinh viên số nguyên có chữ số, tự động tăng Khai báo lớp Môn học gồm thuộc tính (mã môn học, Tên môn, Tổng số tiết, Loại môn học) – Loại môn học là: Đại c ơng, Cơ sở ngành, Chuyên ngành bắt buộc, Chuyên ngành tự chọn Mã môn học số nguyên có chữ số, tự động tăng Khai báo lớp Bảng Đăng ký b n lớp Sinh viên lớp Môn học sinh viên đ ợc phép đăng ký không môn học học kỳ Ghi rõ thời gian đăng ký sinh viên Viết ch ơng trình ngôn ngữ C++ thực yêu cầu sau: Nhập thêm môn học vào file MH.DAT In danh sách môn học đư có file Nhập thêm sinh viên vào file SV.DAT In danh sách sinh viên đư có file Lập Bảng Đăng ký cho sinh viên cách nhập môn học cho sinh viên thời gian đăng ký (lấy từ thời gian hệ thống), l u vào file QLDK.DAT in danh sách hình (chú ý: sinh viên với môn học xuất lần bảng này) Sắp xếp danh sách Bảng đăng ký đư l u QLDK.DAT a Theo tên sinh viên b Theo thời gian đăng ký Lập danh sách lớp học theo danh sách đăng ký Mỗi lớp không 30 sinh viên lấy theo thứ tự thời gian đăng ký http://www.ptitvl.com Đ SỐ 3: QU N LÝ BÁN HÀNG TRONG SIÊU TH Khai báo lớp Người (Họ tên, Địa chỉ, Số ĐT) Khai báo lớp Khách hàng kế thừa từ lớp Người có thêm (mã KH, loại KH), mã KH số nguyên có chữ số, tự động tăng Loại KH là: Mua lẻ Mua buôn Khai báo lớp Mặt hàng gồm thuộc tính (mã hàng, Tên hàng, Nhóm hàng, Giá bán) – Nhóm hàng là: Hàng thời trang, Hàng tiêu dùng, Hàng điện máy, Hàng gia dụng Mã hàng số nguyên có chữ số, tự động tăng Khai báo lớp Bảng Danh sách mua hàng b n lớp Khách hàng lớp Mặt hàng với khách hàng, nhập danh sách mặt hàng số l ợng mà khách hàng mua Giả sử khách hàng không mua 10 loại mặt hàng lần Viết ch ơng trình ngôn ngữ C++ thực yêu cầu sau: Nhập thêm mặt hàng vào file MH.DAT In danh sách mặt hàng đư có file Nhập thêm khách hàng vào file KH.DAT In danh sách khách hàng đư có file Lập Bảng danh sách mua hàng cho khách hàng, l u vào file QLBH.DAT in danh sách hình (chú ý: khách hàng với mặt hàng xuất lần bảng này) Sắp xếp danh sách Bảng danh sách mua hàng đư l u QLBH.DAT a Theo tên khách hàng b Theo tên mặt hàng Lập hóa đơn cho khách hàng http://www.ptitvl.com Đ SỐ 4: QU N LÝ BÁN HÀNG TRONG SIÊU TH ĐI N MÁY Khai báo lớp Người (Họ tên, Địa chỉ, Số ĐT) Khai báo lớp Nhân viên bán hàng kế thừa từ lớp Người có thêm (mã NV, ngày ký hợp đồng), mã NV số nguyên có chữ số, tự động tăng Khai báo lớp Mặt hàng kho gồm thuộc tính (mã hàng, Tên hàng, Nhóm hàng, Giá bán, Số lượng) – Nhóm hàng là: Điện tử, Điện lạnh, Máy tính, Thiết bị văn phòng Mã hàng số nguyên có chữ số, tự động tăng Khai báo lớp Bảng Danh sách bán hàng (trong ngày) b n lớp Nhân viên lớp Mặt hàng với nhân viên, nhập danh sách mặt hàng mà nhân viên đư bán đ ợc Giả sử nhân viên tham gia bán tối đa mặt hàng khác Viết ch ơng trình ngôn ngữ C++ thực yêu cầu sau: Nhập thêm mặt hàng vào file MH.DAT In danh sách mặt hàng đư có file Nhập thêm nhân viên vào file NV.DAT In danh sách nhân viên đư có file Lập Bảng danh sách bán hàng cho nhân viên, l u vào file QLBH.DAT in danh sách hình (chú ý: nhân viên với mặt hàng xuất lần bảng này) Sắp xếp danh sách Bảng danh sách bán hàng đư l u QLBH.DAT a Theo tên nhân viên b Theo nhóm mặt hàng Lập bảng kê doanh thu cho nhân viên http://www.ptitvl.com Đ SỐ 5: QU N LÝ NHÂN S Khai báo lớp Người (Họ tên, Địa chỉ, Số ĐT) Khai báo lớp Nhân viên kế thừa từ lớp Người có thêm thuộc tính (mã nhân viên, Bậc lương) – Bậc l ơng số nguyên từ đến Mã nhân viên số nguyên có chữ số, tự động tăng Khai báo lớp Phòng ban (mã phòng, tên phòng, mô tả, Hệ số công việc), mã phòng số nguyên có chữ số, tự động tăng Hệ số công việc số thực từ khoảng từ đến 20, cho biết mức đánh giá chung công việc thuộc phòng đảm nhiệm Khai báo lớp Bảng Danh sách chấm công (trong tháng) b n lớp Nhân viên Phòng ban, với nhân viên cho biết phòng ban t ơng ứng số ngày làm việc tháng Viết ch ơng trình ngôn ngữ C++ thực yêu cầu sau: Nhập thêm nhân viên vào file NV.DAT In danh sách nhân viên đư có file Nhập thêm phòng ban vào file PB.DAT In danh sách phòng ban đư có file Lập Bảng danh sách chấm công cho nhân viên, l u vào file QLNS.DAT in danh sách hình (chú ý: nhân viên làm việc hai phòng ban khác nhau) Sắp xếp danh sách Bảng danh sách phân công đư l u QLNS.DAT a Theo tên nhân viên b Theo phòng ban Lập bảng kê thu nhập cho nhân viên tháng Thu nhập = 850000*(2 + Bậc l ơng/3)*Hệ số công việc * (số ngày làm việc/22) http://www.ptitvl.com Đ SỐ 6: QU N LÝ D ÁN Khai báo lớp Người (Họ tên, Địa chỉ, Số ĐT) Khai báo lớp Nhân viên kế thừa từ lớp Người có thêm (mã NV, chuyên môn), mã NV số nguyên có chữ số, tự động tăng Khai báo lớp Dự án gồm thuộc tính (mã dự án, Tên dự án, Kiểu dự án, Tổng kinh phí) – kiểu dự án gồm: nhỏ, trung bình lớn Mã dự án số nguyên có chữ số, tự động tăng Khai báo lớp Bảng phân công b n lớp Nhân viên lớp D án nhân viên đ ợc gán cho nhiều dự án lúc với số ngày tham gia khác vị trí công việc khác Viết ch ơng trình ngôn ngữ C++ thực yêu cầu sau: Nhập thêm dự án vào file DA.DAT In danh sách dự án đư có file Nhập thêm nhân viên vào file NV.DAT In danh sách nhân viên đư có file Nhập danh sách phân công dự án cho nhân viên đư có file NV.DAT L u vào file PHANCONG.DAT in danh sách hình (chú ý: nhân viên tham gia dự án với hai vị trí khác tham gia lúc vào nhiều dự án) Sắp xếp danh sách phân công đư l u PHANCONG.DAT a Theo Họ tên nhân viên b Theo Số ngày tham gia (giảm dần) Tìm kiếm hiển thị danh sách phân công theo tên nhân viên http://www.ptitvl.com Đ SỐ 7: QU N LÝ TR L ƠNG CHO GI NG VIÊN TH NH GI NG Một tr ờng đại học trả l ơng cho giáo viên thỉnh giảng theo môn học giảng dạy Khai báo lớp Người (Họ tên, Địa chỉ, Số ĐT) Khai báo lớp Giảng viên kế thừa từ lớp Người có thêm (mã GV, trình độ), mã GV số nguyên có chữ số, tự động tăng Trình độ bao gồm: GS-TS, PGS-TS, Giảng viên chính, Th.S Khai báo lớp Môn học gồm thuộc tính (mã môn học, Tên môn, Tổng số tiết, Số tiết lý thuyết, mức kinh phí) – mức kinh phí mức trả cho tiết dạy lý thuyết, tiết thực hành đ ợc trả 70% tiết lý thuyết Mã môn học số nguyên có chữ số, tự động tăng Khai báo lớp Bảng Kê khai giảng dạy b n lớp Gi ng viên lớp Môn h c giảng viên khai báo giảng dạy môn lớp Chú ý: giảng viên dạy nhiều môn Số lớp cho môn số nguyên d ơng không lớn Tổng số tiết giảng dạy giảng viên không đ ợc lớn 200 Viết ch ơng trình ngôn ngữ C++ thực yêu cầu sau: Nhập thêm môn học vào file MB.DAT In danh sách môn học đư có file Nhập thêm giảng viên vào file GV.DAT In danh sách GV đư có file Lập Bảng kê khai giảng dạy cho giảng viên; l u vào file QLGV.DAT in danh sách hình Sắp xếp danh sách kê khai giảng dạy đư l u QLGV.DAT a Theo họ tên giảng viên b Theo số tiết giảng dạy môn (giảm dần) Tính toán lập bảng tính tiền công cho giảng viên http://www.ptitvl.com Đ SỐ 8: QU N LÝ PHÂN CHIA TI N TH NG CHO C U TH BịNG ĐỄ Sau giành chức vô địch, đội bóng đá tính tiền th ởng cho cầu thủ dựa vị trí thi đấu số trận đư đấu Khai báo lớp Người (Họ tên, Địa chỉ, Số ĐT) Khai báo lớp Cầu thủ kế thừa từ lớp Người bổ sung thuộc tính (mã cầu thủ, Mức lương) – mức l ơng giá trị đư ký theo hợp đồng Mã cầu thủ số nguyên có chữ số, tự động tăng Khai báo lớp Vị trí thi đấu (mã vị trí, Tên vị trí, mức thưởng), mã vị trí số nguyên có chữ số, tự động tăng Khai báo lớp Bảng phân công b n lớp C u th V trí thi đ u cầu thủ đ ợc gán cho nhiều vị trí lúc với số trận chơi vị trí Chú ý, cầu thủ không đ ợc chơi vị trí khác Viết ch ơng trình ngôn ngữ C++ thực yêu cầu sau: Nhập thêm cầu thủ vào file CT.DAT In danh sách cầu thủ đư có file Nhập thêm vị trí thi đấu vào file VITRI.DAT In danh sách vị trí đư có file Nhập danh sách phân công cho cầu thủ đư có file CT.DAT L u vào file PCCT.DAT in danh sách hình Sắp xếp danh sách phân công đư l u PCCT.DAT a Theo Họ tên cầu thủ b Theo Số trận chơi vị trí (giảm dần) Tính tổng tiền th ởng cầu thủ in hình (tổng tiền th ởng tiền th ởng theo vị trí tất trận đấu + 10% mức l ơng) http://www.ptitvl.com Đ SỐ 9: QU N LÝ PHÒNG KHÁCH S N Một khách sạn phân cấp phòng theo nhiều loại dựa thời gian thuê khách để lập hóa đơn tiền phòng Khai báo lớp Người (Họ tên, Địa chỉ, Số ĐT) Khai báo lớp Khách hàng kế thừa từ lớp Người có thêm (mã khách hàng, loại phòng cần thuê, số phòng cần thuê), mã khách hàng số nguyên có chữ số, tự động tăng Khai báo lớp Phòng gồm thuộc tính (mã kiểu phòng, Kiểu phòng, Mức tiền thuê, Số phòng) – với kiểu phòng là: phòng đơn, phòng đôi phòng VIP, mư phòng số nguyên có chữ số, tự động tăng Khai báo lớp Bảng xếp b n lớp Khách hàng lớp Phòng khách hàng đ ợc xếp loại phòng phù hợp (nếu thiếu đề nghị loại phòng khác) với số l ợng phòng loại số ngày thuê Viết ch ơng trình ngôn ngữ C++ thực yêu cầu sau: Nhập thêm Phòng vào file PH.DAT In danh sách phòng đư có file Nhập thêm Khách hàng vào file KH.DAT In danh sách KH đư có file Nhập danh sách xếp phòng cho khách hàng đư có fie KH.DAT; l u vào file BANGSX.DAT in danh sách hình Chú ý kiểm tra số phòng lại kiểu Sắp xếp danh sách đư l u BANGSX.DAT a Theo loại phòng b Theo số phòng cần thuê Tính toán lập hóa đơn cho khách hàng 10 http://www.ptitvl.com Đ SỐ 16: QU N Lụ ĐI M SINH VIÊN Khai báo lớp Người (Họ tên, Địa chỉ, Số ĐT) Khai báo lớp Sinh viên kế thừa từ lớp Ng ời bổ sung (mã SV, Lớp) Trong mư sinh viên số nguyên có chữ số, tự động tăng Lớp đ ợc chọn từ danh sách lớp theo cách đặt tên HV CN BCVT Khai báo lớp Môn học (mã môn, tên môn, số đvht, loại môn) Trong đó, mư môn số nguyên có chữ số, tự động tăng Loại môn học Đại c ơng, Cơ sở ngành, Chuyên ngành Khai báo lớp Bảng điểm b n lớp Sinh viên lớp Môn h c sinh viên có điểm cho môn học (0[...]... quá một lần trong bảng này) 4 Sắp xếp danh sách hóa đơn đư l u trong HOADON.DAT a Theo Họ tên khách hàng b Theo Số l ợng sử dụng (giảm dần) 5 Lập bảng kê số tiền phải trả cho mỗi khách hàng L u ý: Ngôn ngữ lập trình C++ là môn học thi thực hành tại phòng máy, đề thi do trực tiếp Giảng viên giảng dạy ra nên có thể không giống ngân hàng đề trên, Ngân hàng đề trên đ ợc các GV Đỗ Thị Bích Ngọc, Phan Thị... kiệm là b n của lớp Khách hàng và lớp Ngân hàng trong đó một khách hàng có thể lập một hoặc nhiều số tiết kiệm với một hoặc nhiều ngân hàng Viết ch ơng trình trong ngôn ngữ C++ thực hiện các yêu cầu sau: 1 Nhập thêm khách hàng vào file KH.DAT In ra danh sách khách hàng đư có trong file 2 Nhập thêm ngân hàng vào file NGANHANG.DAT In ra danh sách ngân hàng đư có trong file 3 Nhập danh sách Sổ tiết kiệm... Giả sử mỗi công nhân chỉ đ ợc tham gia sản xuất tối đa 5 loại sản phẩm khác nhau Viết ch ơng trình trong ngôn ngữ C++ thực hiện các yêu cầu sau: 1 Nhập thêm công nhân vào file CN.DAT In ra danh sách công nhân đư có trong file 2 Nhập thêm sản phẩm vào file SP.DAT In ra danh sách sản phẩm đư có trong file 3 Lập Bảng tính công cho công nhân bằng cách nhập các loại sản phẩm mà mỗi công nhân đư có trong... biết số lớp có thể giảng dạy Tổng số lớp của tất cả các môn không v ợt quá 6 Viết ch ơng trình trong ngôn ngữ C++ thực hiện các yêu cầu sau: 1 Nhập thêm môn học mới vào file MH.DAT In ra danh sách các môn học đư có trong file 2 Nhập thêm giảng viên vào file GV.DAT In ra danh sách giảng viên đư có trong file 3 Lập Bảng Đăng ký cho từng giảng viên bằng cách nhập các môn học đăng ký của mỗi giảng viên,... nhập danh sách các mặt hàng và số l ợng mà nhân viên đó đư bán ra trong ngày Viết ch ơng trình trong ngôn ngữ C++ thực hiện các yêu cầu sau: 1 Nhập thêm mặt hàng mới vào file MH.DAT In ra danh sách các mặt hàng đư có trong file 2 Nhập thêm nhân viên bán hàng vào file NV.DAT In ra danh sách nhân viên đư có trong file 3 Lập Bảng danh sách bán hàng cho từng nhân viên, l u vào file QLBH.DAT và in danh sách... Điện tử, Điện lạnh, Máy tính, Thi t bị văn phòng Mư hàng là một số nguyên có 4 chữ số, tự động tăng Khai báo lớp Bảng kê bán hàng (trong một ngày) là b n của lớp Khách hàng và lớp Mặt hàng trong đó với mỗi khách hàng, nhập danh sách các mặt hàng mà khách hàng đó đư mua số l ợng t ơng ứng Giả sử mỗi mặt hàng không đ ợc mua quá 5 đơn vị Viết ch ơng trình trong ngôn ngữ C++ thực hiện các yêu cầu sau:... sản xuất nhiều lần trong tháng nh ng tổng số ngày làm việc không v ợt quá 30 Viết ch ơng trình trong ngôn ngữ C++ thực hiện các yêu cầu sau: 1 Nhập thêm công nhân mới vào file CN.DAT In ra danh sách các công nhân đư có trong file 2 Nhập thêm x ởng sản xuất vào file XSX.DAT In ra danh sách x ởng đư có trong file 3 Lập Bảng danh sách chấm công cho từng công nhân, l u vào file QLCN.DAT và in danh sách ra... nhau Tổng số giờ làm của một cộng tác viên trong tháng không đ ợc lớn hơn 240 Viết ch ơng trình trong ngôn ngữ C++ thực hiện các yêu cầu sau: 1 Nhập thêm loại công việc vào file CV.DAT In ra danh sách loại công việc đư có trong file 2 Nhập thêm cộng tác viên vào file CTV.DAT In ra danh sách CTV đư có trong file 3 Lập Bảng tính công cho mỗi cộng tác viên; l u vào file QLCTV.DAT và in danh sách ra màn... nhau) Giả sử mỗi phóng viên chỉ đ ợc tham gia viết tối đa 5 kiểu bài khác nhau Viết ch ơng trình trong ngôn ngữ C++ thực hiện các yêu cầu sau: 1 Nhập thêm phóng viên vào file PV.DAT In ra danh sách phóng viên đư có trong file 2 Nhập thêm kiểu bài viết vào file KB.DAT In ra danh sách kiểu bài đư có trong file 3 Lập Bảng tính công cho phóng viên bằng cách nhập các kiểu bài mà mỗi phóng viên đư có trong... 5 chữ số, tự động tăng Khai báo lớp Điện thoại (mã sp, hãng sản xuất, model, đơn giá), mã sản phẩm là một số nguyên có 5 chữ số, tự động tăng Khai báo lớp Hóa đơn là b n của lớp Khách hàng và lớp Đi n tho i trong đó một khách hàng có thể chọn mua một hoặc nhiều điện thoại với số l ợng khác nhau Viết ch ơng trình trong ngôn ngữ C++ thực hiện các yêu cầu sau: 1 Nhập thêm Khách hàng vào file KH.DAT In