Приложение 1. Программа состоит из двух файлов: f1.cpp и f2.cppПрограмма состоит из двух файлов: f1.cpp и f2.cpp. Файл f1.cpp содержит описание главной функции, в которой реализовано меню. В меню происходит вызов основных функций, описание которых находится в файле f2.cpp. Кроме того, в файле f2.cpp объявлена структура. //Файл f1.cpp #include < iostream> #include " f2.cpp" extern int kol_zakazov; int main() { auto char choice; do {cout < < " (E)nter information.\n"; cout < < " (R)ead information.\n"; cout < < " Re(A)d onpedel. information.\n"; cout < < " (S)ort information.\n"; cout < < " (Q)uit from programm.\n\n"; cout < < " Enter your choice: "; cin > > choice; switch(choice) { case 'e': case 'E': enter(); break; case 'r': case 'R': print(); break; case 'a': case 'A': read(); break; case 's': case 'S': sort(); break; case 'q': case 'Q': return 0; } } while(choice! = 'Q'); return 0; } //Файл f2.cpp #include < iostream> #include < cstdio> #include < cstring> struct zakaz { int nomer_zakaza; char nazvanie_siriy[20]; int kol_vo; int stoimost; int itog_stoimost; }; static zakaz data[20], temp[20]; int kol_zakazov; extern void enter() { register int a; cout < < " Kak mnogo zakazov bydite vvodit': "; cin > > kol_zakazov; for(a=0; a< kol_zakazov; a++) { cout < < " \nEnter nomer zakaza: "; cin > > data[a].nomer_zakaza; cou t < < " Enter nazvanie siria: "; cin > > data[a].nazvanie_siriy; cout < < " Enter kol-vo(v \" kg\" ili \" stuk\"): "; cin > > data[a].kol_vo; cout < < " Enter stoimost' za \" kg\" ili \" styky\": "; cin > > data[a].stoimost; data[a].itog_stoimost = data[a].kol_vo * data[a].stoimost; } cout < < '\n'; } extern void print() { register int a; cout < < '\n'; cout < < " # Nazv. siria Kol-vo Stoimost' Obc. stoimost'\n"; cout < < " ******************************************************\n"; for(a=0; a< kol_zakazov; a++) { printf(" %d %10s %18d %16d %16d", data[a].nomer_zakaza, data[a].nazvanie_siriy, data[a].kol_vo, data[a].stoimost, data[a].itog_stoimost); cout < < '\n'; } cout < < '\n'; } extern int read() { register int a; cout < < " Vvedite nomer zakaza chtobi proitat' inform.\n"; auto int choice; cin > > choice; for(a=0; a< kol_zakazov; a++) { if(choice == data[a].nomer_zakaza) { cout < < " # Nazv. siria Kol-vo Stoimost' Obc. stoimost'\n"; cout < < " **********************************************\n"; printf(" %d %10s %18d %16d %16d", data[a].nomer_zakaza, data[a].nazvanie_siriy, data[a].kol_vo, data[a].stoimost, data[a].itog_stoimost); cout < < " \n\n"; return 0; } } cout < < " Takogo nomera zakaza HET! "; } extern void sort_nomer() { register int a, b; cout < < " CTAPA9I"; print(); for(a=1; a< kol_zakazov; a++) for(b=kol_zakazov-1; b> =a; b--) { if(data[b-1].nomer_zakaza > data[b].nomer_zakaza) { temp[b] = data[b-1]; data[b-1] = data[b]; data[b] = temp[b]; } } cout < < " HOBA9I"; print(); } extern void sort_nazvanie() { register int a, b; cout < < " CTAPA9I"; print(); for(a=1; a< kol_zakazov; a++) for(b=kol_zakazov-1; b> =a; b--) { if(strcmp(data[b-1].nazvanie_siriy, data[b].nazvanie_siriy) > 0) { temp[b] = data[b-1]; data[b-1] = data[b]; data[b] = temp[b]; } } cout < < " HOBA9I"; print(); } extern void sort_kol() { register int a, b; cout < < " CTAPA9I"; print(); for(a=1; a< kol_zakazov; a++) for(b=kol_zakazov-1; b> =a; b--) { if(data[b-1].kol_vo > data[b].kol_vo) { temp[b] = data[b-1]; data[b-1] = data[b]; data[b] = temp[b]; } } cout < < " HOBA9I"; print(); } extern void sort_stoimost() { register int a, b; cout < < " CTAPA9I"; print(); for(a=1; a< kol_zakazov; a++) for(b=kol_zakazov-1; b> =a; b--) { if(data[b-1].stoimost > data[b].stoimost) { temp[b] = data[b-1]; data[b-1] = data[b]; data[b] = temp[b]; } } cout < < " HOBA9I"; print(); } extern void sort_itog_stoimost() { register int a, b; cout < < " CTAPA9I"; print(); for(a=1; a< kol_zakazov; a++) for(b=kol_zakazov-1; b> =a; b--) { if(data[b-1].itog_stoimost > data[b].itog_stoimost) { temp[b] = data[b-1]; data[b-1] = data[b]; data[b] = temp[b]; } } cout < < " HOBA9I"; print(); } extern int sort() { if(! data[0].nomer_zakaza) { cout < < " You must enter information.\n\n"; return 0; } auto int choice; do {cout < < " \t1. Sort po \" nomer zakaza\".\n"; cout < < " \t2. Sort po \" nazvanie siria\".\n"; cout < < " \t3. Sort po \" kol-vy\".\n"; cout < < " \t4. Sort po \" stoimosti\".\n"; cout < < " \t5. Sort po \" itogovoi stoimosti\".\n"; cin > > choice; switch(choice) { case 1: sort_nomer(); break; case 2: sort_nazvanie(); break; case 3: sort_kol(); break; case 4: sort_stoimost(); break; case 5: sort_itog_stoimost(); break; } } while(choice > 6); cout < < " ***Complited***\n"; cout < < '\n'; return 0; }
|