Получить список котов, занимающих конкретную квартиру и имеющих возраст в определенном диапазоне - C (СИ)
Формулировка задачи:
имеется список котов, структура о каждом
из которых содержит: кличку, возраст, характеристику,
номер квартиры. Получить список котов, занимающих конкретную
квартиру и имеющих возраст в определенном диапазоне.
Решение задачи: «Получить список котов, занимающих конкретную квартиру и имеющих возраст в определенном диапазоне»
textual
Листинг программы
#include <stdio.h>
#include <locale.h>
int main()
{
int a,b1,b2,i,k=0,result[15];
setlocale(LC_ALL, "Rus");
typedef struct //структура
{
char name[15];
int year;
int har; // Я не понял, что такое характеристика, поэтому в этой структуре это просто какое-то число
int flat;
} POINT;
POINT cats[3]={ {"Вася",3,13,14}, // Объявляем cats структурой из 3-х элементов и сразу же инициализируем их
// Если надо, можете сделать ввод данных вручную
{"Стёпа",7,19,14},
{"Муся",4,18,14}
};
//printf(" %s ",cats[0].name);
printf("Для поиска введите:\nКвартиру ");
scanf("%d",&a);
printf("Нижнюю границу возраста ");
scanf("%d",&b1);
printf("Верхнюю границу возраста ");
scanf("%d",&b2);
printf("\nРезультаты поиска:\n\n");
for (i=0; i<3; ++i)
{
if ( cats[i].flat==a )
{
if ( cats[i].year>=b1 && cats[i].year<=b2 )
printf("Кот по кличке '%s', Возраст %d, Характеристика %d, Квартира %d\n\n",
cats[i].name, cats[i].year, cats[i].har, cats[i].flat);
}
}
getch();
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с I/O и задаем локаль на русском языке
- Объявляем структуру
POINTдля хранения информации о котах - Инициализируем массив структур
catsиз 3 элементов - Запрашиваем у пользователя номер квартиры, нижнюю и верхнюю границы возраста котов
- Выводим сообщение о начале поиска
- В цикле проходимся по всем элементам массива
cats - Проверяем, соответствует ли квартира указанному номеру
- Если да, то проверяем, попадает ли возраст кота в указанный диапазон
- Если все условия выполняются, выводим информацию о найденном коте
- Завершаем программу