程序功能不能实现 求各位大哥帮帮忙
#include<stdio.h>#include<stdlib.h>
#include<string.h>
#define size 10
struct t_tickets
{
int number;
char begin[10];
char start[30];
char loadend[30];
float time;
int people;
int booked;
}t[size];
FILE *fp;
struct t_tickets t[size];
void save()
{
int i;
if((fp=fopen("ticket.text","w+"))==NULL)
{printf("cannot open the file\n");
return;
}
for(i=0;i<size;i++)
if(fwrite(&t[i],sizeof(struct t_tickets),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}
void input()
{
int i;
printf("----------请录入班次信息-----------\n");
printf("\n班次 发车时间 起点站 终点站 行车时间 额定载量 已定票数\n ");
for(i=0;i<size;i++)
{ printf("班次:\n");
printf("%d",&t[i].number);
printf("发车时间\n:");
printf("%s",&t[i].begin);
printf(" 起点站 \n:");
printf("%s",&t[i].start);
printf(" 终点站 \n :");
printf("%s",&t[i].loadend);
printf(" 行车时间\n :");
printf("%s",&t[i].time);
printf(" 额定载量\n :");
printf("%d",&t[i].people);
printf(" 已定票数 \n :");
printf("%d",&t[i].booked);
save();
}
}
void output()
{
int i;
fp=fopen("ticket.text","r");
for(i=0;i<size;i++)
{
fread(&t[i],sizeof(struct t_tickets),1,fp);
printf("班次:\n");
printf("%d",&t[i].number);
printf("发车时间\n:");
printf("%s",&t[i].begin);
printf(" 起点站 \n:");
printf("%s",&t[i].start);
printf(" 终点站 \n :");
printf("%s",&t[i].loadend);
printf(" 行车时间\n :");
printf("%s",&t[i].time);
printf(" 额定载量\n :");
printf("%d",&t[i].people);
printf(" 已定票数 \n :");
printf("%d",&t[i].booked);
}
fclose(fp);
}
void scan()
{
int k,number;
printf("请输入您想要查得班次号\n");
scan("%d",&number);
fp=fopen("ticket.text","r");
for(k=0;k<size;k++)
{
fread(&t[k],sizeof(struct t_tickets),1,fp);
if(number==t[k].number)
{
printf("班次:\n");
printf("%d",&t[k].number);
printf("发车时间\n:");
printf("%s",&t[k].begin);
printf(" 起点站 \n:");
printf("%s",&t[k].start);
printf(" 终点站 \n :");
printf("%s",&t[k].loadend);
printf(" 行车时间\n :");
printf("%s",&t[k].time);
printf(" 额定载量\n :");
printf("%d",&t[k].people);
printf(" 已定票数 \n :");
printf("%d",&t[k].booked);
printf("\n%8d %8s %8s %8s %6.2f %8d %8d \n",&t[k].number,&t[k].begin,&t[k].start,&t[k].loadend,&t[k].time,&t[k].people,&t[k].booked);
break;
}
}
if(k>=size)
printf("对不起,没有您想要查询班次,谢谢您使用系统\n");
fclose(fp);
}
void check()
{
int i; char loadend[30];
printf("请输入你想要的终点站名称\n");
scanf("%s",loadend);
fp=fopen("ticket.text","r");
for(i=0;i<size;i++)
{
fread(&t[i],sizeof(struct t_tickets),1,fp);
if(strcmp(loadend,t[i].loadend)==0)
{
printf("班次:\n");
printf("%d",&t[i].number);
printf("发车时间\n:");
printf("%s",&t[i].begin);
printf(" 起点站 \n:");
printf("%s",&t[i].start);
printf(" 终点站 \n :");
printf("%s",&t[i].loadend);
printf(" 行车时间\n :");
printf("%s",&t[i].time);
printf(" 额定载量\n :");
printf("%d",&t[i].people);
printf(" 已定票数 \n :");
printf("%d",&t[i].booked);
break;
}
}
if(i>=size)
printf("对不起,没有您想要查询班次,谢谢您使用系统\n");
fclose(fp);
}
void book()
{
int i,number,m;
char loadend[30];
int ticket=1;
if((fp=fopen("ticket.text","w+"))==NULL)
{
printf("not open the file\n");
return;
}
for(i=0;i<size;i++)
fread(&t[i],sizeof(struct t_tickets),1,fp);
printf("请输入您想要到的终点站:\n");
scanf("%s",loadend);
printf("到达终点站得班次有:\n");
for(i=0;i<size;i++)
if(strcmp(loadend,t[i].loadend)==0)
{
ticket=2;
printf("班次:\n");
printf("%d",&t[i].number);
printf("发车时间\n:");
printf("%s",&t[i].begin);
printf(" 起点站 \n:");
printf("%s",&t[i].start);
printf(" 终点站 \n :");
printf("%s",&t[i].loadend);
printf(" 行车时间\n :");
printf("%s",&t[i].time);
printf(" 额定载量\n :");
printf("%d",&t[i].people);
printf(" 已定票数 \n :");
printf("%d",&t[i].booked);
}
for(i=0;i<size;i++)
if(strcmp(loadend,t[i].loadend)==0)
if(t[i].booked<t[i].people)
{
ticket=3;
printf("请输入定票张数:\n");
scanf("%d",&m);
for(i=0;i<=size;i++)
if(number=t[i].number)
if((fp=fopen("ticket.text","w+"))==NULL)
{
printf("not open the file\n");
return;
}
{
t[i].booked=t[i].booked+m;
if((fp=fopen("ticket.text","w+"))==NULL)
{
printf("not open the file\n");
return;
}
for(i=0;i<size;i++)
fwrite(&t[i],sizeof(struct t_tickets),1,fp);
fclose(fp);
printf("您订票成功!谢谢使用本次服务!\n");
}
}
if(ticket==1)
printf("\n没有你查询的班次 ,请请查询后再输入\n");
if(ticket==2)
printf("\n你想要的票已售完, 请购买下一班\n");
fclose(fp);
if((fp=fopen("ticket.text","w+"))==NULL)
{
printf("not open the file\n");
return;
}
for(i=0;i<size;i++)
fwrite(&t[i],sizeof(struct t_tickets),1,fp);
fclose(fp);
}
void rback()
{
int number,i,m;
if((fp=fopen("ticket.text","w+"))==NULL)
{
printf("not open the file\n");
return;
}
for(i=0;i<=1;i++)
fread(&t[i],sizeof(struct t_tickets),1,fp);
printf("请输入退票的班次:\n");
scanf("%d",&m);
for(i=0;i<size;i++)
if(number==t[i].number)
{
t[i].booked=t[i].booked-m;
printf("退票成功!谢谢\n");
}
fclose(fp);
if((fp=fopen("ticket.text","w+"))==NULL)
{
printf("not open the file\n");
return;
}
for(i=0;i<size;i++)
fwrite(&t[i],sizeof(struct t_tickets),1,fp);
fclose(fp);
}
void over()
{
printf("\n谢谢您的使用,请按任意键结束\n");
exit(0);
}
void main()
{
int b;
printf("\t\t\t这里是车票管理系统,欢迎您的使用\n");
printf("\n********************************************************************************\n");
printf("\t\t\t===0,录入班次信息===\n");
printf("\t\t\t===1,浏览车票信息===\n");
printf("\t\t\t===2,车票班次查询===\n");
printf("\t\t\t===3,终点站 查询 ===\n");
printf("\t\t\t===4, 预订车票 ===\n");
printf("\t\t\t===5, 退订车票 ===\n");
printf("\t\t\t===6, 退出程序 ===\n");
printf("\n********************************************************************************\n");
do{
printf("\t\t\t---选折主菜单功能(0~6)----\n");
scanf("%d",&b);
switch(b)
{
case 0: input();break;
case 1: output;break;
case 2: scan();break;
case 3: check();break;
case 4: book();break;
case 5:rback();break;
case 6:over();break;
defualt:printf("enter error!\n");
}
}
while(1);
}
各位大哥我是个新人,平时上课不认真,这程序搞不懂到底哪出问题拉 , 能编译但是功能不能实现功能.请个位大哥帮帮忙,小弟感激不尽.