Advertisement
alexx876

Untitled

Dec 7th, 2018
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.32 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h> //Математ. библиотека
  3. #include <locale.h>
  4.  
  5. //Описываем структуру автомобиля
  6. struct avto {
  7.     char marka[200], //Марка
  8.          ktype[200], //тип кузова
  9.          model[200], //модель
  10.          number[200], //Номер авто
  11.          color[200]; //цвет
  12.     int year, mileage, price; //год выпуска и пробег, цена
  13. };
  14.  
  15. //Функция выводит значение структуры
  16. void printInfo(int i, struct avto *list) {
  17.     printf("Марка - %s\n", list[i].marka);
  18.     printf("Тип кузова - %s\n", list[i].ktype);
  19.     printf("Модель - %s\n", list[i].model);
  20.     printf("Номер - %s\n", list[i].number);
  21.     printf("Цвет - %s\n", list[i].color);
  22.     printf("Год выпуска - %d\n", list[i].year);
  23.     printf("Пробег - %d\n", list[i].mileage);
  24.     printf("Цена - %d\n", list[i].price);
  25. }
  26.  
  27. int main() {
  28.     setlocale(LC_ALL, "ru"); //Ставим русский язык
  29.  
  30.     struct avto list[10]; //Создаем массив структур на 10 элементов
  31.    
  32.     int minPrice = 0, maxPrice = 0; //Переменные для записи минимальной и макс цены авто
  33.  
  34.     //Добавляем элементы
  35.     for (int i = 0; i < 10; i++) {
  36.         printf("Добавление машины %d:\n----------------------------\n", i+1);
  37.         //Запрашиваем марку
  38.         do {
  39.             printf("Введите марку: ");
  40.             scanf("%s",list[i].marka);
  41.         } while(strlen(list[i].marka) < 1); //Выполняем пока пользователь не введет какой либо текст
  42.  
  43.         //Запрашиваем тип кузова
  44.         do {
  45.             printf("Введите тип кузова: ");
  46.             scanf("%s",list[i].ktype);
  47.         } while(strlen(list[i].ktype) < 1); //Выполняем пока пользователь не введет какой либо текст
  48.  
  49.         //Запрашиваем тип модель
  50.         do {
  51.             printf("Введите модель: ");
  52.             scanf("%s",list[i].model);
  53.         } while(strlen(list[i].model) < 1); //Выполняем пока пользователь не введет какой либо текст
  54.  
  55.         //Запрашиваем номер
  56.         do {
  57.             printf("Введите номер: ");
  58.             scanf("%s",list[i].number);
  59.         } while(strlen(list[i].number) < 1); //Выполняем пока пользователь не введет какой либо текст
  60.        
  61.         //Запрашиваем цвет
  62.         do {
  63.             printf("Введите цвет: ");
  64.             scanf("%s",list[i].color);
  65.         } while(strlen(list[i].color) < 1); //Выполняем пока пользователь не введет какой либо текст
  66.        
  67.         //Запрашиваем год
  68.         do {
  69.             printf("Введите год выпуска: ");
  70.             scanf("%d",&list[i].year);
  71.         } while(list[i].year < 1 || list[i].year > 2019);
  72.  
  73.         //Запрашиваем пробег
  74.         do {
  75.             printf("Введите пробег: ");
  76.             scanf("%d",&list[i].mileage);
  77.         } while(list[i].mileage < 0);
  78.  
  79.         //Запрашиваем цену
  80.         do {
  81.             printf("Введите цену: ");
  82.             scanf("%d",&list[i].price);
  83.         } while(list[i].price < 0);
  84.  
  85.         //Если цена машины больше цены самой дорогой мащины до этого, то изменяем значение
  86.         if (list[i].price > maxPrice) maxPrice = list[i].price;
  87.  
  88.         //Если цена машины меньше цены самой деш. мащины до этого, то изменяем значение || или первая итерация
  89.         if (list[i].price < minPrice || i == 0) minPrice = list[i].price;
  90.  
  91.         printf("\n\n\n"); //новые строки
  92.     }
  93.  
  94.     printf("Самая дорогая машина в списке:\n\n");
  95.     //Выводим самую дорогую машину
  96.     for (int i = 0; i < 10; i++) {
  97.         //Если нашли элемент с макс ценой, то выводим
  98.         if (list[i].price == maxPrice) printInfo(i, list);
  99.     }
  100.  
  101.     printf("Самая дешевая машина в списке:\n\n");
  102.     //Выводим самую дешевую машину
  103.     for (int i = 0; i < 10; i++) {
  104.         //Если нашли элемент с мин ценой, то выводим
  105.         if (list[i].price == minPrice) printInfo(i, list);
  106.     }
  107.     return 1;
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement