#include #include #include #include #include struct tovar {double obyem; //obyem partii double st_ed; //stoimost edinicy tovara int kol_pr_ed; //kol-vo prodannyx edinic char vid_tov[20]; //nazvanie vida tovara char data[10]; //data postavki }rec,a[50],*p; ofstream outstream; ifstream instream; void Input(tovar &rec); void Create_DB(); void Read_DB(int &n,tovar *p); void View_DB(); void Edit_DB(); void Add_DB(); void Del_DB(); void Process_DB(); int n; char ans; char filename[10]; int main() {int pm; p=&a[0]; clrscr(); textbackground(3); textcolor(12); gotoxy(35,20); printf("SKLAD TOVAROV"); gotoxy(25,25); cout<<"Vvedite 'y' dlja prodolzhenija "; cin>>ans; clrscr(); textbackground(10); textcolor(11); gotoxy(30,20); cout<<"Vvedite imja fajla "; cin>>filename; do {clrscr(); textbackground(8); textcolor(5); gotoxy(30,20); printf("***********MENU************"); gotoxy(30,21); printf("* *"); gotoxy(30,22); cout<<"* 1-Zapis v fajl *"; gotoxy(30,23); cout<<"* 2-Prosmotr fajla *"; gotoxy(30,24); cout<<"* 3-Korrekcija fajla *"; gotoxy(30,25); cout<<"* 4-Dobavlenie v fajl *"; gotoxy(30,26); cout<<"* 5-Udalenie iz fajla *"; gotoxy(30,27); cout<<"* 6-Poisk nuzhnogo tovara *"; gotoxy(30,28); cout<<"* 7-Vyxod *"; gotoxy(30,29); printf("* *"); gotoxy(30,30); printf("***************************"); gotoxy(30,33); cout<<"Vvedite nuzhnyj punkt menu "; cin>>pm; clrscr(); switch(pm) {case 1:Create_DB();break; case 2:View_DB();break; case 3:Edit_DB();break; case 4:Add_DB();break; case 5:Del_DB();break; case 6:Process_DB();break; case 7:return(1); } cout<>ans; } while ((ans)=='y'); return 0; } void Input(tovar &rec) //procedura vvoda informacii ob odnom tovare {clrscr(); cout<<"Vvedite nazvanie tovara,obyem partii,stoimost edinicy tovara,kol-vo prodannyx edinic tovara i datu postuplenija"<>rec.vid_tov; gotoxy(12,6); cout<<'|'; gotoxy(17,6); cin>>rec.obyem; gotoxy(27,6); cout<<'|'; gotoxy(32,6); cin>>rec.st_ed; gotoxy(42,6); cout<<'|'; gotoxy(50,6); cin>>rec.kol_pr_ed; gotoxy(65,6); cout<<'|'; gotoxy(70,6); cin>>rec.data; gotoxy(83,6); cout<<'|'; printf("--------------------------------------------------------------------------------"); cout<>ans; } while ((ans)=='y'); outstream.close(); } void Read_DB(int &n,tovar *p) //procedura chtenija dannyx iz fajla v OP {int i=0; instream.open(filename); do {instream>>a[i].vid_tov>>a[i].obyem>>a[i].st_ed>>a[i].kol_pr_ed>>a[i].data; i++; } while (!instream.eof()); n=i; instream.close(); } void View_DB() //procedura prosmotra BD {int i; Read_DB(n,p); printf("--------------------------------------------------------------------------------"); printf("| Tovar | Obyem partii | Stoimost ed. | Kol-vo prodannyx ed. | Data postupl.|"); printf("--------------------------------------------------------------------------------"); for (i=0;i>nz; cout<<"Vvedite nazvanie tovara,obyem partii,stoimost edinicy tovara,kol-vo prodannyx edinic tovara i datu postuplenija"<>a[nz].vid_tov; gotoxy(12,6); cout<<'|'; gotoxy(17,6); cin>>a[nz].obyem; gotoxy(27,6); cout<<'|'; gotoxy(32,6); cin>>a[nz].st_ed; gotoxy(42,6); cout<<'|'; gotoxy(50,6); cin>>a[nz].kol_pr_ed; gotoxy(65,6); cout<<'|'; gotoxy(70,6); cin>>a[nz].data; gotoxy(83,6); cout<<'|'; printf("--------------------------------------------------------------------------------"); cout<>ans; } while ((ans)=='y'); outstream.open(filename); for (i=0;i>ans; } while ((ans)=='y'); cout<>nz; cout<>ans; } while ((ans)=='y'); outstream.open(filename,ios::trunc); for (i=0;i>nazva; cout<