Professional Documents
Culture Documents
Vủ Thái Học
Nguyễn Tiến Nghĩa
Lê Văn Hưng
T in học ngày nay đang được sử dụng rộng rãi trong văn phòng các cơ
quan và gia đình.Vì vậy mà các phần mềm tiện ích phát triển ngày
càng đa dạng và phong phú.
Không còn nữa những ngày mà người nhân viên quản lý cứ phải lật từng trang
giấy để tìm thông tin về một khách hàng.Họ phải làm việc đó rất vất vả,hoặc họ
phải ghi chép để chỉnh sửa vào một số thuê bao khi có sự thay đổi nào đó về
thông tin cá nhân của khách hàng của mình.Hơn nữa khả năng lưu trữ thông tin
về cá nhân khách hàng không được an toàn (vì trang giấy có thể bị nhèo hay bị
rách…).
Cho nên mọi công việc quản lý bằng sổ sách đều có thể đơn giản hoá bằng
các phần mềm quản lý.Thuê bao điện thoại cũng vậy ! Từ ý tưởng này chúng
tôi viết chương trình “quản lý thuê bao điện thoại” mô phỏng một số chức năng
cơ bản của một chương trình quản lý thuê bao điện thoại trong các công ty lớn.
exit
Liệt kê thuê bao hoạt động
Hiển thị thue bao hiện tại
(*)
(*)
Theo tên
Theo mã
Theo job
Theo SĐT
Theo xã
Theo huyên
Theo tỉnh
Biết mã
Biết SĐT
Về menu TK
Nguyễn Tiến Nghĩa: Làm phần tạo cơ sở dữ liệu + thêm vào danh bạ
Trong quá trình làm việc có sự trao đổi về phần việc của nhau, yêu cầu mọi
người đều phải làm thành modun,…
fwrite(p,sizeof(thongtin),tmp,them);
fclose (them);
return dauds;
}
}
puts("\n\t _______________________________!");
return p;
}
int ktra_makh(char makh[],dsmn *dauds);
• Chức năng:kiểm tra mã vừa nhập có trùng các mã có trong dữ liệu hay
không
int ktra_makh(char makh[],dsmn *dauds)
{
dsmn *p;
form(p,dauds)
if( !strcmp(p->ttin.makh, makh) ) return 0;
return 1;
}
• Chức năng:kiểm tra số điện thoại có trùng các số điện thoại có trong dữ
liệu hay không
int ktra_sodt(long int sodt,dsmn *dauds) // ktra sdt nhap vao co bi trung
hay ko ?
{
dsmn *p;
form(p,dauds)
if(p->ttin.sodt == sodt) return 0; // Da bi trung
return 1;
}
+Tìm kiếm:
-Hàm chính:
dstimkiem *tim_hten(dsmn *dauds) ;
• Chức năng: tìm kiếm các thuê bao có tên chủ thuê bao chứa xâu được
nhập vào từ bàn phím
• Ý tưởng:chuẩn hóa xâu nhập vào và tên của từng chủ thuê bao bằng
hàm “chuanhoa3(char s [] ) ;”(chuyển thành xâu chỉ bao gồm chữ thường) để
so sánh
danh sách trả về kiểu “dstimkiem” là một danh sách móc nối kiểu hàng đợi tự
động sắp xếp theo tên chủ thuê bao.
dstimkiem *tim_hten(dsmn *dauds) // TIM KIEM THEO HO TEN NHAP VAO
{
char hten[30];
dsmn *p;
dstimkiem *pdau;
pdau= NULL;
printf("\nnhap vao ten can tim:");
fflush(stdin);gets(hten);
form(p,dauds)
if(chuoi(p->ttin.tenkh,hten)!= NULL)
pdau = themnode(pdau,&p->ttin);
return pdau;
}
Sau khi tìm kiếm nếu kết quả trả về khác rỗng thì có thêm tùy chọn để có
thể thực hiện các chức năng:
-Chỉ đổi địa chỉ (sửa địa chỉ chung cho tất cả các thuê bao này) .
chuanhoa3(tg);
chuanhoa3(c);
return strstr(tg,c);
}
+Sửa xóa:
-Hàm chính:
void suaxoa1(dsmn *dauds,int x);
• Chức năng: sửa thông tin hoặc xóa thuê bao trong dsmn có mã hoặc số
thuê bao trùng mã hoặc số thuê bao được nhập vào từ tìm kiếm(phải nhập chính
xác nếu không quay về hàm tìm kiếm để xác định mã hoặc số thuê bao cần
xóa).
• Ý tưởng: sau khi nhập mã hoặc số thuê bao duyệt dsmn để tìm chủ thuê
bao sau đó sửa hoặc xóa
-Hàm hỗ trợ:
dsmn *sua1(dsmn *dauds,dsmn *p);
• Chức năng : sửa thông tin khách hàng tìm được trùng với mã vừa nhập
dsmn *sua1(dsmn *dauds,dsmn *p)
{
printf("SUA THONG TIN:");
*Trong chương trình còn có những hàm phụ thường được sử dụng trong các
hàm chính và hàm hỗ trợ cho hàm chính như:
void chuanhoa1(char *s);//dùng để chuẩn hóa tên “nguyen tIen NghiA ”->
”Nguyen Tien Nghia”
void chuanhoa2(char *s);// dùng để chuẩn hóa nghề " nhan viEn kINh doanh " ->
"Nhan vien kinh doanh"
void innode_chitiet(thongtin p);//in thông tin chi tiết của một khách hàng
Để có giao diện hài hòa hơn trong bài chúng tôi có sử dụng thêm 2 lệnh
trong DOS la “cls” và “color --” bằng cách sử dụng cấu trúc
system(“lệnh_trong_dos”);
Do toàn bộ chương trình được làm trên danh sách moc nối và hàng đợi.Do
đó khi thực hiện hàm tìm kiếm thì sẽ không đạt được hiệu quả như làm với dữ
liệu được lưu trên cây nhị phân.
Tình thực dụng của chương trình chưa cao.
The end