列车c语言查询,火车票务系统C语言

本文目录一览:

用C语言写火车订票系统

#include conio.h

#include stdio.h

#include stdlib.h

#include string.h

int shoudsave=0 ;

int count1=0,count2=0,mark=0,mark1=0 ;

/*定义存储火车信息的结构体*/

struct train

{

char num[10];/*列车号*/

char city[10];/*目的城市*/

char takeoffTime[10];/*发车时间*/

char receiveTime[10];/*到达时间*/

int price;/*票价*/

int bookNum ;/*票数*/

};

/*订票人的信息*/

struct man

{

char num[10];/*ID*/

char name[10];/*姓名*/

int bookNum ;/*需求的票数*/

};

/*定义火车信息链表的结点结构*/

typedef struct node

{

struct train data ;

struct node * next ;

}Node,*Link ;

/*定义订票人链表的结点结构*/

typedef struct people

{

struct man data ;

struct people*next ;

}bookMan,*bookManLink ;

/* 初始界面*/

void printInterface()

{

puts(“********************************************************”);

puts(“* Welcome to use the system of booking tickets *”);

puts(“********************************************************”);

puts(“* You can choose the operation: *”);

puts(“* 1:Insert a train information *”);

puts(“* 2:Inquire a train information *”);

puts(“* 3:Book a train ticket *”);

puts(“* 4:Update the train information *”);

puts(“* 5:Advice to you about the train *”);

puts(“* 6:save information to file *”);

puts(“* 7:quit the system *”);

puts(“********************************************************”);

}

/*添加一个火车信息*/

void InsertTraininfo(Link linkhead)

{

struct node *p,*r,*s ;

char num[10];

r = linkhead ;

s = linkhead-next ;

while(r-next!=NULL)

r=r-next ;

while(1)

{

printf(“please input the number of the train(0-return)”);

scanf(“%s”,num);

if(strcmp(num,”0″)==0)

break ;

/*判断是否已经存在*/

while(s)

{

if(strcmp(s-data.num,num)==0)

{

printf(“the train ‘%s’has been born!\n”,num);

return ;

}

s = s-next ;

}

p = (struct node*)malloc(sizeof(struct node));

strcpy(p-data.num,num);

printf(“Input the city where the train will reach:”);

scanf(“%s”,p-data.city);

printf(“Input the time which the train take off:”);

scanf(“%s”,p-data.takeoffTime);

printf(“Input the time which the train receive:”);

scanf(“%s”,p-data.receiveTime);

printf(“Input the price of ticket:”);

scanf(“%d”,p-data.price);

printf(“Input the number of booked tickets:”);

scanf(“%d”,p-data.bookNum);

p-next=NULL ;

r-next=p ;

r=p ;

shoudsave = 1 ;

}

}

/*打印火车票信息*/

void printTrainInfo(struct node*p)

{

puts(“\nThe following is the record you want:”);

printf(“number of train: %s\n”,p-data.num);

printf(“city the train will reach: %s\n”,p-data.city);

printf(“the time the train take off: %s\nthe time the train reach: %s\n”,p-data.takeoffTime,p-data.receiveTime);

printf(“the price of the ticket: %d\n”,p-data.price);

printf(“the number of booked tickets: %d\n”,p-data.bookNum);

}

struct node * Locate1(Link l,char findmess[],char numorcity[])

{

Node*r ;

if(strcmp(numorcity,”num”)==0)

{

r=l-next ;

while(r)

{

if(strcmp(r-data.num,findmess)==0)

return r ;

r=r-next ;

}

}

else if(strcmp(numorcity,”city”)==0)

{

r=l-next ;

while(r)

{

if(strcmp(r-data.city,findmess)==0)

return r ;

r=r-next ;

}

}

return 0 ;

}

/*查询火车信息*/

void QueryTrain(Link l)

{

Node *p ;

int sel ;

char str1[5],str2[10];

if(!l-next)

{

printf(“There is not any record !”);

return ;

}

printf(“Choose the way:\n1:according to the number of train;\n2:according to the city:\n”);

scanf(“%d”,sel);

if(sel==1)

{

printf(“Input the the number of train:”);

scanf(“%s”,str1);

p=Locate1(l,str1,”num”);

if(p)

{

printTrainInfo(p);

}

else

{

mark1=1 ;

printf(“\nthe file can’t be found!”);

}

}

else if(sel==2)

{

printf(“Input the city:”);

scanf(“%s”,str2);

p=Locate1(l,str2,”city”);

if(p)

{

printTrainInfo(p);

}

else

{

mark1=1 ;

printf(“\nthe file can’t be found!”);

}

}

}

