Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#pragma once
- struct magaz{
- char adres[size];
- int open[2];
- int close[2];
- int index_magazin;
- };
- struct magaz magazin[size];
- int magazinIDs=0,magazinSize=0;
- void chitatMagazin(){
- FILE *file;
- file=fopen("magazin", "rb");
- fread(&magazinSize,sizeof(magazinSize),1,file);
- fread(&magazinIDs,sizeof(magazinIDs),1,file);
- fread(magazin,sizeof(struct magaz),magazinSize,file);
- fclose(file);
- }
- void pisatMagazin(){
- FILE *file;
- file=fopen("magazin", "w+b");
- fwrite(&magazinSize,sizeof(magazinSize),1,file);
- fwrite(&magazinIDs,sizeof(magazinIDs),1,file);
- fwrite(magazin,sizeof(struct magaz),magazinSize,file);
- fclose(file);
- }
- void dobavitMagazin();
- void izmenitMagazin();
- void udalitMagazin();
- void vivestiMagazin();
- void sortirovatMagazini();
- void menu_mag(){
- while (1){
- cls;
- printf("1 - Добавить\n");
- printf("2 - Изменить\n");
- printf("3 - Удалить\n");
- printf("4 - Вывести\n");
- printf("5 - Отсортировать\n");
- printf("6 - Выход\n");
- switch (_getch()){
- case '1':
- dobavitMagazin();
- break;
- case '2':
- izmenitMagazin();
- break;
- case '3':
- udalitMagazin();
- break;
- case '4':
- vivestiMagazin();
- break;
- case '5':
- sortirovatMagazini();
- break;
- case '6':
- return;
- break;
- default:
- break;
- }
- }
- }
- void vivestiMagazin(){
- cls;
- printf("__________________________________________________\n");
- printf("|# |Адрес |Открытие |Закрытие |\n");
- printf("|_____|____________________|__________|__________|\n");
- int i;
- char str[size],str2[size];
- for (i=0;i<magazinSize;i++){
- sprintf(str,"%d", i+1);
- printf("|%5s|", str);
- printf("%20s|", magazin[i].adres);
- sprintf(str,"%d", magazin[i].open[0]);
- strcpy(str2,str);
- sprintf(str,"%d", magazin[i].open[1]);
- strcat(str2,":");
- strcat(str2,str);
- printf("%10s|", str2);
- sprintf(str,"%d", magazin[i].close[0]);
- strcpy(str2,str);
- sprintf(str,"%d", magazin[i].close[1]);
- strcat(str2,":");
- strcat(str2,str);
- printf("%10s|\n", str2);
- printf("|_____|____________________|__________|__________|\n");
- }
- pause;
- }
- void dobavitMagazin(){
- printf("Адрес\n");
- fflush(stdin);
- gets(magazin[magazinSize].adres);
- printf("Время открытия чч:мм\n");
- fflush(stdin);
- scanf("%d:%d", &magazin[magazinSize].open[0], &magazin[magazinSize].open[1]);
- printf("Время закрытия чч:мм\n");
- fflush(stdin);
- scanf("%d:%d", &magazin[magazinSize].close[0], &magazin[magazinSize].close[1]);
- magazin[magazinSize].index_magazin=magazinIDs;
- magazinIDs++;
- magazinSize++;
- pisatMagazin();
- }
- void izmenitMagazin(){
- vivestiMagazin();
- int nomer;
- printf("Номер магазина\n");
- scanf("%d", &nomer);
- nomer--;
- if (nomer>magazinSize || nomer<0){
- printf("Ошибка\n");
- pause;
- return;
- }
- while (1){
- cls;
- printf("1 - Адрес\n");
- printf("2 - Время открытия\n");
- printf("3 - Время закрытия\n");
- printf("4 - Выход\n");
- switch (_getch()){
- case '1':
- printf("Новый адрес\n");
- fflush(stdin);
- gets(magazin[nomer].adres);
- break;
- case '2':
- printf("Новое время открытия чч:мм\n");
- fflush(stdin);
- scanf("%d:%d", &magazin[nomer].open[0], &magazin[nomer].open[1]);
- break;
- case '3':
- printf("Новое время закрытия чч:мм\n");
- fflush(stdin);
- scanf("%d:%d", &magazin[nomer].close[0], &magazin[nomer].close[1]);
- break;
- case '4':
- pisatMagazin();
- return;
- default:
- break;
- }
- }
- }
- void udalitMagazin(){
- vivestiMagazin();
- int nomer;
- printf("Номер магазина\n");
- scanf("%d", &nomer);
- nomer--;
- if (nomer>magazinSize || nomer<0){
- printf("Ошибка\n");
- pause;
- return;
- }
- int i;
- magazinSize--;
- for (i=nomer;i<magazinSize;i++){
- magazin[i]=magazin[i+1];
- }
- pisatMagazin();
- }
- void sortirovatMagazini(){
- cls;
- printf("1 - По адресу\n");
- printf("2 - По времени открытия\n");
- printf("3 - По времени закрытия\n");
- int i,j;
- struct magaz tmp;
- switch (_getch()){
- case '1':
- for (i=0;i<magazinSize;i++){
- for (j=0;j<magazinSize;j++){
- if (strcmp(magazin[i].adres,magazin[j].adres)<0){
- tmp=magazin[i];
- magazin[i]=magazin[j];
- magazin[j]=tmp;
- }
- }
- }
- break;
- case '2':
- for (i=0;i<magazinSize;i++){
- for (j=0;j<magazinSize;j++){
- if (magazin[i].open[0]>magazin[j].open[0]){
- tmp=magazin[i];
- magazin[i]=magazin[j];
- magazin[j]=tmp;
- }
- else if (magazin[i].open[0]==magazin[j].open[0] && magazin[i].open[1]>magazin[j].open[1]){
- tmp=magazin[i];
- magazin[i]=magazin[j];
- magazin[j]=tmp;
- }
- }
- }
- break;
- case '3':
- for (i=0;i<magazinSize;i++){
- for (j=0;j<magazinSize;j++){
- if (magazin[i].close[0]>magazin[j].close[0]){
- tmp=magazin[i];
- magazin[i]=magazin[j];
- magazin[j]=tmp;
- }
- else if (magazin[i].close[0]==magazin[j].close[0] && magazin[i].open[1]>magazin[j].open[1]){
- tmp=magazin[i];
- magazin[i]=magazin[j];
- magazin[j]=tmp;
- }
- }
- }
- break;
- default:
- printf("Ошибка\n");
- pause;
- break;
- }
- pisatMagazin();
- vivestiMagazin();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement