所以我遇到了一个问题,我必须为学校制作一个出租车程序,所以,我有一个案例,我需要给用户一个改变汽车可用性的选项,但对于那个用户& #39;需要提供牌照才能继续。当我向struct添加两辆车时,在案例3中,程序只接受车牌1正确...
void alterarDisponiblidadeTaxi (TAXIS taxis[], int qtd_taxis ){
int i=0;
char matr[10];
if(0>=qtd_taxis){
printf("No data has given yet!\a\n");
return; }
printf("Insert the vehicle's plate:\n");
scanf("%s",matr);
if (strcmp(matr,taxis[i].matricula) == 0){
printf("License plate found with sucess!\n");
return 0;
}
if (strcmp(matr,taxis[i].matricula) != 0){
printf("License plate not found with sucess!\a\n");
return 0;
}
}
答案 0 :(得分:1)
我想你忘了添加一个for
循环。如i=0
,它只会检查第一个牌照。
void alterarDisponiblidadeTaxi (TAXIS taxis[], int qtd_taxis ){
int i=0;
char matr[10];
if(0>=qtd_taxis){
printf("No data has given yet!\a\n");
return; }
printf("Insert the vehicle's plate:\n");
scanf("%s",matr);
for(int i=0; i<qtd_taxis; i++) {
if (strcmp(matr,taxis[i].matricula) == 0){
printf("License plate found with sucess!\n");
return 0;
}
}
printf("License plate not found with sucess!\a\n");
return 0;
}