Chương 9 : TẬP TIN
5. Các stream chuẩn
Khi một chương trình thực thi, ba stream được mở tự động. Đó là stdin (standard input), stdout (standard output), và stderr (standard
error). stdin dùng để đọc từ bàn phím, stdout và stderr dùng để viết đến màn hình.
Bởi vì standard streams là các con trỏ file nên có thể dùng các hàm nhập xuất trên chúng.
BÀI TẬP CHƯƠNG 9
Viết hàm tạo một tập chứa 10000 số nguyên ngẫu nhiên khác nhau đôi một trong phạm vi từ 1 đến 32767 đặt tên là “SONGUYEN.INP”
1) Viết hàm đọc tập “SONGUYEN.INP”, sau đó sắp xếp theo thứ tự tăng dần và lưu kết quả vào tập “SONGUYEN.OUT”
2) Viết hàm tạo tập văn bản có tên là “INPUT.TXT” có cấu trúc như sau
o Dòng đầu tiên ghi N (N là số nguyên dương nhập từ bàn phím)
o Trong các dòng tiếp theo ghi N số nguyên ngẫu nhiên trong phạm vi từ 0 đến 100, mỗi dòng 10 số (các số cách nhau ít nhất
một dấu cách)
o Hãy đọc dữ liệu của file “INPUT.TXT” và lưu vào mảng một chiều A
Hãy thực hiện các công việc sau :
a) Tìm giá trị lớn lớn nhất của mảng A
b) Đếm số lượng số chẳn, số lượng số lẽ của mảng A c) Hãy sắp xếp các phần tử theo thứ tự tăng dần
Hãy ghi các kết quả trên vào filetext có tên là “OUTPUT.TXT” theo mẫu sau:
4) Viết hàm tạo tập văn bản có tên là “INPUT.TXT” có cấu trúc như sau
- Dòng đầu tiên ghi hai số M và N (M,N là các số nguyên dương nhập từ bàn phím) OUTPUT.TXT Cau a: 99 cau b: 9 9 cau c: 1 4 4 19 20 29 34 38 39 40 43 58 65 78 87 89 98 99 INPUT.TXT 18 87 39 78 19 89 4 40 98 29 65 20 43 1 99 38 34 58 4
- Trong M dòng tiếp theo mỗi dòng ghi N số nguyên ngẫu nhiên trong phạm vi từ 0 đến 50 (các số cách nhau ít nhất một dấu cách)
Hãy đọc dữ liệu của tập “INPUT.TXT” và lưu vào mảng hai chiều A. Hãy thực hiện các công việc sau:
a) Tìm giá trị lớn lớn nhất của mảng A
b) Đếm số lượng số chẳn, số lượng số lẽ của mảng A c) Hãy tính tổng các phần tử trên mỗi dịng của mảng A Hãy ghi các kết quả trên vào tập tin văn bản có tên là “OUTPUT.TXT” theo như mẫu trong ví dụ sau
INPUT.TXT OUTPUT.TXT
5) Viết hàm đọc một file “SONGUYEN.INP” được tạo ở bài tập 1. Sau đó ghi các số chẵn vào file SOCHAN.OUT và các số lẻ vào file SOLE.OUT.
6) Viết một hàm gộp nội dung của hai tập tin có sẵn vào một tập tin thứ ba. Tên các tập tin được nhập vào từ bàn phím.
7) Viết một hàm tìm kiếm trên tập nhị phân có cấu trúc employee gồm tên và tuổi. Hiển thị kết quả là tất cả các thông tin về các nhân viên được tìm thấy khi cho biết :
a) Tên nhân viên
b) Có tuổi cao hơn một giá trị X nào đó.
8. Viết chương trình xây dựng và quản lý danh sách sinh viên của một lớp. Thành phần dữ liệu một sinh viên gồm:
+Mã sinh viên (int)
6 6 41 17 33 23 12 1 44 24 23 49 5 24 33 20 17 25 33 19 0 48 45 48 41 32 10 24 36 19 19 24 30 4 23 26 27 36 Cau a: 49 Cau b: 17 19 Cau c: 127 169 147 214 132 146
+Họ tên sinh viên (string) +Lớp (string)
+Điểm Toán (float) +Điểm Lý (float) +Điểm Hóa (float)
Hiển thị menu thực hiện các chức năng sau (mỗi chức năng thực hiện bằng hàm, có đánh số).
• 1.Hiển thị tồn bộ danh sách
• 2.Tìm một sinh viên theo mã sinh viên (nhập vào)
• 3.Thêm một sinh viên vào cuối danh sách. Đảm bảo khơng có 2 sinh viên nào trùng mã.
• 4.Xóa một sinh viên khỏi danh sách từ mã sinh viên (nhập vào) • 5.Nhập một lớp. Hiển thị danh sách sinh viên thuộc về lớp đó • 6.Tính tổng số sinh viên có điểm tốn >=5
• 7.Hiển thị tồn bộ danh sách sinh viên chứa tên nhập vào (Ví dụ: nhập tên cần tìm là Khuong, hiển thị toàn bộ sinh viên chứa tên Khuong)
• 8.Hiển thị danh sách sinh viên yếu (có điểm trung bình <=4) • 9.Hiển thị danh sách sinh viên giỏi (có điểm trung bình >=8 và khơng có mơn học nào <=6)
• 10.Sắp xếp danh sách tăng dần theo mã sinh viên • 11.Sắp xếp danh sách tăng dần theo điểm trung bình
• 12.Sắp xếp danh sách tăng dần theo từng lớp, trong mỗi lớp tăng dần theo điểm trung bình
• 13.Sắp xếp danh sách tăng dần theo từng lớp, trong mỗi lớp giảm dần theo điểm trung bình
• 14.Sắp xếp danh sách tăng dần theo điểm tốn, rồi đến điểm lý, rồi đến điểm hóa.
• 15.Nhập một lớp. Hủy tồn bộ các sinh viên thuộc về lớp đó. • 16.Hủy tất cả sinh viên có học lực kém (điểm trung bình <=3). • 17.Hủy tịan bộ danh sách
• 18.Lưu trữ danh sách sinh viên này vào file