ФІО = Горбаченко В.А. Запитання:/* Пародия на БД. Borland С++ Builder 6. Borland C++ 3.0 (DOS). Найпростіша база даних на C++. Простая база данных на C++. Методы fopen fseek "Норме участка", "месяц", "наименование продукта", "росход по норме", "фактический расход", "недорасход и перерасход". */ //--------------------------------------------------------------------------- #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused #include #include #include #include #include #include #define DBFN "base.db" // imya bazi danih #define MAXSTR 80 // MAXIMALNA DOVJUNA SRTOKI struct TDataType{ // tup zapusyemuh danyh int nomerdilyanki; char mesac[MAXSTR]; char naimenovanie[MAXSTR]; double vutratazanornoy; double fakti4nivutratu; double raznica; }; long FileGetCount(){ // metod rahue kilkist elementiv v baza danyh FILE *file ; if ((file = fopen(DBFN,"rb"))==NULL) { return 0; } fseek (file , 0 , SEEK_END); long Size = ftell (file) / sizeof(TDataType); // rewind (file); fclose(file); return Size; } long EnterN(long max=0) { // programa prosut vvesty 4uslo NUMBER = [0;MAX] if (max == -1) return -1; long a; cout<>a; } while (a<0 && a>max); return a; } TDataType FileShowByIndex(long index) { // povertae strukturu danuh pid miscem index v basi danuh (napramy) long count = FileGetCount(); TDataType temp,temp0; FILE *file = fopen(DBFN,"rb"); rewind(file); long i = 0; fseek(file, sizeof(TDataType)*index, 0); // for (i = 0 ; i < count ; i++) { fread(&temp,sizeof(TDataType),1,file); // if ( index == i ) temp0=temp; } fclose(file); return temp0; } void FileEditByIndex(long index,TDataType a) { // zapusye struktury v BD v index pozuciy TDataType temp; FILE *file = fopen(DBFN,"r+b"); rewind(file); fseek(file, sizeof(TDataType)*index, 0); fwrite(&a,sizeof(TDataType),1,file); fclose(file); return ; } void ShowInfoDlg(TDataType &a) { // VUVODUT stdukturu v zrozymilomy formati dla korustuvacha clrscr(); cout<<"\n"; cout<<" nomer dilyanki : "<>a.nomerdilyanki; fflush(stdin); cout<<" Enter 'mesac' [ STR ] : "; cin.getline(a.mesac,MAXSTR); fflush(stdin); cout<<" Enter 'naimenovanie' [ STR ] : "; cin.getline(a.naimenovanie,MAXSTR); cout<<" Enter 'vutratazanornoy' [ DBL ] : "; cin>>a.vutratazanornoy; cout<<" Enter 'fakti4nivutratu' [ DBL ] : "; cin>>a.fakti4nivutratu; a.raznica = a.vutratazanornoy - a.fakti4nivutratu; cout<<" 'raznica' [ DBL ] : "<