Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- #define MAX 150
- struct avto {
- char brand_model[50];
- int year;
- float capacity;
- int horsepower;
- float mileage;
- };
- void init_list(struct avto avto_list[]);
- int delete(int kolavt), list(int kolavt, struct avto avto_list[]), enter(int kolavt, struct avto avto_list[]), menu_select(void), find_free(struct avto avto_list[]), check_vvod(int kolpunkt);
- int main(void) {
- char choice;
- struct avto avto_list[MAX], avto_list2[MAX], help;
- help.brand_model[0] = '/0';
- int kolavt = 0;
- setlocale(LC_ALL, "Russian");
- init_list(avto_list); /* инициализация массива структур */
- init_list(avto_list2);
- for (;;) {
- choice = menu_select();
- switch (choice) {
- case 1: kolavt = enter(kolavt, avto_list);
- break;
- case 2: kolavt = delete(kolavt, avto_list);
- break;
- case 3: list(kolavt, avto_list);
- break;
- case 4: sort_list(kolavt, avto_list, help, avto_list2);
- break;
- case 5: exit(0);
- }
- }
- return 0;
- }
- /*Проверка ввода целочисленных значений*/
- int check_vvod(int kolpunkt) {
- int vvod = 0;
- char c = 0;
- while ((scanf_s("%d%c", &vvod, &c, 1) != 2) || (vvod < 1) || (vvod > kolpunkt) || (c != 'n')) {
- printf("Введенное значение некорректно! Попробуйте еще: ");
- if (c != 'n') while (getchar() != 'n');
- c = 0;
- }
- return vvod;
- }
- /*Проверка ввода дробных значений*/
- float check_vvod2(float value) {
- float vvod = 0;
- char c = 0;
- while ((scanf_s("%f%c", &vvod, &c, 1) != 2) || (vvod < 1) || (vvod > value) || (c != 'n')) {
- printf("Введенное значение некорректно! Попробуйте еще: ");
- if (c != 'n') while (getchar() != 'n');
- c = 0;
- }
- return vvod;
- }
- /* Инициализация базы авто. */
- void init_list(struct avto avto_list[])
- {
- for (int t = 0; t < MAX; t++) avto_list[t].brand_model[0] = '