/*订票子模块*/

void BookTicket(Link l,bookManLink k)

{

Node*r[10],*p ;

char ch,dem ;

bookMan*v,*h ;

int i=0,t=0 ;

char str[10],str1[10],str2[10];

v=k ;

while(v-next!=NULL)

v=v-next ;

printf(“Input the city you want to go: “);

scanf(“%s”,str);

p=l-next ;

while(p!=NULL)

{

if(strcmp(p-data.city,str)==0)

{

r[i]=p ;

i++;

}

p=p-next ;

}

printf(“\n\nthe number of record have %d\n”,i);

for(t=0;ti;t++)

printTrainInfo(r[t]);

if(i==0)

printf(“\n\t\t\tSorry!Can’t find the train for you!\n”);

else

{

printf(“\ndo you want to book it?1/0\n”);

scanf(“%d”,ch);

if(ch == 1)

{

h=(bookMan*)malloc(sizeof(bookMan));

printf(“Input your name: “);

scanf(“%s”,str1);

strcpy(h-data.name,str1);

printf(“Input your id: “);

scanf(“%s”,str2);

strcpy(h-data.num,str2);

printf(“Input your bookNum: “);

scanf(“%d”,dem);

h-data.bookNum=dem ;

h-next=NULL ;

v-next=h ;

v=h ;

printf(“\nLucky!you have booked a ticket!”);

getch();

shoudsave=1 ;

}

}

}

bookMan*Locate2(bookManLink k,char findmess[])

{

bookMan*r ;

r=k-next ;

while(r)

{

if(strcmp(r-data.num,findmess)==0)

{

mark=1 ;

return r ;

}

r=r-next ;

}

return 0 ;

}

/*修改火车信息*/

void UpdateInfo(Link l)

{

Node*p ;

char findmess[20],ch ;

if(!l-next)

{

printf(“\nthere isn’t record for you to modify!\n”);

return ;

}

else

{

QueryTrain(l);

if(mark1==0)

{

printf(“\nDo you want to modify it?\n”);

getchar();

scanf(“%c”,ch);

if(ch==’y’);

{

printf(“\nInput the number of the train:”);

scanf(“%s”,findmess);

p=Locate1(l,findmess,”num”);

if(p)

{

printf(“Input new number of train:”);

scanf(“%s”,p-data.num);

printf(“Input new city the train will reach:”);

scanf(“%s”,p-data.city);

printf(“Input new time the train take off”);

scanf(“%s”,p-data.takeoffTime);

printf(“Input new time the train reach:”);

scanf(“%s”,p-data.receiveTime);

printf(“Input new price of the ticket::”);

scanf(“%d”,p-data.price);

printf(“Input new number of people who have booked ticket:”);

scanf(“%d”,p-data.bookNum);

printf(“\nmodifying record is sucessful!\n”);

shoudsave=1 ;

}

else

printf(“\t\t\tcan’t find the record!”);

}

}

else

mark1=0 ;

}

}

/*系统给用户的提示信息*/

void AdvicedTrains(Link l)

{

Node*r ;

char str[10];

int mar=0 ;

r=l-next ;

printf(“Iuput the city you want to go: “);

scanf(“%s”,str);

while(r)

{

if(strcmp(r-data.city,str)==0r-data.bookNum200)

{

mar=1 ;

printf(“\nyou can select the following train!\n”);

printf(“\n\nplease select the fourth operation to book the ticket!\n”);

printTrainInfo(r);

}

r=r-next ;

}

if(mar==0)

printf(“\n\t\t\tyou can’t book any ticket now!\n”);

}

/*保存火车信息*/

void SaveTrainInfo(Link l)

