📄 11.c
字号:
printf("始发站:");
printf("%s\n",f3[i]);
printf("终点站:");
printf("%s\n",f4[i]);
printf("行车时间:");
printf("%d\n",e5[i]);
printf("额定载客数:");
printf("%d\n",e6[i]);
printf("已售出票数:");
printf("%d\n",e7[i]);
}
}
fclose(fp);
return1(); /*进入返回函数*/
}
else if(choicen3=='d') /*返回至售票员系统函数*/
solder();
else /*防错处理,若输入错误则返回至查找函数*/
{
printf("没有这个选项,请重新选择");
search();
}
}
void return1()
{
void search();
char j[1];
printf("是否返回上一级菜单( y or n ):");
scanf("%s",&j);
if(strcmp("y",j)==0) /*返回至查找函数*/
search();
else if(strcmp("n",j)==0) /*退出程序*/
exit(0);
else /*防错处理,若输入错误则返回至return1函数*/
{
printf("没有这个选项,请重新输入\n");
return1();
}
}
void tickets() /*追加售出车票*/
{
FILE *fp;
void solder();
void return2();
int x,y,i,e1[20],e2[20],e5[20],e6[20],e7[20];
char f3[20][50],f4[20][50];
fp=fopen("c:\\bus.txt","r");
printf("请输入售出车票的车号:");
scanf("%d",&x);
printf("\n**********车次信息**********\n");
for(i=0;i<m+1;i++)
{
fscanf(fp,"%d %d %s %s %d %d %d",&e1[i],&e2[i],&f3[i],&f4[i],&e5[i],&e6[i],&e7[i]); /*从文件读入车次信息*/
if (x==e1[i]) /*查找需要追加车票的车次信息并输出*/
{
printf("班次:");
printf("%d\n",e1[i]);
printf("发车时间:");
printf("%d\n",e2[i]);
printf("始发站:");
printf("%s\n",f3[i]);
printf("终点站:");
printf("%s\n",f4[i]);
printf("行车时间:");
printf("%d\n",e5[i]);
printf("额定载客数:");
printf("%d\n",e6[i]);
printf("已售出票数:");
printf("%d\n",e7[i]);
fclose(fp);
printf("\n请追加售出的车票数:");
scanf("%d",&y);
if(e7[i]+y<=e6[i]) /*判断是否超过额定载客数*/
{
fp=fopen("c:\\bus.txt","w");
e7[i]+=y;
fprintf(fp,"%d %d %s %s %d %d %d",e1[i],e2[i],f3[i],f4[i],e5[i],e6[i],e7[i]);
printf("\n**********车次信息**********\n");
printf("班次:");
printf("%d\n",e1[i]);
printf("发车时间:");
printf("%d\n",e2[i]);
printf("始发站:");
printf("%s\n",f3[i]);
printf("终点站:");
printf("%s\n",f4[i]);
printf("行车时间:");
printf("%d\n",e5[i]);
printf("额定载客数:");
printf("%d\n",e6[i]);
printf("已售出票数:");
printf("%d\n",e7[i]);
fclose(fp);
}
else /*若超出额定载客数则返回至售票函数*/
{
printf("超出额定载客数,请重新输入!\n");
tickets();
}
}
}
return2(); /*进入返回函数*/
}
void return2()
{
void solder();
char j[1];
printf("是否返回上一级菜单( y or n ):");
scanf("%s",&j);
if(strcmp("y",j)==0) /*返回至售票函数*/
solder();
else if(strcmp("n",j)==0) /*退出程序*/
exit(0);
else /*防错处理,若输入错误则返回至return2函数*/
{
printf("没有这个选项,请重新输入\n");
return2();
}
}
struct data *a(struct data *head) /*登录车次信息*/
{
struct data *p1,*p2;
int m=0;
n=0;
p1=(struct data*)malloc(LEN);
p2=(struct data*)malloc(LEN);
p1=p2;
system("cls");
printf("请输入您要登录的车次号:");
scanf("%d",&p1->number);
printf("请输入出发时间:");
scanf("%d",&p1->time);
printf("请输入始发站:");
scanf("%s",p1->strat_position);
printf("请输入终点站:");
scanf("%s",p1->end_position);
printf("请输入行驶时间:");
scanf("%d",&p1->long1);
printf("请输入载客量:");
scanf("%d",&p1->capacity);
printf("请输入卖出车票数:");
scanf("%d",&p1->sell_ticket);
head=NULL;
while (p1->number!=0)
{
n=n+1;
if(n==1)
head=p1;
else p2->next=p1;
p2=p1;
p1=(struct data*) malloc(LEN);
printf("请输入您要添加的车次号:");
scanf("%d",&p1->number);
printf("请输入出发时间:");
scanf("%d",&p1->time);
printf("请输入始发站:");
scanf("%s",p1->strat_position);
printf("请输入终点站:");
scanf("%s",p1->end_position);
printf("请输入行驶时间:");
scanf("%d",&p1->long1);
printf("请输入载客量:");
scanf("%d",&p1->capacity);
printf("请输入卖出车票数:");
scanf("%d",&p1->sell_ticket);
}
p2->next=NULL;
printf("已成功建立!");
return(head);
}
struct data *insert(struct data *head) /*插入车次信息*/
{
struct data *p0,*p1,*p2;
system("cls");
printf("欢迎来到车次信息添加系统!\n");
printf("请输入您要添加的车次号:");
scanf("%d",&datas.number);
printf("请输入出发时间:");
scanf("%d",&datas.time);
printf("请输入始发站:");
scanf("%s",datas.strat_position);
printf("请输入终点站:");
scanf("%s",datas.end_position);
printf("请输入行驶时间:");
scanf("%d",&datas.long1);
printf("请输入载客量:");
scanf("%d",&datas.capacity);
printf("请输入卖出车票数:");
scanf("%d",&datas.sell_ticket);
p1=head;
p0=&datas;
if
(head==NULL)
{head=p0;
p0->next=NULL;}
else
{
while((p0->number>p1->number)&&(p1->next!=NULL))
{
p2=p1;
p1=p1->next;
}
if(p0->number<=p1->number)
{
if (head==p1)head=p0;
else p2->next=p0;
p0->next=p1;
}
else
{
p1->next=p0;p0->next=NULL;
}
}
n=n+1;
printf("已成功插入!");
return (head);
}
struct data *b(struct data *head) /*删除已登录的车次信息*/
{
struct data *p3=NULL,*p4=NULL;
int n2;
system("cls");
printf("欢迎来到删除车次信息系统!\n");
printf("请输入您要删除的车次:\n");
scanf("%d",&n2);
if (head==NULL)
printf("错误!\n");
p3=head;
while (n2!=p3->number&&p3->next!=NULL)
{
p4=p3;
p3=p3->next;
}
if(n2==p3->number)
{
if(p3==head)
head=p3->next;
else p4->next=p3->next;
printf("已成功删除:%d 号车次信息!",n2);
n2=n2-1;
}
else printf("没有找到该车次信息!\n",n2);
return (head);
}
struct data *c(struct data *head) /*更改已登录的车次信息*/
{
int n3;
system("cls");
printf("欢迎来到更改信息系统!\n");
printf("请输入您要更改的车次号:\n");
scanf("%d",&n3);
p=head;
while(p!=NULL)
{
if(n3==p->number)
{
printf("请输入出发时间:");
scanf("%d",&p->time);
printf("请输入始发站:");
scanf("%s",p->strat_position);
printf("请输入终点站:");
scanf("%s",p->end_position);
printf("请输入行驶时间:");
scanf("%d",&p->long1);
printf("请输入载客量:");
scanf("%d",&p->capacity);
printf("请输入卖出车票数:");
scanf("%d",&p->sell_ticket);
break;
}
p=p->next;
}
printf("已成功更改车次信息!");
return (head);
}
void print(struct data *head)
{
p=head;
system("cls");
if(head!=NULL)
printf("\n******************************车次信息******************************\n");
printf("********************************************************************\n");
do
{
printf("**车号**发车时间**始发站**终点站**行车时间**额定载客数**已售出票数**\n");
printf("** %d ** %d ** %s ** %s ** %d ** %d ** %d **\n",p->number,p->time,p->strat_position,p->end_position,p->long1,p->capacity,p->sell_ticket);
p=p->next;
}
while(p!=NULL);
printf("********************************************************************\n");
printf("********************************************************************\n");
}
void main ()
{
void mmenu();
mmenu();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -