Exemple #1
0
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;
}
Exemple #3
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;
}
Exemple #4
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);
			}
}
Exemple #5
0
static long
checklong(lua_State *L, int narg)
{
	return (long)checkinteger(L, narg, "int");
}
Exemple #6
0
static int
checkint(lua_State *L, int narg)
{
	return (int)checkinteger(L, narg, "int");
}