{

FILE*fp ;

Node*p ;

int count=0,flag=1 ;

fp=fopen(“c:\\train.txt”,”wb”);

if(fp==NULL)

{

printf(“the file can’t be opened!”);

return ;

}

p=l-next ;

while(p)

{

if(fwrite(p,sizeof(Node),1,fp)==1)

{

p=p-next ;

count++;

}

else

{

flag=0 ;

break ;

}

}

if(flag)

{

printf(“the number of the record which have been saved is %d\n”,count);

shoudsave=0 ;

}

fclose(fp);

}

/*保存订票人的信息*/

void SaveBookmanInfo(bookManLink k)

{

FILE*fp ;

bookMan*p ;

int count=0,flag=1 ;

fp=fopen(“c:\\man.txt”,”wb”);

if(fp==NULL)

{

printf(“the file can’t be opened!”);

return ;

}

p=k-next ;

while(p)

{

if(fwrite(p,sizeof(bookMan),1,fp)==1)

{

p=p-next ;

count++;

}

else

{

flag=0 ;

break ;

}

}

if(flag)

{

printf(“the number of the record which have been saved is %d\n”,count);

shoudsave=0 ;

}

fclose(fp);

}

int main()

{

FILE*fp1,*fp2 ;

Node*p,*r ;

char ch1,ch2 ;

Link l ;

bookManLink k ;

bookMan*t,*h ;

int sel ;

l=(Node*)malloc(sizeof(Node));

l-next=NULL ;

r=l ;

k=(bookMan*)malloc(sizeof(bookMan));

k-next=NULL ;

h=k ;

fp1=fopen(“c:\\train.txt”,”ab+”);

if((fp1==NULL))

{

printf(“can’t open the file!”);

return 0 ;

}

while(!feof(fp1))

{

p=(Node*)malloc(sizeof(Node));

if(fread(p,sizeof(Node),1,fp1)==1)

{

p-next=NULL ;

r-next=p ;

r=p ;

count1++;

}

}

fclose(fp1);

fp2=fopen(“c:\\man.txt”,”ab+”);

if((fp2==NULL))

{

printf(“can’t open the file!”);

return 0 ;

}

while(!feof(fp2))

{

t=(bookMan*)malloc(sizeof(bookMan));

if(fread(t,sizeof(bookMan),1,fp2)==1)

{

t-next=NULL ;

h-next=t ;

h=t ;

count2++;

}

}

fclose(fp2);

while(1)

{

system(“cls”);

printInterface();

printf(“please choose the operation: “);

scanf(“%d”,sel);

system(“cls”);

if(sel==8)

{

if(shoudsave==1)

{

getchar();

printf(“\nthe file have been changed!do you want to save it(y/n)?\n”);

scanf(“%c”,ch1);

if(ch1==’y’||ch1==’Y’)

{

SaveBookmanInfo(k);

SaveTrainInfo(l);

}

}

printf(“\nThank you!!You are welcome too\n”);

break ;

}

switch(sel)

{

case 1 :

InsertTraininfo(l);break ;

case 2 :

QueryTrain(l);break ;

case 3 :

BookTicket(l,k);break ;

case 4 :

UpdateInfo(l);break ;

case 5 :

AdvicedTrains(l);break ;

case 6 :

SaveTrainInfo(l);SaveBookmanInfo(k);break ;

case 7 :

return 0;

}

printf(“\nplease press any key to continue…….”);

getch();

}

return 0;

}

高分求:C语言的和铁路有关的程序(越简单越好)

下面是一个火车票的程序,希望能帮到你

#include conio.h

#include stdio.h

#include stdlib.h

#include string.h

int shoudsave=0 ;

int count1=0,count2=0,mark=0,mark1=0 ;

/*定义存储火车信息的结构体*/

struct train

{

char num[10];/*列车号*/

char city[10];/*目的城市*/

char takeoffTime[10];/*发车时间*/

char receiveTime[10];/*到达时间*/

int price;/*票价*/

int bookNum ;/*票数*/

};

/*订票人的信息*/

struct man

{

char num[10];/*ID*/

char name[10];/*姓名*/

int bookNum ;/*需求的票数*/

};

/*定义火车信息链表的结点结构*/

typedef struct node

{

struct train data ;

struct node * next ;

}Node,*Link ;

/*定义订票人链表的结点结构*/

typedef struct people

{

struct man data ;

struct people*next ;

}bookMan,*bookManLink ;

/* 初始界面*/

void printInterface()

