0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 33
|
|
1 | |
Составить блок-схему20.12.2010, 15:35. Показов 487. Ответов 0
Метки нет Все метки)
(Код
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> //#include <unistd.h> //#include <windows.h> struct DTP { char dtp_district[30]; int date[3]; char FIO[20]; int victims_num; }; DTP d_mas[50]={0}; int mas_date1[3]; int mas_date2[3]; int count; int size=sizeof(DTP); FILE *fp; void Sort() { DTP buf; for(int i=0;i<count-1;i++) for(int i=0;i<count-1;i++) { if(d_mas[i].date[2]<d_mas[i+1].date[2]) { buf=d_mas[i]; d_mas[i]=d_mas[i+1]; d_mas[i+1]=buf; } else { if(d_mas[i].date[2]==d_mas[i+1].date[2]) { if(d_mas[i].date[1]<d_mas[i+1].date[1]) { buf=d_mas[i]; d_mas[i]=d_mas[i+1]; d_mas[i+1]=buf; } else { if(d_mas[i].date[1]==d_mas[i+1].date[1]) { if(d_mas[i].date[0]<d_mas[i+1].date[0]) { buf=d_mas[i]; d_mas[i]=d_mas[i+1]; d_mas[i+1]=buf; } } } } } } } void FillDate(int ind) { int day,month,year; char c; printf("\n‚ўҐ¤ЁвҐ ¤*вг „’Џ\n"); scanf("%d%d%d",&day,&month,&year); d_mas[ind].date[0]=day; d_mas[ind].date[1]=month; d_mas[ind].date[2]=year; } int CheckDate(int mas[]) { if(mas[0]<=0||mas[0]>31) { printf("\n‚ўҐ¤ЁвҐ Є®а४в*л© ¤Ґ*м (*Ґ Ў®«ҐҐ 31)"); getch(); return 0; } if(mas[1]<=0||mas[1]>12) { printf("\n‚ўҐ¤ЁвҐ Є®а४в*л© ¬Ґбпж!"); getch(); return 0; } if(mas[2]< 1900 || mas[2] > 2010) { printf("\n‚ўҐ¤ЁвҐ Є®а४в*л© Ј®¤"); getch(); return 0; } return 1; } int CheckDate1(int mas1[],int mas2[]) { if(mas1[2]>mas2[2]) { printf("\n‚ўҐ¤ЁвҐ Є®а४в*л© Ј®¤(ЇҐаўл© Ј®¤ ¤®«¦Ґ* Ўлвм > ўв®а®Ј®)"); return 0; } else { if(mas1[2]==mas2[2]) { if(mas1[1]>mas2[1]) { printf("\n‚ўҐ¤ЁвҐ Є®а४в*л© ¬Ґбпж(ЇҐаўл© ¬Ґбпж ¤®«¦Ґ* Ўлвм > ўв®а®Ј®)"); return 0; } else { if(mas1[1]==mas2[1]) { if(mas1[0]>mas2[0]) { printf("\n‚ўҐ¤ЁвҐ Є®а४в*л© ¤Ґ*м (ЇҐаўл© ¤Ґ*м ¤®«¦Ґ* Ўлвм > ўв®а®Ј®"); return 0; } } } } } return 1; } void ViewAll() { Sort(); int i=0,n=1; printf("\n ЙНННННЛННННННННННННННННННННЛННННННННННЛНННННННННЛНННННННННН»"); printf("\n єЌ®¬epє”a¬Ё«Ёп,Ё¬п,oвзecвўoє*a§ў. а**.єЄ®«.¦Ґавўє ¤*в* „’Џ є"); printf("\n МНННННОННННННННННННННННННННОННННННННННОНННННННННОНННННННННН№"); for(int s=0;s<count;s++) { printf("\n є%5iє",n); for(int k=0;k<=19;k++) printf("%1c",d_mas[s].FIO[k]); printf("є%10sє",d_mas[s].dtp_district); printf("%9iє",d_mas[s].victims_num); printf("%2d.%2d.%4dє",d_mas[s].date[0],d_mas[s].date[1],d_mas[s].date[2]); n++; } printf("\n ИНННННКННННННННННННННННННННКННННННННННКНННННННННКННННННННННј"); getch(); } void ViewSome(DTP el,int n,int flag) { if(flag==0) { printf("\n ЙНННННЛННННННННННННННННННННЛННННННННННЛНННННННННЛНННННННННН»"); printf("\n єЌ®¬epє”a¬Ё«Ёп,Ё¬п,oвзecвўoє*a§ў. а**.єЄ®«.¦Ґавўє ¤*в* „’Џ є"); printf("\n МНННННОННННННННННННННННННННОННННННННННОНННННННННОНННННННННН№"); } printf("\n є%5iє",n); for(int k=0;k<=19;k++) printf("%1c",el.FIO[k]); printf("є%10sє",el.dtp_district); printf("%9iє",el.victims_num); printf("%2d.%2d.%4dє",el.date[0],el.date[1],el.date[2]); printf("\n ИНННННКННННННННННННННННННННКННННННННННКНННННННННКННННННННННј"); } void ViewSome2(DTP el,int n,int flag) { if(flag==0) { printf("\n ЙНННННЛННННННННННННННННННННЛННННННННННЛНННННННННЛНННННННННН»"); printf("\n єЌ®¬epє”a¬Ё«Ёп,Ё¬п,oвзecвўoє*a§ў. а**.єЄ®«.¦Ґавўє ¤*в* „’Џ є"); printf("\n МНННННОННННННННННННННННННННОННННННННННОНННННННННОНННННННННН№"); } printf("\n є%5iє",n); for(int k=0;k<=19;k++) printf("%1c",el.FIO[k]); printf("є%10sє",el.dtp_district); printf("%9iє",el.victims_num); printf("%2d.%2d.%4dє",el.date[0],el.date[1],el.date[2]); } void Add() { int n = 0,k = 0,check=0; char d[30]; char fio[30], *p; p = fio; printf("‚ўҐ¤ЁвҐ Ё*д®а¬*жЁо ® „’Џ: \n"); printf("‚ўҐ¤ЁвҐ ”?Ћ ўЁ*®ў*®Ј®: "); while((*p++ = getchar())!= '\n') ; *p = '\0'; gets(d_mas[count].FIO); do { memset(d, '\0', 30); printf("‚ўҐ¤ЁвҐ а*©®* „’Џ: \n"); scanf("%s",&d); if(strlen(d) >= 30) { printf("?¬п ¤®«¦*® Ўлвм *Ґ Ў®«ҐҐ 30 бЁ¬ў®«®ў\n"); } else { k = 1; strcpy(d_mas[count].dtp_district,d); memset(d, '\0', 30); } } while(k != 1); printf("‚ўҐ¤ЁвҐ Є®««ЁзҐбвў® ¦Ґавў: "); scanf("%d",&n); d_mas[count].victims_num=n; check = 0; while(check==0) { FillDate(count); check=CheckDate(d_mas[count].date); } count++; } void Del() { int n_del,i; if(count==0) printf ("\nЃ„ Їгбв*!"); else{ ViewAll(); printf("\n‚ўҐ¤ЁвҐ *®¬Ґа §*ЇЁбЁ: "); scanf("%i",&n_del); if((n_del<=0)||(n_del>count)) printf("\n‚ўҐ¤Ґ* *ҐўҐа*л© *®¬Ґа!"); else{ if(n_del!=count) { for(i=n_del;i<=count-1;i++) d_mas[i-1]=d_mas[i]; } count--; printf("\n‡*ЇЁбм %2i г¤*«Ґ**.",n_del); } } getch (); } void ChangeSome(int i) { int ch,n,num,check=0; char fio[30]; char d[30]; printf("\n ‚ўҐ¤ЁвҐ Ї®«Ґ:" ); printf("1-”?Ћ ўЁ*®ў*ЁЄ* „’Џ: \n"); printf("2-ђ*©®* „’Џ: \n"); printf("3-Љ®«ЁзҐбвў® †Ґавў: \n"); printf("4-„*в* „’Џ: \n"); printf("‚*и ўлЎ®а->"); scanf("%d",&ch); switch(ch){ case 1: printf("‚ўҐ¤ЁвҐ ”?Ћ ўЁ*®ў*ЁЄ* „’Џ: \n"); scanf("%s",&fio); strcpy(d_mas[i].FIO,fio); break; case 2: printf("‚ўҐ¤ЁвҐ а*©®* „’Џ: \n"); scanf("%s",&d); strcpy(d_mas[i].dtp_district,d); break; case 3: printf("\n‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® ¦Ґавў: "); scanf("%d",&n); d_mas[i].victims_num=n; break; case 4: while(check==0) { FillDate(i); check=CheckDate(d_mas[i].date); } break; } } void Change() { int ch,n,num,c=0,check=0; char fio[20]={0}; char d[20]={0}; ViewAll(); printf("\n‚ўҐ¤ЁвҐ *®¬Ґа §*ЇЁбЁ :"); scanf("%i",&num); if((num<=0)||(num>count)) printf("\n‚ўҐ¤Ґ* *ҐўҐа*л© *®¬Ґа!"); else { printf("1-?§¬Ґ*Ёвм ўбҐ Ї®«п\n2-?§¬Ґ*Ёвм *ҐЄ®в®алҐ Ї®«п"); printf("\n‚*и ўлЎ®а->"); scanf("%d",&ch); switch(ch){ case 1: printf("‚ўҐ¤ЁвҐ ”?Ћ ўЁ*®ў*ЁЄ* „’Џ: \n"); scanf("%s",&fio); strcpy(d_mas[num-1].FIO,fio); printf("‚ўҐ¤ЁвҐ а*©®* „’Џ: \n"); scanf("%s",&d); strcpy(d_mas[num-1].dtp_district,d); printf("‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® ¦Ґавў: "); scanf("%d",&n); d_mas[num-1].victims_num=n; while(check==0) { FillDate(num-1); check=CheckDate(d_mas[num-1].date); } break; case 2:ChangeSome(num-1); break; } } } void View_1() { int day1,month1,year1,day2, month2, year2,flag=0,n=1,check1=0,check2=0,check3=0,check_d=0; char c=0; char d[30]; while(check_d==0) { printf("\n‚ўҐ¤ЁвҐ а*©®*: "); scanf("%s",&d); for(int i=0;i<count;i++) { if(!strcmp(d,d_mas[i].dtp_district)) { check_d=1; break; } } if(check_d==0) { printf("‚ўҐ¤ЁвҐ Є®а४в*л© а*©®*\n"); } } while(check3<1) { while(check1==0) { printf("\n‚ўҐ¤ЁвҐ ЇҐаўго ¤*вг: "); scanf("%d%d%d",&day1,&month1,&year1); mas_date1[0]=day1; mas_date1[1]=month1; mas_date1[2]=year1; check1=CheckDate(mas_date1); } while(check2==0) { printf("\n‚ўҐ¤ЁвҐ ўв®аго ¤*вг: "); scanf("%d%d%d",&day2, &month2 ,&year2); mas_date2[0]=day2; mas_date2[1]=month2; mas_date2[2]=year2; check2=CheckDate(mas_date2); } check3=CheckDate1(mas_date1,mas_date2); if(check3==0) check1=0; } for(int i=0;i<count;i++) { if(strcmp(d_mas[i].dtp_district,d)==0) { if(d_mas[i].date[2]>=mas_date1[2]&&d_mas[i].date[2]<=mas_date2[2]) { if(d_mas[i].date[1]>=mas_date1[1]&&d_mas[i].date[1]<=mas_date2[1]) { if(d_mas[i].date[0]>=mas_date1[0]&&d_mas[i].date[0]<=mas_date2[0]) { ViewSome(d_mas[i],n,flag); flag=1; n++; } } } } } if(n <= 1 ) { printf("\nЌ…ЏђЂ‚…‹Ќ›‰ ‚‚Ћ„ „›ЌЌ• !"); } getch(); } void View_2(DTP mas[]) { DTP buf; int flag=0,n=1; for(int i=0;i<count-1;i++) for(int i=0;i<count-1;i++) { if(mas[i].victims_num<mas[i+1].victims_num) { buf=mas[i]; mas[i]=mas[i+1]; mas[i+1]=buf; } } printf("\n <Ќ*ЁЎ®«м襥 Є®«. ¦Ґавў> \n\n"); for(int s=0;s<2;s++) { ViewSome2(mas[s],n,flag); flag=1; n++; } if(n <= 1 ) { printf("\n„***ле *Ґв."); } else { printf("\n ИНННННКННННННННННННННННННННКННННННННННКНННННННННКННННННННННј"); } flag=0,n=1; printf("\n <ЃҐ§ ¦Ґавў> \n\n"); for(int c=0;c<count;c++) { if(mas[c].victims_num==0) { ViewSome2(mas[c],n,flag); flag=1; n++; } } if(n <= 1 ) { printf("\n„***ле *Ґв."); } else { printf("\n ИНННННКННННННННННННННННННННКННННННННННКНННННННННКННННННННННј"); } getch(); } void Menu() { int ch; do { system("cls"); printf("\n1. ‚뢥бвЁ ўбҐ "); printf("\n2. „®Ў*ўЁвм §*ЇЁбм"); printf("\n3. “¤*«Ёвм §*ЇЁбм"); printf("\n4. ?§¬Ґ*Ёвм §*ЇЁбм"); printf("\n5. Џ®Є*§*вм Ё*д®а¬*жЁо ® Ї®бва*¤*ўиЁе ў а*©®*Ґ §* ЇҐаЁ®¤ ўаҐ¬Ґ*Ё."); printf("\n6. Џ®Є*§*вм ”?Ћ ўЁ*®ў*ЁЄ®ў „’Џ б **Ё®Ў®«миЁ¬ Є®«. ¦Ґавў Ё „’Џ ЎҐ§ ¦Ґавў "); printf("\n0. ‚л室"); printf("\n‚лЎ®а->"); scanf("%d",&ch); switch(ch) { default: { printf("\n‚ўҐ¤вҐ Є®а४в*л© *®¬Ґа"); getch(); break; } case 1: ViewAll(); break; case 2: Add(); break; case 3: Del(); break; case 4: Change(); break; case 5: View_1(); break; case 6: View_2(d_mas); break; case 0: { if((fp=fopen("C:\\file.dat","wb"))==NULL) { fputs("\nЌҐў®§¬®¦*® ®вЄалвм Ѓ„.",stderr); getch(); } else { for(int i=0;i<=count-1;i++) fwrite(&d_mas[i],size,1,fp); fclose(fp); } break; } } } while(ch!=0); } int main() { if((fp=fopen("C:\\file.dat","rb"))==NULL){ fputs("\nЌҐў®§¬®¦*® ®вЄалвм Ѓ„",stderr); count=0; getch(); } else { count=0; while(fread(&d_mas[count],size,1,fp)==1) count++; fclose(fp); } Menu(); getch(); return 0; }
0
|
|
20.12.2010, 15:35 | |
Ответы с готовыми решениями:
0
Составить схему алгоритма(блок-схему) по заданию Составить блок-схему (2) Составить блок-схему Составить блок-схему |
20.12.2010, 15:35 | |
Помогаю со студенческими работами здесь
1
Составить блок-схему Составить блок-схему Составить блок схему Составить блок-схему Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |