Đề tài thảo luận về khách sạn :tạo file thêm ,tìm tên khách hàng, thống kê phòng dùng dev c++ 5.3.4 hoạc phần mền cơ sở lập trinh khác cũng được include include include include FILE f; struct khachhang { char hoten30, diachi30; int songay, sophong; float tien; }kh100; int i=0; void loadFile() { char str30; f=fopen(D:\text.txt,r); for(;;i++) ......
Trang 1Đề tài thảo luận về khách sạn :tạo file thêm ,tìm tên khách hàng, thống kê phòng
Trang 4#include<conio.h>
#include<string.h>
#include <stdlib.h>
FILE *f;
struct khachhang
{
char hoten[30],
diachi[30]; int songay,
sophong;
float tien;
}kh[100];
int i=0;
void loadFile()
{
char str[30];
f=fopen("D:\\text.txt","r"); for(;;i++)
Trang 5if(fgets(str,30,f)==NULL) break;
str[strlen(str)-1]=0;
strcpy(kh[i].hoten,str);
fgets(str,30,f); str[strlen(str)-1]=0;
strcpy(kh[i].diachi,str);
fgets(str,30,f); str[strlen(str)-1]=0;
kh[i].sophong=atoi(str);
fgets(str,30,f); str[strlen(str)-1]=0;
kh[i].songay=atoi(str);
fgets(str,30,f); str[strlen(str)-1]=0;
kh[i].tien=atof(str);
}
}
void ghiFile(int j)
{
f=fopen("D:\\text.txt","a+");
for(;j<i;j++)
{
fprintf(f,kh[j].hoten); fprintf(f,"\n");
fprintf(f,kh[j].diachi); fprintf(f,"\n");
fprintf(f,"%d",kh[j].sophong); fprintf(f,"\n"); fprintf(f,"%d",kh[j].songay); fprintf(f,"\n"); fprintf(f,"%f",kh[j].tien); fprintf(f,"\n");
Trang 6}
void them(int n)
{
int moc=i;
printf(" NHAP THONG TIN KHACH HANG \n"); for(;i<(moc+n);i++)
{
printf("\tKhach hang thu %d",i+1);
printf("\nHo ten: ");
fflush(stdin);
gets(kh[i].hoten);
printf("Dia chi: ");
gets(kh[i].diachi);
printf("So phong: ");
scanf("%d",&kh[i].sophong);
printf("So ngay o: ");
scanf("%d",&kh[i].songay);
printf("So tien: ");
scanf("%f",&kh[i].tien);
}
ghiFile(moc);
}
void hienThi(khachhang kh)
Trang 7printf("| %-23s|",kh.hoten);
printf(" %-16s|", kh.diachi);
printf(" %-8d|", kh.songay);
printf(" %-9.2f|\n",kh.tien);
}
void timTen()
{
char tenkh[30];
int j,d=0;
printf("\nNhap ten khach hang: ");
fflush(stdin);
gets(tenkh);
printf("+ -+ -+ -+ -+\n");
printf("| Ho ten | dia chi | so ngay | so tien |\n");
printf("+ -+ -+ -+ -+\n");
for(j=0;j<i;j++)
{
if(strcmp(kh[j].hoten,tenkh)==0) {
hienThi(kh[j]);
printf("+ -+ -+ -+ -+\n"); d++;
}
Trang 8if(d==0) printf("\nKhach hang %s khong dat phong nao.\n",tenkh); getch();
}
void thongkephong()
{
int j,k,dem;
float tien;
khachhang tg;
for(j=0;j<i-1;j++)
for(k=j+1;k<i;k++)
{
if(kh[j].sophong>kh[k].sophong) {
tg=kh[j];
kh[j]=kh[k];
kh[k]=tg;
} }
j=0; k=0;
printf("\n+ -+ -+ -+\n");
printf("| so phong | tong khach | tong tien |\n");
printf("+ -+ -+ -+\n");
while(j<i)
Trang 9tien=kh[j].tien; dem=1;
k++;
while(kh[k].sophong==kh[j].sophong) {
tien+=kh[k].tien;
dem++;
k++;
} printf("| %-9d| %-11d| %-11.2f|\n",kh[j].sophong,dem,tien); printf("+ -+ -+ -+\n");
j=k;
}
getch();
}
char select()
{
char kt;
printf("\n1: Nhap thong tin khach hang.");
printf("\n2: Tim theo ten nguoi dat phong");
printf("\n3: Thong ke theo phong");
printf("\n4: Thoat");
printf("\n\nChon chuc nang(1-3): ");
do
Trang 10kt=getch();
}while(kt< '1' || kt> '4');
return kt;
}
int main()
{
int n=0;
char chon;
loadFile();
do
{
chon=select();
switch(chon) {
case '1' : {
printf("\nNhap so khach hang: "); scanf("%d",&n);
them(n);
break;
} case '2': timTen(); break;
case '3': thongkephong(); break;
Trang 11} }while(chon!='4'); }