{

puts(“********************************************************”);

puts(“* Welcome to use the system of booking tickets *”);

puts(“********************************************************”);

puts(“* You can choose the operation: *”);

puts(“* 1:Insert a train information *”);

puts(“* 2:Inquire a train information *”);

puts(“* 3:Book a train ticket *”);

puts(“* 4:Update the train information *”);

puts(“* 5:Advice to you about the train *”);

puts(“* 6:save information to file *”);

puts(“* 7:quit the system *”);

puts(“********************************************************”);

}

/*添加一个火车信息*/

void InsertTraininfo(Link linkhead)

{

struct node *p,*r,*s ;

char num[10];

r = linkhead ;

s = linkhead-next ;

while(r-next!=NULL)

r=r-next ;

while(1)

{

printf(“please input the number of the train(0-return)”);

scanf(“%s”,num);

if(strcmp(num,”0″)==0)

break ;

/*判断是否已经存在*/

while(s)

{

if(strcmp(s-data.num,num)==0)

{

printf(“the train ‘%s’has been born!\n”,num);

return ;

}

s = s-next ;

}

p = (struct node*)malloc(sizeof(struct node));

strcpy(p-data.num,num);

printf(“Input the city where the train will reach:”);

scanf(“%s”,p-data.city);

printf(“Input the time which the train take off:”);

scanf(“%s”,p-data.takeoffTime);

printf(“Input the time which the train receive:”);

scanf(“%s”,p-data.receiveTime);

printf(“Input the price of ticket:”);

scanf(“%d”,p-data.price);

printf(“Input the number of booked tickets:”);

scanf(“%d”,p-data.bookNum);

p-next=NULL ;

r-next=p ;

r=p ;

shoudsave = 1 ;

}

}

/*打印火车票信息*/

void printTrainInfo(struct node*p)

{

puts(“\nThe following is the record you want:”);

printf(“number of train: %s\n”,p-data.num);

printf(“city the train will reach: %s\n”,p-data.city);

printf(“the time the train take off: %s\nthe time the train reach: %s\n”,p-data.takeoffTime,p-data.receiveTime);

printf(“the price of the ticket: %d\n”,p-data.price);

printf(“the number of booked tickets: %d\n”,p-data.bookNum);

}

struct node * Locate1(Link l,char findmess[],char numorcity[])

{

Node*r ;

if(strcmp(numorcity,”num”)==0)

{

r=l-next ;

while(r)

{

if(strcmp(r-data.num,findmess)==0)

return r ;

r=r-next ;

}

}

else if(strcmp(numorcity,”city”)==0)

{

r=l-next ;

while(r)

{

if(strcmp(r-data.city,findmess)==0)

return r ;

r=r-next ;

}

}

return 0 ;

}

/*查询火车信息*/

void QueryTrain(Link l)

{

Node *p ;

int sel ;

char str1[5],str2[10];

if(!l-next)

{

printf(“There is not any record !”);

return ;

}

printf(“Choose the way:\n1:according to the number of train;\n2:according to the city:\n”);

scanf(“%d”,sel);

if(sel==1)

{

printf(“Input the the number of train:”);

scanf(“%s”,str1);

p=Locate1(l,str1,”num”);

if(p)

{

printTrainInfo(p);

}

else

{

mark1=1 ;

printf(“\nthe file can’t be found!”);

}

}

else if(sel==2)

{

printf(“Input the city:”);

scanf(“%s”,str2);

p=Locate1(l,str2,”city”);

if(p)

{

printTrainInfo(p);

}

else

{

mark1=1 ;

printf(“\nthe file can’t be found!”);

}

}

}

/*订票子模块*/

void BookTicket(Link l,bookManLink k)

