Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h> //Математ. библиотека
- #include <locale.h>
- //Описываем структуру автомобиля
- struct avto {
- char marka[200], //Марка
- ktype[200], //тип кузова
- model[200], //модель
- number[200], //Номер авто
- color[200]; //цвет
- int year, mileage, price; //год выпуска и пробег, цена
- };
- //Функция выводит значение структуры
- void printInfo(int i, struct avto *list) {
- printf("Марка - %s\n", list[i].marka);
- printf("Тип кузова - %s\n", list[i].ktype);
- printf("Модель - %s\n", list[i].model);
- printf("Номер - %s\n", list[i].number);
- printf("Цвет - %s\n", list[i].color);
- printf("Год выпуска - %d\n", list[i].year);
- printf("Пробег - %d\n", list[i].mileage);
- printf("Цена - %d\n", list[i].price);
- }
- int main() {
- setlocale(LC_ALL, "ru"); //Ставим русский язык
- struct avto list[10]; //Создаем массив структур на 10 элементов
- int minPrice = 0, maxPrice = 0; //Переменные для записи минимальной и макс цены авто
- //Добавляем элементы
- for (int i = 0; i < 10; i++) {
- printf("Добавление машины %d:\n----------------------------\n", i+1);
- //Запрашиваем марку
- do {
- printf("Введите марку: ");
- scanf("%s",list[i].marka);
- } while(strlen(list[i].marka) < 1); //Выполняем пока пользователь не введет какой либо текст
- //Запрашиваем тип кузова
- do {
- printf("Введите тип кузова: ");
- scanf("%s",list[i].ktype);
- } while(strlen(list[i].ktype) < 1); //Выполняем пока пользователь не введет какой либо текст
- //Запрашиваем тип модель
- do {
- printf("Введите модель: ");
- scanf("%s",list[i].model);
- } while(strlen(list[i].model) < 1); //Выполняем пока пользователь не введет какой либо текст
- //Запрашиваем номер
- do {
- printf("Введите номер: ");
- scanf("%s",list[i].number);
- } while(strlen(list[i].number) < 1); //Выполняем пока пользователь не введет какой либо текст
- //Запрашиваем цвет
- do {
- printf("Введите цвет: ");
- scanf("%s",list[i].color);
- } while(strlen(list[i].color) < 1); //Выполняем пока пользователь не введет какой либо текст
- //Запрашиваем год
- do {
- printf("Введите год выпуска: ");
- scanf("%d",&list[i].year);
- } while(list[i].year < 1 || list[i].year > 2019);
- //Запрашиваем пробег
- do {
- printf("Введите пробег: ");
- scanf("%d",&list[i].mileage);
- } while(list[i].mileage < 0);
- //Запрашиваем цену
- do {
- printf("Введите цену: ");
- scanf("%d",&list[i].price);
- } while(list[i].price < 0);
- //Если цена машины больше цены самой дорогой мащины до этого, то изменяем значение
- if (list[i].price > maxPrice) maxPrice = list[i].price;
- //Если цена машины меньше цены самой деш. мащины до этого, то изменяем значение || или первая итерация
- if (list[i].price < minPrice || i == 0) minPrice = list[i].price;
- printf("\n\n\n"); //новые строки
- }
- printf("Самая дорогая машина в списке:\n\n");
- //Выводим самую дорогую машину
- for (int i = 0; i < 10; i++) {
- //Если нашли элемент с макс ценой, то выводим
- if (list[i].price == maxPrice) printInfo(i, list);
- }
- printf("Самая дешевая машина в списке:\n\n");
- //Выводим самую дешевую машину
- for (int i = 0; i < 10; i++) {
- //Если нашли элемент с мин ценой, то выводим
- if (list[i].price == minPrice) printInfo(i, list);
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement