06-08-2012، 10:23 PM
(آخرین تغییر در ارسال: 06-08-2012، 10:25 PM توسط Amin_Mansouri.)
سورس زیر که مدربوط به مدیریت حسابداری هتل میباشد که به زبان سی پلاس پلاس نوشته شده است.
سورس کد:
سورس کد:
کد:
#include <dos.h>
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <graphics.h>
#define NUM 5
#define PH 8
#define MPH 12
#define MIN 30
#define MAX 61
#define DAY 3
void box(int,int,int,int);
void main1();
void add(); // Ask user for input.
void about();
void view(); // Diplay all the record one by one.
void bill();
void viewall(); // Diplay all the record.
void searchname(); // Search for a record.
void searchid(); // Search for a record.
void c_id();
void c_name(); // Changes the name in a record.
void c_add(); // Changes the address in a record.
void c_days(); // Changes the connection type in a record.
void del(); // Deletes a record.
int date(void); // This fucntion is for displaying System Date.
void check_id(char *,int); //Checks for the length and validity of Member ID
void check_name(char *,int); //Checks for the length and validity of Name
void check_add(char *,int); //Checks for the length and validity of Address
void check_days(char *,int); //Checks for the CONNECTION TYPE
void check_phone(char *,int); //Checks for the length and validity of Phone Number
void check_mphone(char *,int); //Checks for the length and validity of Mobile Number
int duplicate(char idno[]); //Checks for the Duplication of the Member ID
int passprotec();
void empty();
struct customer
{
char id[NUM]; /* ID of Length 4 integers*/
char name[MIN]; /* Name of Length 30 characters*/
char fname[MIN]; /* Father's Name 30 characters*/
char address[MAX]; /* Address of Length 61 alphanumeric*/
char phone[PH]; /* Phone Number of Length 8 integers*/
char mphone[MPH]; /* Mobile Number of Length 12 integers*/
char days[DAY]; /* Blood Group */
int day; /* It is used to display the day of length 2*/
int month; /* It is used to display the month of length 2*/
int year; /* it is used to display the year*/
}rec;
//---------------------------Main-------------------------------------------
main()
{
passprotec();
return 0;
}
int passprotec()
{
// clrscr();
char ch,pws[50],cpass[50],fname[50];
int i,j,pcnt,k,ccnt;
FILE *fp;
// setbkcolor(BLACK);
clrscr();
strcpy(fname,"pass.dll");
fp=fopen(fname,"r");
if(fp == NULL)
{
printf("\n\nfile dose not found.");
//textattr(128+7);
printf("\nPlease any key to exit");
getch();
exit(1);
}
i=0;
ccnt=0;
while( (ch=fgetc(fp)) != EOF)
{
pws[i]=ch;
++i;
ccnt++;
}
// gotoxy(35,10);
// printf("HOTEL MANAGMENT SYSTEM");
// gotoxy(35,13);
printf("\n\n\n\n\n\n\t\t\tEnter Your Password:");
i=0;
pcnt=0;
// textcolor(RED);
while((ch=getch()) != 13)
{
// textcolor(6);
cprintf("*");
cpass[i]=ch;
i++;
pcnt++;
}
printf("\n");
if(ccnt==pcnt)
{
for(i=0;i<ccnt;i++)
{
if(pws[i]==cpass[i])
{
k=0;
}
else
{
k=1;
}
}
if(k==0)
{
// textattr(128 + 10);
// cprintf("\n\nPassword is Right Access is Granted !!!");
fclose(fp);
main1();
}
else
{
//textattr(128 + 4);
printf("\n\n\n\t\t\tPassword is Invalid.!!!");
getch();
passprotec();
}
}
else
{
//textattr(128 + 4);
printf("\n\n\n\t\t\tPassword is Invalid.!!!");
getch();
passprotec();
}
getch();
return 0;
}
void main1()
{
int ch;
int gdriver = DETECT, gmode, errorcode;
clrscr();
initgraph(&gdriver, &gmode, "c:\\turboc3\\bgi");
// setcolor(GREEN);
settextstyle(GOTHIC_FONT,HORIZ_DIR,5);
// settextstyle(7,0,3);
// setcolor(GREEN);
outtextxy(60,10," Hotel Management System");
// closegraph();
box(8,7,72,22);
delay(500);
gotoxy(10,8);
printf("1. Enter New Record");
delay(500);
gotoxy(45,8);
printf("8. Change Name");
delay(500);
gotoxy(10,10);
printf("2. View Record One-By-One");
delay(500);
gotoxy(45,10);
printf("9. Change Address");
delay(500);
gotoxy(10,12);
printf("3. View All Record");
delay(500);
gotoxy(45,12);
printf("10. Change Number of days");
delay(500);
gotoxy(10,14);
printf("4. Search By Room Number");
delay(500);
gotoxy(45,14);
printf("11. Delete a Record");
delay(500);
gotoxy(10,16);
printf("5. Search By Name");
delay(500);
gotoxy(45,16);
printf("12. About Author");
delay(500);
gotoxy(10,18);
printf("6. Bill");
delay(500);
gotoxy(45,18);
printf("13.EXIT");
delay(500);
gotoxy(10,20);
printf("7. Change Room Number");
// delay(1000);
// gotoxy(45,20);
// printf("14.Log Out");
delay(500);
box(8,23,72,25);
delay(500);
a:
gotoxy(10,24);
delay(500);
printf("Enter Your Choice [1-13] ");
scanf("%d",&ch);
switch(ch)
{
case 1:
{
closegraph();
add();
break;
}
case 2:
{
closegraph();
view();
break;
}
case 3:
{
closegraph();
viewall();
break;
}
case 4:
{
closegraph();
searchid();
break;
}
case 5:
{
closegraph();
searchname();
break;
}
case 6:
{
closegraph();
bill();
break;
}
case 7:
{
closegraph();
c_id();
break;
}
case 8:
{
closegraph();
c_name();
break;
}
case 9:
{
closegraph();
c_add();
break;
}
case 10:
{
closegraph();
c_days();
break;
}
case 11:
{
closegraph();
del();
break;
}
case 12:
{
closegraph();
about();
break;
}
case 13:
{
abort();
}
default:
{
gotoxy(26,24);
printf("<<--ENTER FROM 1-13 PLEASE-->>"); //This message will only print on INVALID ENTRY and Will ask again for input.
}
}
}
void add()
{
FILE *fp;
char ch;
char temp[NUM];
if(fp!=NULL)
{
do{
fp=fopen("hotel.rec","ab");
clrscr();
box(5,2,75,15);
gotoxy(25,2);
printf(" ++ Adding records to database ++ ");
do{
gotoxy(8,5);
printf("Enter Member ID: ");
check_id(temp, NUM);
}
while(duplicate(temp)); //This Condition Will keep on executng till a non duplicate ID is entered.
strcpy(rec.id, temp); //After verifying, ID in 'temp' will copy to 'rec.id'
gotoxy(8,6);
printf("Enter Name : ");
check_name(rec.name,MIN); //It will verify that no neumerical input is given & the name input should not exceed the length limit
gotoxy(8,7);
printf("Enter Father's Name : ");
check_name(rec.fname,MIN); //It will verify that no neumerical input is given & the name input should not exceed the length limit
gotoxy(8,8);
printf("Enter Address : ");
check_add(rec.address,MAX); //It will verify that only alpha neumeric input is entered & should not exceed the length limit
gotoxy(8,9);
printf("Enter Phone Number : ");
check_phone(rec.phone,PH); //It will verify phone number of a particular length
gotoxy(8,10);
printf("Enter Mobile Number : ");
check_mphone(rec.mphone,MPH); //It will verify mobile number of a particular length
gotoxy(8,11);
printf("Enter Number of Days to stay : ");
check_days(rec.days, DAY); //It will allow user to enter the blood group no other character than A B and O +/- could be entred
{
struct date d;
getdate(&d);
gotoxy(8,12);
printf("Date of Membership : %d-%d-%d ",d.da_day,d.da_mon,d.da_year);
rec.day = d.da_day;
rec.month = d.da_mon;
rec.year = d.da_year;
}
window(1,1,80,25);
gotoxy(1,12);
fwrite(&rec, sizeof(rec), 1, fp); //Record will be written to file.
fclose(fp);
gotoxy(18,24);
printf("Do you want to enter another record [Y]/[N]: ");
ch=toupper(getche());
}while(ch =='Y'); //Repeat loop while user inputs 'Y'
}
else
{
gotoxy(18,24);
printf("+++ Error opening file +++");
}
clrscr();
main1();
}
void view()
{
FILE *fp;
fp=fopen("hotel.rec","rb");
if(fp!=NULL)
{
clrscr();
while( fread(&rec, sizeof(rec), 1, fp))
if(strcmp(rec.id," ")!=0)
{
/*Calling all the records saved in the database*/
clrscr();
box(5,2,75,15);
gotoxy(20,2);
printf(" ++ Viewing records from the database ++ ");
gotoxy(8,5);
printf(" Member ID : %s",rec.id);
gotoxy(8,6);
printf(" Name : %s",rec.name);
gotoxy(8,7);
printf(" Father's Name : %s",rec.fname);
gotoxy(8,8);
printf(" Address: %s",rec.address);
gotoxy(8,9);
printf(" Phone Number: %s",rec.phone);
gotoxy(8,10);
printf(" Mobile Number: %s",rec.mphone);
gotoxy(8,11);
printf(" Total Number of Days : %s",rec.days);
gotoxy(8,12);
printf(" Date of Reservation : %d-%d-%d",rec.day,rec.month,rec.year);
getch();
}
if(strcmp(rec.id," ")==NULL)
{
clrscr();
gotoxy(17,13);
sound(500);delay(200);nosound();
printf("+++ Record not found in the database +++");
getch();
}
fclose(fp);
}
else
{
gotoxy(20,24);
printf("+++ Error opening file +++");
}
clrscr();
main1();
}
void searchname()
{
char ch;
FILE *fp;
char name[MIN];
clrscr();
fp=fopen("hotel.rec","rb");
gotoxy(20,13);
printf("Please enter the members name : ");
check_name(name,MIN);
while ( fread(&rec, sizeof(rec), 1, fp) && strcmp(name,rec.name) );
ch=strcmp(name,rec.name);
if(ch!=0)
{
clrscr();
sound(500);delay(200);nosound();
gotoxy(28,13);
printf(" +++ Record Not Found +++ ");
getch();
}
else
{
clrscr();
box(5,2,75,15);
gotoxy(28,2);
printf(" ++ Search Results ++ ");
gotoxy(8,5);
printf(" Member ID: %s",rec.id);
gotoxy(8,6);
printf(" Name : %s",rec.name);
gotoxy(8,7);
printf(" Fathers Name : %s",rec.fname);
gotoxy(8,8);
printf(" Address : %s",rec.address);
gotoxy(8,9);
printf(" Phone Number : %s",rec.phone);
gotoxy(8,10);
printf(" Mobile Number : %s",rec.mphone);
gotoxy(8,11);
printf(" Total Numbers of Days : %s",rec.days);
gotoxy(8,12);
printf(" Date of Reservation : %d-%d-%d",rec.day,rec.month,rec.year);
getch();
}
fclose(fp);
clrscr();
main1();
}
void searchid()
{
int ch;
FILE *fp;
char sno[NUM];
clrscr();
fp=fopen("hotel.rec","rb");
gotoxy(20,13);
printf("Please enter the member ID : ");
check_id(sno,NUM);
while ( fread(&rec, sizeof(rec), 1, fp) && strcmp(sno,rec.id) );
ch=strcmp(sno,rec.id);
if(ch!=0)
{
clrscr();
sound(500);delay(200);nosound();
gotoxy(28,13);
printf(" +++ Record Not Found +++ ");
getch();
}
else
{
clrscr();
box(5,2,75,15);
gotoxy(28,2);
printf(" ++ Search Results ++ ");
gotoxy(8,5);
printf(" Member ID : %s",rec.id);
gotoxy(8,6);
printf(" Name : %s",rec.name);
gotoxy(8,7);
printf(" Father's Name : %s",rec.fname);
gotoxy(8,8);
printf(" Address : %s",rec.address);
gotoxy(8,9);
printf(" Phone Number : %s",rec.phone);
gotoxy(8,10);
printf(" Mobile Number : %s",rec.mphone);
gotoxy(8,11);
printf(" Number of Days : %s",rec.days);
gotoxy(8,12);
printf(" Date of Reservation : %d-%d-%d",rec.day,rec.month,rec.year);
getch();
}
fclose(fp);
clrscr();
main1();
}
void c_name()
{
int ch;
FILE *fp;
char sno[NUM];
clrscr();
fp=fopen("hotel.rec","rb+");
gotoxy(20,13);
printf("Please enter the Member ID : ");
check_id(sno,NUM);
while ( fread(&rec, sizeof(rec), 1, fp) && strcmp(sno,rec.id) );
ch=strcmp(sno,rec.id);
if(ch!=0)
{
clrscr();
sound(500);delay(200);nosound();
gotoxy(28,13);
printf(" +++ Record Not Found +++ ");
getch();
}
else
{
clrscr();
box(5,2,75,15);
gotoxy(28,2);
printf(" ++ Search Results ++ ");
gotoxy(8,5);
printf(" Member ID : %s",rec.id);
gotoxy(8,6);
printf(" Name : %s",rec.name); // This will print the old name already stored.
gotoxy(8,10);
printf(" New Name : "); // This will allow the user to change the old name and input a new name.
check_name(rec.name,MIN); // The check will validate each character entered turn by turn.
fseek(fp, ftell(fp) - sizeof(rec),0);
fwrite(&rec, sizeof(rec), 1, fp); //The new name will be added to the database.
gotoxy(28,24);
printf(" +++ Database Updated +++ ");
getch();
}
fclose(fp);
clrscr();
main1();
}
void c_add()
{
int ch;
FILE *fp;
char sno[NUM];
clrscr();
fp=fopen("hotel.rec","rb+");
gotoxy(20,13);
printf("Please enter member ID : ");
check_id(sno,NUM);
while ( fread(&rec, sizeof(rec), 1, fp) && strcmp(sno,rec.id) );
ch=strcmp(sno,rec.id); // Here the result after comparing the values of the two strings by using the 'strcmp' function is assigned to 'ch'.
if(ch!=0) // This loop will execute if the Member's ID dont compare.
{
clrscr();
sound(500);delay(200);nosound();
gotoxy(28,13);
printf(" +++ Record Not Found +++ ");
getch();
}
else // If the Member's ID match, then this block will be executed.
{
clrscr();
box(5,2,75,15);
gotoxy(28,2);
printf(" ++ Search Results ++ ");
gotoxy(8,5);
printf(" Member ID: %s",rec.id);
gotoxy(8,6);
printf(" Name : %s",rec.name);
gotoxy(8,7);
printf(" Address : %s",rec.address);
gotoxy(8,10);
printf(" Enter New Address : ");
check_add(rec.address,MAX);
fseek(fp, ftell(fp) - sizeof(rec),0); //fseek sets the file pointer associated with a stream to a new position.
fwrite(&rec, sizeof(rec), 1, fp); //fwrite appends a specified number of equal-sized data items to an output file.
gotoxy(28,24);
printf(" +++ Database Updated +++ ");
getch();
}
fclose(fp);
clrscr();
main1();
}
void c_days()
{
int ch;
FILE *fp;
char sno[NUM];
clrscr();
fp=fopen("hotel.rec","rb+");
gotoxy(20,13);
printf("Please enter member ID : ");
check_id(sno,NUM);
while ( fread(&rec, sizeof(rec), 1, fp) && strcmp(sno,rec.id) );
ch=strcmp(sno,rec.id);
if(ch!=0)
{
clrscr();
sound(500);delay(200);nosound();
gotoxy(28,13);
printf(" +++ Record Not Found +++ ");
getch();
}
else
{
clrscr();
box(5,2,75,15);
gotoxy(28,2);
printf(" ++ Search Results ++ ");
gotoxy(8,5);
printf(" Member ID : %s",rec.id);
gotoxy(8,6);
printf(" Name : %s",rec.name);
gotoxy(8,7);
printf(" Number of Days : %s",rec.days); //Old Blood Group is displayed
gotoxy(8,10);
printf(" Enter New Number of days : "); //New Blood Group is asked for Input.
check_days(rec.days, DAY); //This check checks that only A B O +/- are entred.
fseek(fp, ftell(fp) - sizeof(rec),0);
fwrite(&rec, sizeof(rec), 1, fp);
window(1,1,80,25);
gotoxy(1,12);
gotoxy(28,24);
printf(" +++ Database Updated +++ ");
getch();
}
fclose(fp);
clrscr();
main1();
}
void del()
{
int ch;
FILE *fp;
char sno[NUM];
clrscr();
fp=fopen("hotel.rec","rb+");
gotoxy(20,13);
printf("Please enter member ID : ");
check_id(sno,NUM);
while ( fread(&rec, sizeof(rec), 1, fp) && strcmp(sno,rec.id) );
ch=strcmp(sno,rec.id);
if(ch!=0)
{
clrscr();
sound(500);delay(200);nosound();
gotoxy(28,13);
printf(" +++ Record Not Found +++ ");
getch();
}
else //Here the saved record is displayed.
{
clrscr();
box(5,2,75,15);
gotoxy(28,2);
printf(" ++ Search Results ++ ");
gotoxy(8,5);
printf(" Member ID: %s",rec.id);
gotoxy(8,6);
printf(" Name : %s",rec.name);
gotoxy(8,7);
printf(" Father's Name : %s",rec.fname);
gotoxy(8,8);
printf(" Address : %s",rec.address);
gotoxy(8,9);
printf(" Phone Number: %s",rec.phone);
gotoxy(8,10);
printf(" Mobile Number: %s",rec.mphone);
gotoxy(8,11);
printf(" Number of Days : %s",rec.days);
gotoxy(8,12);
printf(" Date of Reservatiion : %d-%d-%d",rec.day,rec.month,rec.year);
gotoxy(23,24);
printf("Do You Want To Delete this Record [Y/N] ");
ch=toupper(getche());
if (ch=='Y')
{
empty(); //this is a Function which will erase the record in memory & NOT physically.
fseek(fp, ftell(fp) - sizeof(rec), 0);
fwrite(&rec, sizeof(rec), 1, fp);
clrscr();
sound(500);delay(200);nosound();
gotoxy(28,24);
printf(" +++ Record Deleted +++ ");
getch();
}
}
fclose(fp);
clrscr();
main1();
}
void check_id(char *p, int size)
{
int i=0;
char ch;
do
{
ch=getch();
if( (ch>='0' && ch<='9') && (i<size-1) )
{
*p=ch; //The value is assigned to the pointer.
p++; //Pointer is incremented.
i++; //Length counter is incremented.
printf("%c",ch); //Validated character is printed.
}
else //This block of commands controls backspace.
if(ch==8 && i>0)
{
printf("%c%c%c",8,32,8);
i--; //Length counter is decremented.
p--; //Pointer is decremented.
}
}while(ch!=13 || i<size-1);//this loop will continue till the total given length is reached or 'ENTER' is pressed.
*p='\0';
}
void check_phone(char *ph, int size)
{
int p=0;
char s[20],ch;
do
{
ch=getch();
if( ((ch>='0' && ch<='9')||(ch=='-')) && (p<size-1) )
{
*ph=ch;
ph++;
p++;
printf("%c",ch);
}
else
if( (ch==8)&&(p>0) )
{
printf("%c%c%c",8,32,8);
p--;
ph--;
}
}while(ch!=13 || p<size-1);
s[p]='\0';
*ph='\0';
}
void check_mphone(char *ph, int size)
{
int p=0;
char s[20],ch;
do
{
ch=getch();
if( ((ch>='0' && ch<='9')||(ch=='-')) && (p<size-1) )
{
*ph=ch;
ph++;
p++;
printf("%c",ch);
}
else
if( (ch==8)&&(p>0) )
{
printf("%c%c%c",8,32,8);
p--;
ph--;
}
}while(ch!=13 || p<size-1);
s[p]='\0';
*ph='\0';
}
void check_name(char *p, int size)
{
int j=0;
char x[40],cj;
do
{
cj=toupper(getch());
if(((cj>='a' && cj<='z')||(cj>='A' && cj<='Z')||(cj==' ')) && (j<size-1))
{
*p++=cj;
j++;
printf("%c",cj);
}
else
if(cj==8 && j>0)
{
printf("%c%c%c",8,32,8);
j--; p--;
}
}while(cj!=13);
x[j]='\0';
*p='\0';
}
void check_add(char *p, int size)
{
int l=0;
char a[50],ad;
do
{
ad=toupper(getch());
if(((ad>='a' && ad<='z')||(ad>='A' && ad<='Z')||(ad==' ')||(ad=='-')||(ad==',')||(ad=='/')||(ad=='.')||(ad>='0' && ad<='9')) && (l<size-1))
{
*p++=ad;
l++;
printf("%c",ad);
}
else
if( (ad==8)&&(l>0) )
{
printf("%c%c%c",8,32,8);
l--; p--;
}
}while(ad!=13);
a[l]='\0'; *p='\0';
}
void check_days(char *p, int size)
{
int i=0;
char ch;
do
{
ch=getch();
if( (ch>='0' && ch<='9') && (i<size-1) )
{
*p=ch; //The value is assigned to the pointer.
p++; //Pointer is incremented.
i++; //Length counter is incremented.
printf("%c",ch); //Validated character is printed.
}
else //This block of commands controls backspace.
if(ch==8 && i>0)
{
printf("%c%c%c",8,32,8);
i--; //Length counter is decremented.
p--; //Pointer is decremented.
}
}while(ch!=13 || i<size-1);//this loop will continue till the total given length is reached or 'ENTER' is pressed.
*p='\0';
}
int duplicate(char idno[])
{
FILE *fp;
fp=fopen("hotel.rec","rb");
while(fread(&rec, sizeof(rec), 1, fp) && strcmp(rec.id, idno));
fclose(fp);
if(strcmp(rec.id, idno)==0)
return 1;
else
return 0;
}
void viewall()
{
FILE *pt;
int x=6;
pt = fopen("hotel.rec", "rb");
clrscr();
box(3,2,79,25);
gotoxy(25,2);
printf(" ++ All records of database ++ ");
gotoxy(6,4);
printf("Room No. Name Phone No. Mobile No. No. Of Days");
while ((fread(&rec,sizeof(rec),1,pt)==1))
{
if(x==21)
{
gotoxy(6,23);
printf("Press any key to continue...");
getch();
clrscr();
box(3,2,79,25);
gotoxy(25,2);
printf(" ++ All records of database ++ ");
gotoxy(6,4);
printf("Room No. Name Phone No. Mobile No. No. Of Days");
x=6;
}
else
{
gotoxy(6,x);
printf("%s",rec.id);
gotoxy(14,x);
printf("%s",rec.name);
gotoxy(46,x);
printf("%s",rec.phone);
gotoxy(56,x);
printf("%s",rec.mphone);
gotoxy(71,x);
printf("%s",rec.days);
x++;
}
}
fclose(pt);
getch();
main1();
}
void empty()
{
strcpy(rec.id," ");
strcpy(rec.name," ");
strcpy(rec.fname," ");
strcpy(rec.address," ");
strcpy(rec.phone," ");
strcpy(rec.mphone," ");
strcpy(rec.days," ");
rec.day=0;
rec.month=0;
rec.year=0;
}
void c_id()
{
int ch;
FILE *fp;
char sno[NUM];
clrscr();
fp=fopen("hotel.rec","rb+");
gotoxy(20,13);
printf("Please enter member ID : ");
check_id(sno,NUM);
while ( fread(&rec, sizeof(rec), 1, fp) && strcmp(sno,rec.id) );
ch=strcmp(sno,rec.id);
if(ch!=0)
{
clrscr();
sound(500);delay(200);nosound();
gotoxy(28,13);
printf(" +++ Record Not Found +++ ");
getch();
}
else
{
clrscr();
box(5,2,75,15);
gotoxy(28,2);
printf(" ++ Search Results ++ ");
gotoxy(8,5);
printf(" Member ID : %s",rec.id);
gotoxy(8,6);
printf(" Name : %s",rec.name);
gotoxy(8,10);
printf(" Enter New Room Number : "); //New Blood Group is asked for Input.
check_id(rec.id, NUM); //This check checks that only A B O +/- are entred.
fseek(fp, ftell(fp) - sizeof(rec),0);
fwrite(&rec, sizeof(rec), 1, fp);
window(1,1,80,25);
gotoxy(1,12);
gotoxy(28,24);
printf(" +++ Database Updated +++ ");
getch();
}
fclose(fp);
clrscr();
main1();
}
void bill()
{
int ch;
float b;
FILE *fp;
char sno[NUM],temp;
clrscr();
fp=fopen("hotel.rec","rb");
gotoxy(20,13);
printf("Please enter the member ID : ");
check_id(sno,NUM);
while ( fread(&rec, sizeof(rec), 1, fp) && strcmp(sno,rec.id) );
ch=strcmp(sno,rec.id);
if(ch!=0)
{
clrscr();
sound(500);delay(200);nosound();
gotoxy(28,13);
printf(" +++ Record Not Found +++ ");
getch();
}
else
{
clrscr();
box(5,2,75,15);
gotoxy(28,2);
printf(" ++ Billing ++ ");
gotoxy(8,5);
printf(" Member ID : %s",rec.id);
gotoxy(8,6);
printf(" Name : %s",rec.name);
gotoxy(8,7);
printf(" Father's Name : %s",rec.fname);
gotoxy(8,8);
printf(" Address : %s",rec.address);
gotoxy(8,9);
printf(" Phone Number : %s",rec.phone);
gotoxy(8,10);
printf(" Mobile Number : %s",rec.mphone);
gotoxy(8,11);
printf(" Number of Days : %s",rec.days);
gotoxy(8,12);
printf(" Date of Reservation : %d-%d-%d",rec.day,rec.month,rec.year);
b=atof(rec.days);
gotoxy(8,13);
printf(" Bill %.2f",(b * 500));
getch();
}
fclose(fp);
clrscr();
main1();
}
void about ()
{
clrscr();
box(18,4,65,6);
// gotoxy(30,3);
// textcolor(GREEN);
// printf("Hotel Managmnet System");
gotoxy(32,5);
printf(" ABOUT PROGRAMER ");
textbackground(0);
box(18,7,65,25);
gotoxy (35,10);
textcolor (GREEN);
cprintf ("Made By");
gotoxy (33,11);
textcolor(7);
cprintf ("Kalola Sandip");
gotoxy (33,12);
textcolor(7);
cprintf ("Sutariya Ashvin");
gotoxy (33,13);
textcolor(7);
cprintf ("Vaghela Jay");
gotoxy (35,15);
textcolor (GREEN);
cprintf ("Presented To");
gotoxy (33,16);
textcolor (7);
cprintf ("Mr Jatin Kothari");
gotoxy (36,18);
textcolor (GREEN);
cprintf ("Project On");
gotoxy (30,19);
textcolor (7);
cprintf ("Hotel Management System");
gotoxy (33,21);
textcolor(GREEN);
cprintf ("Contact Information");
gotoxy (30,22);
textcolor (7);
cprintf("sandipkalola1990@gmail.com");
// gotoxy (29,21);
// textcolor (7);
// cprintf ("www.atozbca.somee.com");
// gotoxy (20,24);
// textcolor (WHITE);
// cprintf ("DK SOFTWARE SOLUTION");
getch();
clrscr();
main1();
}
void box(int a,int b,int c,int d)
{
int i,j;
for(i=a;i<c;i++)
{
gotoxy(i,b);printf("\xcd");
gotoxy(i,d);printf("\xcd");
}
for(j=b;j<d;j++)
{
gotoxy(a,j);printf("\xba");
gotoxy(c,j);printf("\xba");
}
gotoxy(a,b);printf("\xc9");
gotoxy(c,b);printf("\xbb");
gotoxy(a,d);printf("\xc8");
gotoxy(c,d);printf("\xbc");
}
گروه دور همی پارسی کدرز
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg