为什么输入信息有误,求解决
#include"stdio.h"
#include"string.h"
#include"stdlib.h"
int len=0;//乘客
struct passenger //结构体
{
char name[10]; //姓名
char seat[10]; //座位号
char ID[20]; //身份证
};
struct passenger s[20];
char seat_symbol[20][4];
void chushihua()
{
int i,j;
for(i=0;i<20;i++)
for(j=0;j<4;j++)
seat_symbol[i][j]='1';
}
void _seat() //座位分布
{
printf("\t\t当前座位;\n");
FILE*fp=fopen("xinxi.txt","r+");
char a;
if(fp==NULL) printf("read error!\n");
else
a=fgetc(fp);
while(!feof(fp))
{
putchar(a);
a=fgetc(fp);
}
fclose(fp);
}
int order()
{
char a;
int row,col;
int choice2=0,length=0;
scanf("%s",&s[len].name);
scanf("%s",&s[len].seat);
scanf("%s",&s[len].ID);
length=strlen(s[len].seat);
a=s[len].seat[length-1];
switch(a)
{
case'A':col=0;
break;
case'B':col=1;
break;
case'C':col=2;
break;
case'D':col=3;
break;
}
if(length==2) row=s[len].seat[0]-41;
else row=(s[len].seat[0]-40)*10+s[len].seat[1]-41;
if(seat_symbol[row][col]=='0')
{
printf("该座位已被选中,请更换您的选择\n");
return 0;
}
else if(row<0||row>20)
{
printf("您输入有误,请重新输入");
return 0;
}
else seat_symbol[row][col]=='0';
printf("\t\是否继续添加乘客\n");
printf("\t\t1.继续添加\n");
printf("\t\t2.添加完毕\n");
printf("\t\t3.没有想要的座位");
scanf("%d",&choice2);
if(choice2==1)
{
printf("请输入乘客信息: \n");
len+=1;
return 0;
}
else if(choice2==2)
{
printf("您的乘客清单如下: \n");
return 1;
}
else if(choice2==3)
{
printf("很遗憾我们未能为您提供满意的服务,请您更换别的航班,您已经预定的座位如下: \n");
return 1;
}
}
void print()//乘客清单
{
int i;
for(i=0;i<=len;i++) printf("姓名:%s\t预订的座位;%s\t身份证号码:%s\n",s[i].name,s[i].seat,s[i].ID);
}
void page()//订票
{
printf("\t\t=======飞机订票系统=======\t\t\n");
printf("\t\tY、订票\t\t\n\n");
printf("\t\tN、退出\t\t\n\n");
char choice;
int f=0;
scanf("%c",&choice);
switch(choice)
{
case'Y':
{
printf("\t\t=======飞机订票系统=======\t\t\n");
printf("\t\t1、订票\t\t\n\n");
printf("\t\t2、退出\t\t\n\n");
int choice1;
scanf("%d",&choice1);
if(choice1==1)
{
_seat();
printf("\n");
printf("请输入乘客信息:(包括:姓名、座位号、身份证号码)\n示例:张三 17D 64583157454\n");
f=order();
while(f==0) f=order();
if(f==1)
print();
break;
}
else if(choice1=2) break;
else
{
printf("error!");
break;
}
}
case'N':
{
break;
}
default:
{
printf("error!");
break;
}
}
}
main()
{
chushihua();
page();
}