📄 checkout.bak
字号:
#include<stdio.h>
#include<conio.h>
#include<string.h>
void chkout()
{
FILE *cin,*fdptr,*exptr,*chkout,*temp,*uproom;
CUST c,t;
FOOD fd;
EXPENSE ex;
ROOM rm;
fpos_t pos;
char number[10];
float f=0.0,l=0.0,tr=0.0,total=0.0;
int ndays=10;
cin=fopen("c:\\hotel\\database\\checkin.dat","rb");
fdptr=fopen("c:\\hotel\\database\\food.dat","rb");
exptr=fopen("c:\\hotel\\database\\Expense.dat","rb");
uproom=fopen("c:\\hotel\\database\\roomdet.dat","rb+");
chkout=fopen("c:\\hotel\\database\\checkout.dat","ab+");
clrscr();
panel();
statusbar("Record View of Customer ");
gotoxy(6,6);
printf("Enter the Customer ID :-> ");
scanf("%s",number);
while((fread(&c,sizeof(c),1,cin))==1)
{
if(strcmpi(c.cid,number)==0)
{
while(fread(&fd,sizeof(fd),1,fdptr)==1)
{
if(strcmpi(fd.cid,number)==0)
f=f+fd.bfast+fd.lunch+fd.dinner+fd.misc;
}
while(fread(&ex,sizeof(ex),1,exptr)==1)
{
if(strcmpi(ex.cid,number)==0)
{
tr=tr+ex.tchrg;
l=l+ex.lchrg;
}
}
total=l+f+tr;
gotoxy(6,6);
textcolor(YELLOW);
cprintf("Customer ID : %-10s ",c.cid);
// printf("%10s",c.cid);
gotoxy(6,8);
cprintf("Name : ");
printf("%s",c.name);
gotoxy(6,10);
cprintf("Address : ");
printf("%s",c.addr);
gotoxy(6,12);
cprintf("Room No. : ");
printf("%d",c.rno);
gotoxy(6,14);
cprintf("Room Type : ");
printf("%s",c.rtype);
gotoxy(6,16);
cprintf("Phone No. : ");
printf("%s",c.ph);
gotoxy(6,18);
cprintf("Check In Date : ");
printf("%d/%d/%d",c.cin.da_day,c.cin.da_mon,c.cin.da_year);
gotoxy(6,20);
getdate(&c.cout);
cprintf("Check Out Date: ");
printf("%d/%d/%d",c.cout.da_day,c.cout.da_mon,c.cout.da_year);
gotoxy(40,6);
cprintf("Advance Paid amount :: ");
printf("%.2f",c.adv);
gotoxy(40,8);
cprintf("Total Food Charge :: ");
printf("%.2f",f);
gotoxy(40,10);
cprintf("Total Laundry Charge:: ");
printf("%.2f",l);
gotoxy(40,12);
cprintf("Total Travel Charge :: ");
printf("%.2f",tr);
gotoxy(40,14);
cprintf("Total Room Rent :: ");
printf("%.2f",ndays*100);
gotoxy(40,14);
total=c.adv-total-(ndays*100);
if(total<0)
printf("Amount To be Paid :-> %.2f",total*-1);
else
printf("Amount To be Returned:-> %.2f",total);
while(fread(&rm,sizeof(rm),1,uproom)==1)
{
if(rm.no==c.rno)
break;
}
rm.status=0;
fgetpos(uproom,&pos);
pos=pos-sizeof(rm);
fsetpos(uproom,&pos);
fwrite(&rm,sizeof(rm),1,uproom);
statusbar("Check Out ");
getch();
fclose(uproom);
fclose(cin);
fclose(fdptr);
fclose(exptr);
fwrite(&c,sizeof(c),1,chkout);
fclose(chkout);
///////////////////////////////////
cin=fopen("c:\\hotel\\database\\checkin.dat","rb");
fdptr=fopen("c:\\hotel\\database\\food.dat","rb");
exptr=fopen("c:\\hotel\\database\\Expense.dat","rb");
temp=fopen("c:\\hotel\\database\\temp.dat","wb");
while(fread(&t,sizeof(t),1,cin)==1)
{
if(strcmpi(c.cid,t.cid)==0)
continue;
fwrite(&t,sizeof(t),1,temp);
}
fclose(cin);
remove("c:\\hotel\\database\\checkin.dat");
fclose(temp);
rename("c:\\hotel\\database\\temp.dat","c:\\hotel\\database\\checkin.dat");
temp=fopen("c:\\hotel\\database\\temp.dat","wb");
while(fread(&fd,sizeof(fd),1,fdptr)==1)
{
if(strcmpi(c.cid,fd.cid)==0)
continue;
fwrite(&fd,sizeof(fd),1,temp);
}
fclose(fdptr);
remove("c:\\hotel\\database\\food.dat");
fclose(temp);
rename("c:\\hotel\\database\\temp.dat","c:\\hotel\\database\\food.dat");
while(fread(&ex,sizeof(ex),1,exptr)==1)
{
if(strcmpi(c.cid,ex.cid)==0)
continue;
fwrite(&ex,sizeof(ex),1,temp);
}
fclose(exptr);
remove("c:\\hotel\\database\\expense.dat");
fclose(temp);
rename("c:\\hotel\\database\\temp.dat","c:\\hotel\\database\\expense.dat");
/////////////////////////////////////
return;
}
}
statusbar(" Record Not Found . . . ");
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -