Описать структуру CAR (марка машины, цвет, цена, максимальная скорость) - C (СИ)
Формулировка задачи:
Не могу разобраться со структурами. Описать структуру CAR (марка машины, цвет, цена, максимальная скорость). Введите данные в массив, состоящий из шести элементов типа CAR. Выведите на экран информацию о машинах, скорость которых меньше введенного с клавиатуры числа. Если такой машины нет, то программа должна выдать соответствующее сообщение на экран.
Решение задачи: «Описать структуру CAR (марка машины, цвет, цена, максимальная скорость)»
textual
Листинг программы
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "rus");
const int n = 6;
int i, j = 0;
double p, x=0;
struct car
{
char*model;
char*cvet;
int maxsc;
double price;
};
car mass[n] = {
{ "BMV", "red", 220, 8.600 },
{ "FIAT", "green", 200, 6.700 },
{ "FORD", "black", 195, 12.300 },
{ "FORD", "green", 190, 12.100 },
{ "KIA", "blue", 210, 10.250 },
{ "LADA", "white", 200, 4.200 } };
for (i = 0; i < n; ++i)
{
printf("цвет %s, модель %s, скорость %d км/ч, цена %.3lf", mass[i].cvet, mass[i].model, mass[i].maxsc, mass[i].price);
printf("\n");
}
printf("Введите скорость:");
scanf("%lf" ,&p);
for (i = 0; i < n; ++i)
{
if (p>=mass[i].maxsc)
{
printf("цвет %s, модель %s, скорость %d, цена %.3lf", mass[i].cvet, mass[i].model, mass[i].maxsc, mass[i].price);
printf("\n");
j++;
}
}
if (j == 0)
{
printf("машина не найдена");
printf("\n");
}
return 0;
}
Объяснение кода листинга программы
- Установка локали на русский язык с помощью функции setlocale.
- Объявление константы n, которая определяет количество автомобилей в массиве.
- Объявление переменных i, j, p, x и структуры car.
- Определение массива структур car с помощью ключевого слова struct и указанием полей структуры.
- Инициализация массива структур car с помощью ключевых слов { и }, где каждая инициализирующая запись представляет собой структуру car с уникальными значениями полей.
- Поиск и вывод на экран информации об автомобилях, чья максимальная скорость больше или равна введенной с помощью функции scanf.
- Если количество найденных автомобилей равно 0, выводится сообщение
машина не найдена. - Возврат 0 в конце программы означает успешное выполнение.