穿越火线林肯微博:高手帮忙!谢谢啦1
来源:百度文库 编辑:高校问答 时间:2024/05/04 15:51:27
编了一个小程序,循环控制出了问题,请各位高手帮忙!
void find_flight() /*查询航线*/
{
char lookup[10];
int i=0,j,k,n;
printf("您好!这是查询系统,要查询请按1键,退出按其他数字键\n");
scanf("%d",&j);
printf("\n 1========>按航班号查询");
printf("\n 2========>按终点站查询");
scanf("%d",&k);
if(j==1)
{ if(k==1)
{ printf("请输入航班号\n");
scanf("%d",&n);
for(i=0;flight[i].end_point!='\0';i++)
if(n!=flight[i].scheduled_num&&i==20)
printf("对不起,没有通往这里的航线!\n");
else
{ printf("航班号:%d,飞机号:%d,飞机抵达城市:%s,最近一次星期几起飞:%d,航班票价:%d, 余票量为:%d\n",
flight[i].scheduled_num,flight[i].plane_num,flight[i].end_point,flight[i].data,
flight[i].price,flight[i].leavings);
}
}
}
if(k==2)
{
printf("请输入终点站名\n");
scanf("%s",lookup);
while (flight[i].end_point!='\0')
{ if(lookup!=flight[i].end_point)
{ i++;
if(i==20) printf("对不起,没有通往这里的航线!\n");
else break;
}
if(lookup==flight[i].end_point)
printf("航班号:%d,飞机号:%d,飞机抵达城市:%s,最近一次星期几起飞:%d,航班票价:%d, 余票量为:%d\n",
flight[i].scheduled_num,flight[i].plane_num,flight[i].end_point,flight[i].data,
flight[i].price,flight[i].leavings);
}
}
}
程序运行是输出正确结果,但又跟着输出一些错误的结果,把数组中的所有都输出.请各位高手帮忙,修改一下,谢了!
void find_flight() /*查询航线*/
{
char lookup[10];
int i=0,j,k,n;
printf("您好!这是查询系统,要查询请按1键,退出按其他数字键\n");
scanf("%d",&j);
printf("\n 1========>按航班号查询");
printf("\n 2========>按终点站查询");
scanf("%d",&k);
if(j==1)
{ if(k==1)
{ printf("请输入航班号\n");
scanf("%d",&n);
for(i=0;flight[i].end_point!='\0';i++)
if(n!=flight[i].scheduled_num&&i==20)
printf("对不起,没有通往这里的航线!\n");
else
{ printf("航班号:%d,飞机号:%d,飞机抵达城市:%s,最近一次星期几起飞:%d,航班票价:%d, 余票量为:%d\n",
flight[i].scheduled_num,flight[i].plane_num,flight[i].end_point,flight[i].data,
flight[i].price,flight[i].leavings);
}
}
}
if(k==2)
{
printf("请输入终点站名\n");
scanf("%s",lookup);
while (flight[i].end_point!='\0')
{ if(lookup!=flight[i].end_point)
{ i++;
if(i==20) printf("对不起,没有通往这里的航线!\n");
else break;
}
if(lookup==flight[i].end_point)
printf("航班号:%d,飞机号:%d,飞机抵达城市:%s,最近一次星期几起飞:%d,航班票价:%d, 余票量为:%d\n",
flight[i].scheduled_num,flight[i].plane_num,flight[i].end_point,flight[i].data,
flight[i].price,flight[i].leavings);
}
}
}
程序运行是输出正确结果,但又跟着输出一些错误的结果,把数组中的所有都输出.请各位高手帮忙,修改一下,谢了!
反正,在每个应该退出的地方都缺 一个 return。