static int optint(lua_State *L, int narg, lua_Integer def) { if (lua_isnoneornil(L, narg)) return (int) def; return (int)checkinteger(L, narg, "int or nil"); }
int main(){ char s[100]; int a,i=1; while(i){ printf("1.Press 1 to check integer\n2.Press 2 to check mobile number\n"); printf("3.Press 3 to check 12 digit account number\n4.Press 4 to check password with at least 1 integer,1 upper,1 lower and 1 special\n"); printf("5.Press 5 to check date as dd/mm/yyyy\n6.Press 6 to exit\n"); scanf("%d",&a); if(a<=6 && a>=1){ switch(a){ case 1: printf("Enter Integer\n"); scanf("%s",s); checkinteger(s); break; case 2: printf("Enter Mobile number\n"); scanf("%s",s); checkmobileno(s); break; case 3: printf("Enter Account number "); scanf("%s",s); checkaccountno(s); break; case 4: printf("Enter Password\n"); scanf("%s",s); checkpassword(s); break; case 5: printf("Enter Date\n"); scanf("%s",s); checkdate(s); break; case 6: printf("Thank you for using the program\n"); i=0; } } else{ printf("Wrong input,Please try once more\n"); } } return 0; }
int main(){ FILE *fp; char source[20],destination[20],filename[20],filename2[20],deleted[20]; int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; int n,t_date,t_month,t_year,date,month,year,t,bus_no,seat_no; do{ start=readbus(start); printf("*---------------------------------------------------------------------*\n"); printf("* 1.Information about all buses *\n"); printf("* 2.Available buses between one station to another station *\n"); //following operations can be done printf("* 3.Reserve ticket for a particular bus *\n"); //by using this program printf("* 4.Cancel ticket *\n"); printf("* 5.exit *\n"); printf("*---------------------------------------------------------------------*\n"); printf("Enter your choice\t-->"); fflush(stdin); scanf("%d",&n); n=checkinteger(n); t=n; if(n==3) n=2; switch(n){ //operations have done by using switch case case 1: display_all(start); break; case 2: fflush(stdin); fp=fopen("todaydate.txt","r"); //read the today date by using file "todaydate.txt" if(fp==NULL) printf("can't open file\n"); else while(fscanf(fp,"%d%d%d",&t_date,&t_month,&t_year)!=EOF); //scan date,month,year by user to check availability printf("Enter your source station\t-->"); scanf("%s",source); printf("Enter your destination\t-->"); //scan source,desetination stations by user scanf("%s",destination); int i=1; while(i){ fflush(stdin); printf("Enter your date of journey\t-->"); scanf("%d",&date); date=checkinteger(date); printf("Enter your month of journey\t-->"); fflush(stdin); scanf("%d",&month); month=checkinteger(month); printf("Enter your year of journey\t-->"); fflush(stdin); scanf("%d",&year); year=checkinteger(year); if(year%4==0) a[1]=29; if(month<=12&&month>0&&date<=a[month-1]){ if(year==t_year){ if(month==t_month){ if(date>=t_date) i=0; else i=1; } else if(month>t_month) //check the date if it is right or wrong i=0; else i=1; } else if(year>t_year) i=0; else i=1; } } assign(date,month,year); checkbus(start,source,destination); if(t==2) break; case 3: fflush(stdin); printf("Enter busno to reserve\t-->"); fflush(stdin); scanf("%d",&bus_no); bus_no=checkinteger(bus_no); t=reserve(bus_no); if(t!=0){ fp=fopen("filename.txt","w"); fprintf(fp,"%d%d%d%d",date,month,year,bus_no); //file created by "datemonthyearbusno.txt" fclose(fp); fp=fopen("filename.txt","r"); fscanf(fp,"%s",filename2); fclose(fp); strcat(filename2,".txt"); fp=fopen(filename2,"a"); if(fp==NULL) printf("can't open file\n"); fclose(fp); seatsallocation(bus_no,filename2); } break; case 4: printf("Enter your date of journey\t-->"); fflush(stdin); scanf("%d",&date); date=checkinteger(date); printf("Enter your month of journey\t-->"); fflush(stdin); scanf("%d",&month); month=checkinteger(month); printf("Enter your year of journey\t-->"); fflush(stdin); scanf("%d",&year); year=checkinteger(year); printf("enter bus no\t-->"); fflush(stdin); scanf("%d",&bus_no); printf("enter seat_no\t-->"); scanf("%d",&seat_no); seat_no=checkinteger(seat_no); fp=fopen("filename.txt","w"); fprintf(fp,"%d%d%d%d",date,month,year,bus_no); //ticket is cancell on "datemonthyearbusno.txt" fclose(fp); fp=fopen("filename.txt","r"); fscanf(fp,"%s",deleted); fclose(fp);; strcat(deleted,".txt"); cancelticket(deleted,seat_no); printf("\n:::Ticket cancelled on your date:::\n\n"); break; } ptr=start; while(ptr!=NULL){ ptr=start; start=start->next; //free all node in the linkedlist which stores details of "busdetails.txt" free(ptr); ptr=ptr->next; } }while(n!=5); return 0; }
void seatsallocation(int busno,char filename2[20]){ ptr=start; FILE *fp; int i=1,seat_no,age,flag=0,availableseats=40,kk=1; char gender[20],name[20],c; struct user *usernode=NULL,*userinsert,*username,*k=NULL; while(ptr!=NULL){ if(ptr->bus_no==busno){ fp=fopen(filename2,"r"); if(fp==NULL){ printf("cannot open file\n"); fclose(fp); break; } userinsert=(struct user*)malloc(sizeof(struct user)); while(fscanf(fp,"%d %s %d %c",&userinsert->seat_no,userinsert->name,&userinsert->age,&userinsert->gender)!=EOF){ printf("%d %s %d %c\n",userinsert->seat_no,userinsert->name,userinsert->age,userinsert->gender); availableseats--; if(usernode==NULL){ usernode=userinsert; //scan the user information into the linked list and performing operations userinsert->next=NULL; } else{ username=usernode; while(username!=NULL){ if(username->seat_no<userinsert->seat_no){ k=username; if(username->next==NULL){ username->next=userinsert; userinsert->next=NULL; break; } username=username->next; } else{ if(k==NULL){ //user information sorted by seat_no userinsert->next=usernode; usernode=userinsert; break; } else if(k!=NULL){ userinsert->next=username; k->next=userinsert; break; } } } } userinsert=(struct user*)malloc(sizeof(struct user)); } fclose(fp); break; } ptr=ptr->next; } printf("\navailableseats-->%d\n\n",availableseats); username=usernode; for(i=1;i<=40;i++){ if(username!=NULL&&i==username->seat_no){ printf("%d--%c",i,username->gender); username=username->next; } else{ printf("%d--",i); } //print the seat_no and its status of requried bus if(i%4==1||i%4==3) printf("\t"); else if(i%4==2) printf("\t\t"); else printf("\n"); } printf("\n\n"); fp=fopen(filename2,"a"); do{ kk=1; printf("Enter which seat_no you want\t-->"); fflush(stdin); scanf("%d",&seat_no); seat_no=checkinteger(seat_no); username=usernode; while(username!=NULL){ if(username->seat_no==seat_no){ printf("Already reserved--"); kk=0; //check user information is correct or not break; } else if(seat_no>40){ printf("invalid choice--"); kk=0; //check user information is correct or not break; } username=username->next; } }while(kk!=1); printf("Enter Passenger name\t-->"); fflush(stdin); scanf("%s",name); printf("ENter passenger age\t-->"); fflush(stdin); scanf("%d",&age); age=checkinteger(age); while(age<0||age>120){ printf("ENter passenger age\t-->"); fflush(stdin); scanf("%d",&age); age=checkinteger(age); } do{ //passenger can be reserved printf("Enter passener gender\t-->"); fflush(stdin); fflush(stdin); scanf("%s",gender); gender[1]='\0'; username=usernode; if(strcmp(gender,"m")==0||strcmp(gender,"M")==0||strcmp(gender,"f")==0||strcmp(gender,"F")==0){ flag=0; } else{ printf("correct your gender--"); flag=1; } }while(flag==1); fprintf(fp,"%d %s %d %s\n",seat_no,name,age,gender); fclose(fp); //conformation of reservation printf("\n:::your reservation is conformed:::\n"); username=usernode; while(usernode!=NULL){ username=usernode; usernode=usernode->next; //free the linkedlist free(username); } }
static long checklong(lua_State *L, int narg) { return (long)checkinteger(L, narg, "int"); }
static int checkint(lua_State *L, int narg) { return (int)checkinteger(L, narg, "int"); }