【发布时间】:2021-03-17 14:18:55
【问题描述】:
我正在制作一个注册客户汽车并具有一些过滤选项的应用程序。我几乎可以轻松地完成所有这些操作,但是按模型过滤是行不通的。如果有人可以指导我做错了什么,将不胜感激。
gitlab中的完整代码:https://gitlab.com/salgadoth/car-ownership-in-c/-/blob/master/carownership.c
void listModel()
{
int i, comp;
char model[20];
printf("\nTYPE IN DESIRED MODEL:\n");
fflush(stdin);
scanf("%s", &model);
printf("DESIRED MODEL: %s\n\n", model);
for(i = 0; i < counter; i++)
{
if(strcmp(model, car[i].model) == 0)
{
printf("\nBRAND: %s", car[i].brand);
printf("\nMODEL: %s", car[i].model);
printf("\nLICENSE PLATE: %s", car[i].license_plate);
printf("\nYEAR OF FABRICATION: %d\n", car[i].year);
printf("---------------------------\n");
}
else
{
printf("\nERROR - NO CAR FOUND");
return 1;
}
}
}
【问题讨论】:
-
永远不要使用
fflush(stdin)- 它充其量是由实现定义的。而且你不应该在scanf("%s", &model);中有&。 -
@AndreasWenzel 我使用缩进,但是当我将代码复制/粘贴到此处时,它丢失了所有缩进:/
-
@user3121023 car 是一个结构体
-
请编辑问题以在文本和问题中包含足够的代码,以便我们可以编译并复制错误。不要包含复制错误不需要的任何代码,最好将任何输入代码替换为仅触发错误的代码。
-
@ThiagoSalgado:您可以将代码括在`字符中以将其标记为代码。这是在 cmets 中标记代码的唯一方法。在实际问答中,还可以通过其他方式标记代码。