C程序只读取第一个车牌
C Program only reading first License Plate
所以我遇到了一个问题,我必须为学校制作一个出租车程序,所以,我有一个案例,我需要给用户一个选项来改变汽车的可用性,但对于那个用户的需要提供车牌才能继续。当我将两辆车添加到结构中时,在案例 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;
}
}
我想你忘了添加一个 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;
}
所以我遇到了一个问题,我必须为学校制作一个出租车程序,所以,我有一个案例,我需要给用户一个选项来改变汽车的可用性,但对于那个用户的需要提供车牌才能继续。当我将两辆车添加到结构中时,在案例 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;
}
}
我想你忘了添加一个 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;
}