У меня есть массив структур.Мне нужно, чтобы пользователь ввел имя, затем поискал структуру соответствия, затем вывел эту информацию.Я использую strcmp для сравнения строки на совпадение.Таким образом, далеко неважно, что пользователь вводит во весь список, выводится на печать.
Я использую цикл for для циклического перемещения по массиву, чтобы найти подходящее имя.Затем я использовал оператор if с strcmp для сравнения строк на совпадение.Вместо того, чтобы печатать только соответствующую строку, он печатает весь список.
printf("Enter city name:\n");
scanf("%s", city);
//change city to lower case before comparison
for(i=0; i<strlen(city); i++)
city[i] = low(city[i]);
//fp = fopen(outfile, "w");
printf("The population density is:\n");
for(i=0;i<10;i++){
if ( strcmp(city, veg[i].name)) {
density = veg[i].population / veg[i].area;
printf("%s %.2f\n", veg[i].name, density );
}
}
Пользователь должен ввести название города, содержащегося в структуре.Цикл должен проходить через структуру, пока не найдет совпадение, и вывести название города с плотностью населения.Тем не менее, оператор if, похоже, ничего не делает.Печатается весь список, а не только совпадение.