Người ta thường dùng cấu trúc đệ quy để chỉ các cấu trúc mà thành phần của nó lại có các pointer chỉ đến một biến cấu trúc cùng kiểu.
Ví dụ 6.16:
struct node {
int num ;
struct node *pNext ; };
Hoặc ta có thể có một cấu trúc như sau:
struct pnode
{ int key ;
struct pnode * left ;
struct pnode * right ;
};
97
Bài tập chương 6
1. Hãy khai báo một cấu trúc mô tả một điểm trên tọa độ xOy. Sau đó viết chương trình thực hiện các chức năng sau:
Nhập/xuất điểm
Kiểm tra điểm có nằm trên trục tung/trục hoành. Tạo danh sách chứa các điểm trong Oxy.
Nhập/xuất danh sách điểm. Thêm, xóa điểm trong danh sách. Tìm kiếm điểm trong danh sách điểm
2. Hãy khai báo một cấu trúc mô tả hình chữ nhật có các thông tin: điểm góc trên trái, chiều dài và chiều rộng. Sau đó viết chương trình thực hiện các chức năng sau:
Nhập/xuất thông tin 1 hình chữ nhật
Kiểm tra hình chữ nhật có phải hình vuông không? Tính chu vi, diện tích hình chữ nhật.
3. Hãy khai báo một cấu trúc mô tả hình tròn có các thông tin: điểm O làm tâm và bán kính r. Sau đó viết chương trình thực hiện các chức năng sau:
Nhập/xuất thông tin 1 hình tròn Tính chu vi, diện tích hình chữ nhật.
4. Hãy khai báo một cấu trúc mô tả phân số có các thông tin tử số và mẫu số. Sau đó viết chương trình thực hiện các chức năng sau:
nhập/ xuất phân số.
kiểm tra phân số mẫu phải khác 0. Tính cộng/trừ/nhân/chia 2 phân số. Tối giản phân số.
98
5. Một lớp học có tối đa 50 học sinh, mỗi học sinh được mô tả bằng các thông tin: mã số(int), họ và tên, phái, điểm học kỳ I, điểm học kỳ II. Hãy viết chương trình quản lý lớp học này với các thao tác sau:
Nhập danh sách lớp.
In ra danh sách lớp theo thứ tự mã số (gồm số thứ tự, họ và tên). In ra danh sách lớp theo thứ tự của họ và tên.
Tìm vị trí của một học sinh theo khi nhập họ và tên.
In ra danh sách các học sinh có điểm trung bình của năm học < 5.0 Thêm 1 học sinh vào danh sách
Xóa 1 học sinh trong danh sách.
6. Viết chương trình quản lý nhân sự cho một công ty, mỗi nhân viên trong công ty gồm các thông tin sau: mã số (không có hai người trùng mã số), họ, tên, ngày sinh, nơi sinh, địa chỉ, ngày công tác, lương. Viết chương trình quản lý nhân viên với các thao tác sau:
Thêm vào một nhân viên. Xem danh sách nhân viên. Tìm nhân viên theo mã số. Tìm một nhân viên theo tên.
In ra bảng lương của các nhân viên trong công ty theo thứ tự giảm dần.
CHƯƠNG 7. FILE DỮ LIỆU
7.1 Giới thiệu về file 7.1.1 Giới thiệu