{

Node*r[10],*p ;

char ch,dem ;

bookMan*v,*h ;

int i=0,t=0 ;

char str[10],str1[10],str2[10];

v=k ;

while(v-next!=NULL)

v=v-next ;

printf(“Input the city you want to go: “);

scanf(“%s”,str);

p=l-next ;

while(p!=NULL)

{

if(strcmp(p-data.city,str)==0)

{

r[i]=p ;

i++;

}

p=p-next ;

}

printf(“\n\nthe number of record have %d\n”,i);

for(t=0;ti;t++)

printTrainInfo(r[t]);

if(i==0)

printf(“\n\t\t\tSorry!Can’t find the train for you!\n”);

else

{

printf(“\ndo you want to book it?1/0\n”);

scanf(“%d”,ch);

if(ch == 1)

{

h=(bookMan*)malloc(sizeof(bookMan));

printf(“Input your name: “);

scanf(“%s”,str1);

strcpy(h-data.name,str1);

printf(“Input your id: “);

scanf(“%s”,str2);

strcpy(h-data.num,str2);

printf(“Input your bookNum: “);

scanf(“%d”,dem);

h-data.bookNum=dem ;

h-next=NULL ;

v-next=h ;

v=h ;

printf(“\nLucky!you have booked a ticket!”);

getch();

shoudsave=1 ;

}

}

}

bookMan*Locate2(bookManLink k,char findmess[])

{

bookMan*r ;

r=k-next ;

while(r)

{

if(strcmp(r-data.num,findmess)==0)

{

mark=1 ;

return r ;

}

r=r-next ;

}

return 0 ;

}

/*修改火车信息*/

void UpdateInfo(Link l)

{

Node*p ;

char findmess[20],ch ;

if(!l-next)

{

printf(“\nthere isn’t record for you to modify!\n”);

return ;

}

else

{

QueryTrain(l);

if(mark1==0)

{

printf(“\nDo you want to modify it?\n”);

getchar();

scanf(“%c”,ch);

if(ch==’y’);

{

printf(“\nInput the number of the train:”);

scanf(“%s”,findmess);

p=Locate1(l,findmess,”num”);

if(p)

{

printf(“Input new number of train:”);

scanf(“%s”,p-data.num);

printf(“Input new city the train will reach:”);

scanf(“%s”,p-data.city);

printf(“Input new time the train take off”);

scanf(“%s”,p-data.takeoffTime);

printf(“Input new time the train reach:”);

scanf(“%s”,p-data.receiveTime);

printf(“Input new price of the ticket::”);

scanf(“%d”,p-data.price);

printf(“Input new number of people who have booked ticket:”);

scanf(“%d”,p-data.bookNum);

printf(“\nmodifying record is sucessful!\n”);

shoudsave=1 ;

}

else

printf(“\t\t\tcan’t find the record!”);

}

}

else

mark1=0 ;

}

}

/*系统给用户的提示信息*/

void AdvicedTrains(Link l)

{

Node*r ;

char str[10];

int mar=0 ;

r=l-next ;

printf(“Iuput the city you want to go: “);

scanf(“%s”,str);

while(r)

{

if(strcmp(r-data.city,str)==0r-data.bookNum200)

{

mar=1 ;

printf(“\nyou can select the following train!\n”);

printf(“\n\nplease select the fourth operation to book the ticket!\n”);

printTrainInfo(r);

}

r=r-next ;

}

if(mar==0)

printf(“\n\t\t\tyou can’t book any ticket now!\n”);

}

/*保存火车信息*/

void SaveTrainInfo(Link l)

{

FILE*fp ;

Node*p ;

int count=0,flag=1 ;

fp=fopen(“c:\\train.txt”,”wb”);

if(fp==NULL)

{

printf(“the file can’t be opened!”);

return ;

}

p=l-next ;

while(p)

{

if(fwrite(p,sizeof(Node),1,fp)==1)

{

p=p-next ;

count++;

}

else

{

flag=0 ;

break ;

}

}

if(flag)

{

printf(“the number of the record which have been saved is %d\n”,count);

shoudsave=0 ;

}

fclose(fp);

}

/*保存订票人的信息*/

void SaveBookmanInfo(bookManLink k)

{

FILE*fp ;

bookMan*p ;

int count=0,flag=1 ;

fp=fopen(“c:\\man.txt”,”wb”);

if(fp==NULL)

{

printf(“the file can’t be opened!”);

return ;

}

p=k-next ;

while(p)

{

if(fwrite(p,sizeof(bookMan),1,fp)==1)

{

p=p-next ;

count++;

}

else

{

flag=0 ;

break ;

}

}

if(flag)

{

printf(“the number of the record which have been saved is %d\n”,count);

shoudsave=0 ;

}

fclose(fp);

}

int main()

{

FILE*fp1,*fp2 ;

Node*p,*r ;

char ch1,ch2 ;

Link l ;

bookManLink k ;

bookMan*t,*h ;

int sel ;

l=(Node*)malloc(sizeof(Node));

l-next=NULL ;

r=l ;

k=(bookMan*)malloc(sizeof(bookMan));

k-next=NULL ;

h=k ;

fp1=fopen(“c:\\train.txt”,”ab+”);

if((fp1==NULL))

{

printf(“can’t open the file!”);

return 0 ;

}

while(!feof(fp1))

{

p=(Node*)malloc(sizeof(Node));

if(fread(p,sizeof(Node),1,fp1)==1)

{

p-next=NULL ;

r-next=p ;

r=p ;

count1++;

}

}

fclose(fp1);

fp2=fopen(“c:\\man.txt”,”ab+”);

if((fp2==NULL))

{

printf(“can’t open the file!”);

return 0 ;

}

while(!feof(fp2))

{

t=(bookMan*)malloc(sizeof(bookMan));

if(fread(t,sizeof(bookMan),1,fp2)==1)

{

t-next=NULL ;

h-next=t ;

h=t ;

count2++;

}

}

fclose(fp2);

while(1)

{

clrscr();

printInterface();

printf(“please choose the operation: “);

scanf(“%d”,sel);

clrscr();

if(sel==8)

{

if(shoudsave==1)

{

getchar();

printf(“\nthe file have been changed!do you want to save it(y/n)?\n”);

scanf(“%c”,ch1);

if(ch1==’y’||ch1==’Y’)

{

SaveBookmanInfo(k);

SaveTrainInfo(l);

}

}

printf(“\nThank you!!You are welcome too\n”);

break ;

}

switch(sel)

{

case 1 :

InsertTraininfo(l);break ;

case 2 :

QueryTrain(l);break ;

case 3 :

BookTicket(l,k);break ;

case 4 :

UpdateInfo(l);break ;

case 5 :

AdvicedTrains(l);break ;

case 6 :

SaveTrainInfo(l);SaveBookmanInfo(k);break ;

case 7 :

return 0;

}

printf(“\nplease press any key to continue…….”);

getch();

}

return 0;

}

用C语言写一个模拟火车票管理系统。

#includestdio.h

#includestring.h

#includestdlib.h

#includetime.h

#includeconio.h

#define N 1000

typedef struct TICKET

{

char num[10];

char hour[3];

char min[3];

char from[10];

char to[10];

float hours;

int max;

int now;

}CLASS;

int class_num=0;

CLASS records[N];

int system_time();

void NewMessage();

void ShowTable1();

void ShowTable2(int i);

void Display();

void add();

void save();

void load();

void search();

void change();

void quit();

void Ticketorder();

void Ticketdelete();

int menu_select();

int whether(int);

void find(char s1[],char s2[]);

void deletemessage();

int findnum(char s1[]);

void get(int,int);

char *menu[]={“*****************欢迎使用车票管理系统*****************”,

“\n*******************MENU功能菜单***********************”,

“\n 1. 录入班次 “,

“\n 2. 显示所有班次 “,

“\n 3. 查询班次 “,

“\n 4. 增加班次 “,

“\n 5. 售票 “,

“\n 6. 退票 “,

“\n 7. 修改班次 “,

“\n 8. 删除班次 “,

“\n 9. 退出 “};

/**主函数**/

void main()

{

system(“cls”);

while(1)

{

switch(menu_select())

{

case 1: NewMessage();break;

case 2: Display();break;

case 3: search();break;

case 4: add();break;

case 5: Ticketorder();break;

case 6: Ticketdelete();break;

case 7: change();break;

case 8: deletemessage();break;

case 9: quit();break;

}

}

}

/**菜单函数**/

int menu_select()

{

char s[5];

int c,i;

system(“cls”);

for(i=0;i11;i++)

{

printf(“%s”,menu[i])) ;

}

i=0;

printf(“\n”);

printf(“******************************************************”);

printf(“\n请选择(1-9):”);

scanf(“%s”,s);

c=atoi(s);

while(i0||i9)

{

printf(“\n”);

printf(“******************************************************”);

printf(“\n请选择(1-9):”);

scanf(“%s”,s);

c=atoi(s);

}

return c;

}

void NewMessage()

{

int i=0,j=5,h;

char s[5];

FILE *fp;

system(“cls”);

if((fp=fopen(“d:number.dat”,”rb”))!=NULL)

{

printf(“车票信息已经存在请选择增加功能!\n”);

printf(“任意输入则返回菜单\n”);

scanf(“%s”,s);

i=1; //通过是1

}

if(i==0)

{

system(“cls”);

printf(“请输入要录入班次总数:\n”);

scanf(“%d”,class_num);

system(“cls”);

for(i=0;iclass_num;i++)

{

system(“cls”);

printf(“请输入第%d个班次信息:\n”,i+1);

h=-1;

for(;h!=i;)

{

printf(“请输入班次:”);

scanf(“%s”,records[i].num);

for(h=0;hi;h++)

if(strcmp(records[h].num,records[i].num)==0)

//判断字符串比较是否相等,, 待比较的字符串

{

printf(“输入错误!该班次已存在!\n”);

break;

}

}

get(i,j);

j=5;

}

save();

}

}

void Display() //显示所有函数

{

int i,j;

system(“cls”); //刷屏

load(); // 调用按班次查询函数

ShowTable1(); //线框调用1,,,不用每次输

for(i=0,j=0;iclass_num;i++,j+=2) /////按班次顺序输出

{

printf(“\n|———-|———-|———-|———-|——–|——–|——–|\n”);

if(whether(i))

printf(“|%10s|%5s:%-4s|%10s|%10s|%8.1f|%8d|%8d|”,records[i].num,records[i].hour,

records[i].min, records[i].from,records[i].to,records[i].hours,

records[i].max,records[i].now);

else

printf(“|%10s| 已发车 |%10s|%10s|%8.1f|%8d|%8d|”,records[i].num,

records[i].from,records[i].to,records[i].hours,records[i].max,records[i].now);

}

ShowTable2(j); //线框调用2

printf(“\n按任意键继续….\n”);

getch(); /////从控制台读取一个字符,但不显示在屏幕上

}

/**打印表头**/

void ShowTable1()

{

int i=2;

system(“cls”);

printf(“**************************车票信息系统**********************************\n”);

printf(“\n|———-|———-|———-|———-|——–|——–|——–|\n”);

printf(“\n| 班次 | 发车时间 | 起点站 | 终点站 |行车时间|额定载量| 已售票 |\n”);

}

void ShowTable2(int i)

{

printf(“\n|———-|———-|———-|———-|——–|——–|——–|\n”);

}

void search()

{

int i;

char s1[10]={‘\0’},s2[10]={‘\0’};

system(“cls”);

printf(“1. 按班次查询\n”)

printf(“2. 按终点站查询\n”);

printf(“3. 退出\n”);

printf(“请选择(1-3):\n”);

scanf(“%d”,i);

load();

switch(i)

{

case 1: printf(“请输入要查询的班次:”);

scanf(“%s”,s1);

find(s1,s2);

break;

case 2: printf(“请输入要查询终点站:”);

scanf(“%s”,s2);

find(s1,s2);

break;

case 3: break;

default : printf(“输入错误!\n”);

break;

}

printf(“按任意键继续….\n”);

getch();

}

void find(char s1[],char s2[])

{

int i,h=0,m;

ShowTable1();

if(s2[0]==’\0′)

m=1;

else m=0;

for(i=0;iclass_num;i++)

if(strcmp(s1,records[i].num)==0||strcmp(s2,records[i].to)==0)

{

printf(“\n|———-|———-|———-|———-|——–|——–|——–|\n”);

printf(“|%10s|%5s:%-4s|%10s|%10s|%8.1f|%8d|%8d|”,records[i].num,records[i].hour,records[i].min,

records[i].from,records[i].to,records[i].hours,records[i].max,records[i].now);

h+=1;

if(m==1)

break;

}

ShowTable2(h);

if(h==0)

printf(“要查找的班次不存在!\n”);

}

/**增加函数**/

void add()

{

int i,j=5;

load();

system(“cls”);

printf(“1. 增加班次”);

printf(“2. 返回\n”);

printf(“请选择(1-2)\n”);

scanf(“%d”,i);

if(i==1)

{

system(“cls”); //刷屏

printf(“1. 请输入要增加的班次:”);

scanf(“%s”,records[class_num].num);

for(i=0;iclass_num;i++)

if(strcmp(records[class_num].num,records[i].num)==0)

//判断字符串比较是否相等,待比较的字符串,判断车次没重复

{

printf(“输入错误!\n”);

getch(); /////从控制台读取一个字符,但不显示在屏幕上

break;

}

if(i==class_num)

{

get(i,j); ////修改及增加班次*

class_num++; ///使班次数加1

save(); //调用保存函数

}

}

}

/**售票函数**/

void Ticketorder() //*售票函数

{

int i;

char num[10];

system(“cls”); //刷屏

printf(“1. 售票\n”);

printf(“2. 返回\n”);

printf(“请选择(1-2):\n”);

scanf(“%d”,i);

if(i==1)

{

load(); // 加载函数

search(); //查找函数

printf(“请输入要订票的班次(若无请输入0):”);

scanf(“%s”,num);

for(i=0;iclass_num;i++)

if(strcmp(num,records[i].num)==0)//判断字符串比较是否相等,, 待比较的字符串

if(records[i].maxrecords[i].nowwhether(i)==1)

//判断时间是否超出函数并且没超出最大客量

{

records[i].now++; ///使已售票加1

printf(“通向%s班次为%s的票订票成功!\n”,records[i].to,records[i].num);

save(); //调用保存函数

getch(); /////从控制台读取一个字符,但不显示在屏幕上

break;

}

else

{

printf(“该班次已满或已发出!\n”);

getch(); /////从控制台读取一个字符,但不显示在屏幕上

}

}

}

/**退票函数**/

void Ticketdelete() //删除函数*

{

int i;

char num[10];

system(“cls”); //刷屏

printf(“1. 退票\n”);

printf(“2. 返回\n”);

printf(“请选择(1-2)\n:”);

scanf(“%d”,i);

if(i==1)

{

system(“cls”); //刷屏

load(); // 调用按班次查询函数

printf(“请输入要退票的班次:\n”);

scanf(“%s”,num);

i=findnum(num); //调用班次查询函数

if(strcmp(num,records[i].num)==0) //判断字符串比较是否相等 待比较的字符串

if(whether(i)) //判断时间是否超出函数***

{

printf(“确定(Y/N)?”);

scanf(“%s”,num);

if(num[0]==’y’||num[0]==’Y’)

{

records[i].now–; //使已售票减1

printf(“退票成功!\n”);

save(); //调用保存函数

getch(); //从控制台读取一个字符,但不显示在屏幕上

}

}

else

{

printf(“该班车已发出,无法退票!\n”);

getch(); /////从控制台读取一个字符,但不显示在屏幕上

}

if(i==class_num)

{ printf(“输入错误!\n”);

getch(); /////从控制台读取一个字符,但不显示在屏幕上

}

}

}

字数超了。。。。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/304812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2025-01-01 11:06
下一篇 2025-01-01 11:06

相关推荐

  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python按位运算符和C语言

    本文将从多个方面详细阐述Python按位运算符和C语言的相关内容,并给出相应的代码示例。 一、概述 Python是一种动态的、面向对象的编程语言,其按位运算符是用于按位操作的运算符…

    编程 2025-04-29
  • Python语言由荷兰人为中心的全能编程开发工程师

    Python语言是一种高级语言,很多编程开发工程师都喜欢使用Python语言进行开发。Python语言的创始人是荷兰人Guido van Rossum,他在1989年圣诞节期间开始…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28
  • Python语言实现人名最多数统计

    本文将从几个方面详细介绍Python语言实现人名最多数统计的方法和应用。 一、Python实现人名最多数统计的基础 1、首先,我们需要了解Python语言的一些基础知识,如列表、字…

    编程 2025-04-28
  • Python作为中心语言,在编程中取代C语言的优势和挑战

    Python一直以其简单易懂的语法和高效的编码环境而著名。然而,它最近的发展趋势表明Python的使用范围已经从脚本语言扩展到了从Web应用到机器学习等广泛的开发领域。与此同时,C…

    编程 2025-04-28
  • Python基础语言

    Python作为一种高级编程语言拥有简洁优雅的语法。在本文中,我们将从多个方面探究Python基础语言的特点以及使用技巧。 一、数据类型 Python基础数据类型包括整数、浮点数、…

    编程 2025-04-28

发表回复

登录后才能评论