Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <conio.h>
- #include <windows.h>
- #include <string.h>
- void menu(void);
- void vvod(void);
- void sort(void);
- void search(void);
- void change(void);
- void deletee(void);
- void vivod(void);
- int structsize=0,i,j,k,kol,q,intbuf;
- char choice,buffer[30],check;
- FILE *out;
- /*
- регистрационный номер автомобиля
- марка
- пробег
- мастер выполнивший ремонт
- сумма ремонта.
- */
- struct struct1{
- char marka[30],master[30],nomer[30];
- int probeg,sum;
- };
- struct struct1 avtoservis[50];
- struct struct1 tmp;
- void fileop(void){
- if (!(out=fopen("file", "w+"))){
- printf("Невозможно создать/открыть файл\n"); return;
- }
- for (i=0;i<structsize;i++){
- fprintf(out ,"%s\n%s\n%d км\n%s\n%d руб.\n\n", avtoservis[i].nomer, avtoservis[i].marka, avtoservis[i].probeg, avtoservis[i].master, avtoservis[i].sum);
- }
- fclose(out);
- return;
- }
- int main(void){
- SetConsoleCP (1251);
- SetConsoleOutputCP (1251);
- menu();
- return 0;
- }
- void menu(void){
- while (1){
- printf("1)Ввод\n2)Сортировка по сумме\n3)Поиск\n4)Изменение\n5)Удаление\n6)Распечатать содержимое файла\n7)Выход\n");
- scanf(" %c", &choice);
- switch (choice)
- {
- case '1':
- vvod();
- fileop();
- break;
- case '2':
- if (structsize<1){
- printf("создайте массив!\n");
- break;
- }
- sort();
- fileop();
- break;
- case '3':
- if (structsize<1){
- printf("создайте массив!\n");
- break;
- }
- search();
- fileop();
- break;
- case '4':
- if (structsize<1){
- printf("создайте массив!\n");
- break;
- }
- change();
- fileop();
- break;
- case '5':
- if (structsize<1){
- printf("создайте массив!\n");
- break;
- }
- deletee();
- fileop();
- break;
- case '6':
- if (structsize<1){
- printf("создайте массив!\n");
- break;
- }
- vivod();
- fileop();
- break;
- case '7':
- return;
- default:
- printf("ошибка\n");
- break;
- }
- }
- return;
- }
- void vvod(void){
- while (1){
- printf("#%d\n", structsize+1);
- printf("Введите номер: ");
- scanf("%s", &avtoservis[structsize].nomer);
- printf("Введите марку: ");
- scanf("%s", &avtoservis[structsize].marka);
- printf("Введите пробег: ");
- scanf("%d", &avtoservis[structsize].probeg);
- printf("Введите имя мастера: ");
- scanf("%s", &avtoservis[structsize].master);
- printf("Введите сумму ремонта: ");
- scanf("%d", &avtoservis[i].sum);
- structsize++;
- printf("\n1)Добавить еще структуру\n2)Прекратить ввод\n");
- scanf(" %c", &choice);
- switch (choice){
- case '1':
- printf("#%d\n", structsize+1);
- printf("Введите номер: ");
- scanf("%s", &avtoservis[structsize].nomer);
- printf("Введите марку: ");
- scanf("%s", &avtoservis[structsize].marka);
- printf("Введите пробег: ");
- scanf("%d", &avtoservis[structsize].probeg);
- printf("Введите имя мастера: ");
- scanf("%s", &avtoservis[structsize].master);
- printf("Введите сумму ремонта: ");
- scanf("%d", &avtoservis[i].sum);
- structsize++;
- break;
- case '2':
- return;
- default:
- printf("Неверное значение\n");
- break;
- }
- }
- return;
- }
- void sort(void){
- for (i=0;i<structsize;i++){
- for (j=0;j<structsize;j++){
- if (avtoservis[i].sum>avtoservis[j].sum){
- tmp=avtoservis[j];
- avtoservis[j]=avtoservis[i];
- avtoservis[i]=tmp;
- }
- }
- }
- return;
- }
- void search(void){
- printf("Искать по\n1)Марке\n2)Мастеру\n3)Номеру\n4)Сумме ремонта\n5)Пробегу\n");
- scanf(" %c", &choice);
- char searchvar[30];
- int flag=0,searchint;
- switch (choice)
- {
- case '1':
- kol=0;
- printf("Какому?\n");
- scanf("%s", &searchvar);
- puts("");
- for (i=0;i<structsize;i++){
- if (strcmp(searchvar, avtoservis[i].marka)==0){
- kol++;
- printf("%s\n%s\n%d км\n%s\n%d руб.\n\n", avtoservis[i].nomer, avtoservis[i].marka, avtoservis[i].probeg, avtoservis[i].master, avtoservis[i].sum);
- }
- }
- break;
- case '2':
- kol=0;
- printf("Какому?\n");
- scanf("%s", &searchvar);
- puts("");
- for (i=0;i<structsize;i++){
- if (strcmp(searchvar, avtoservis[i].master)==0){
- kol++;
- printf("%s\n%s\n%d км\n%s\n%d руб.\n\n", avtoservis[i].nomer, avtoservis[i].marka, avtoservis[i].probeg, avtoservis[i].master, avtoservis[i].sum);
- }
- }
- break;
- case '3':
- kol=0;
- printf("Какому?\n");
- scanf("%s", &searchvar);
- puts("");
- for (i=0;i<structsize;i++){
- if (strcmp(searchvar, avtoservis[i].nomer)==0){
- kol++;
- printf("%s\n%s\n%d км\n%s\n%d руб.\n\n", avtoservis[i].nomer, avtoservis[i].marka, avtoservis[i].probeg, avtoservis[i].master, avtoservis[i].sum);
- }
- }
- break;
- case '4':
- kol=0;
- printf("Какой?\n");
- scanf("%d", &searchint);
- puts("");
- for (i=0;i<structsize;i++){
- if (avtoservis[i].sum==searchint){
- kol++;
- printf("%s\n%s\n%d км\n%s\n%d руб.\n\n", avtoservis[i].nomer, avtoservis[i].marka, avtoservis[i].probeg, avtoservis[i].master, avtoservis[i].sum);
- }
- }
- break;
- case '5':
- kol=0;
- printf("Какому?\n");
- scanf("%d", &searchint);
- puts("");
- for (i=0;i<structsize;i++){
- if (avtoservis[i].probeg==searchint){
- kol++;
- printf("%s\n%s\n%d км\n%s\n%d руб.\n\n", avtoservis[i].nomer, avtoservis[i].marka, avtoservis[i].probeg, avtoservis[i].master, avtoservis[i].sum);
- }
- }
- break;
- }
- return;
- }
- void change(void){
- printf("\nИзменить структуру #");
- scanf("%d", &i);
- if (i<1 || i>structsize){
- printf("Такой структуры не существует\n");
- return;
- }
- printf("1)Фамилию\n2)Имя\n3)Отчество\n4)Домашний адрес\n5)Группу\n6)Рейтинг\n");
- scanf(" %c", &choice);
- switch (choice)
- {
- case '1':
- printf("Введите марку: ");
- scanf("%s", &avtoservis[i-1].marka);
- break;
- case '2':
- printf("Введите имя мастера: ");
- scanf("%s", &avtoservis[i-1].master);
- break;
- case '3':
- printf("Введите номер: ");
- scanf("%s", &avtoservis[i-1].nomer);
- break;
- case '4':
- printf("Введите сумму ремонта: ");
- scanf("%d", &avtoservis[i-1].sum);
- break;
- case '5':
- printf("Введите пробег: ");
- scanf("%d", &avtoservis[i-1].probeg);
- break;
- default:
- printf("ошибка\n");
- break;
- }
- return;
- }
- void deletee(void){
- printf("Удалить структуру #");
- scanf("%d", &j);
- if (j<1 || j>structsize){
- printf("Такой структуры не существует\n");
- return;
- }
- structsize--;
- if (structsize==0){
- printf("Массив удален\n");
- }
- for (i=j-1;i<structsize;i++){
- avtoservis[i]=avtoservis[i+1];
- }
- return;
- }
- void vivod(void){
- for (i=0;i<structsize;i++){
- printf("%s\n%s\n%d км\n%s\n%d руб.\n\n", avtoservis[i].nomer, avtoservis[i].marka, avtoservis[i].probeg, avtoservis[i].master, avtoservis[i].sum);
- }
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement