Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //---------------------------------------------------------------------------
- #pragma hdrstop
- //---------------------------------------------------------------------------
- #pragma argsused
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- #include <mem.h>
- #define EOT 100
- #define BOT 0
- struct BelRow
- {
- char Name[12];
- char Fam[15];
- unsigned long Tel;
- };
- class Bel
- {
- BelRow Table[100];
- int TableEnd;
- int CurrentRecord;
- public:
- Bel (void) {TableEnd = 0;}
- int Append(char *Name, char *Fam, unsigned long Tel);
- int Append(BelRow *ARow);
- BelRow *FindRowByName (char *Name);
- void First();
- int Next();
- int Prev();
- void Last();
- BelRow *Get();
- };
- int Bel::Append(char *Name, char *Fam, unsigned long Tel)
- {
- if(TableEnd >=100) return 0;
- strcpy(Table[TableEnd].Name,Name);
- strcpy(Table[TableEnd].Fam, Fam);
- Table[TableEnd].Tel = Tel;
- TableEnd++;
- return 1;
- }
- int Bel::Append(BelRow *ARow)
- {
- if(TableEnd >=100) return 0;
- memcpy(&Table[TableEnd], ARow, sizeof(BelRow));
- TableEnd++;
- return 1;
- }
- BelRow *Bel::FindRowByName(char *Name)
- {
- for(int i=0; i < TableEnd; i++)
- if(!strcmp(Table[i].Name, Name)) return &Table[i];
- return NULL;
- }
- void Bel::First()
- {
- CurrentRecord = 0;
- }
- int Bel::Next()
- {
- if(CurrentRecord == TableEnd -1) return EOT;
- else CurrentRecord++;
- return CurrentRecord;
- }
- int Bel::Prev()
- {
- if(CurrentRecord == 0 ) return BOT;
- else CurrentRecord--;
- return CurrentRecord;
- }
- void Bel::Last()
- {
- CurrentRecord = TableEnd -1;
- }
- BelRow *Bel::Get()
- {
- return &Table[CurrentRecord];
- }
- int main(int argc, char* argv[])
- {
- Bel Tef1;
- Tef1.Append("Ivan", "Petrov", 365531);
- Tef1.Append("Stefan", "Stoyanov", 895667732);
- Tef1.Append("Alexander", "Netsov", 453654);
- Tef1.Append("Lubomir", "Vladimirov", 12312);
- Tef1.Last();
- BelRow *Last = Tef1.Get();
- Tef1.First();
- BelRow *ARow = Tef1.Get();
- printf("\n Name %s, Fam %s, Tel %lu\n", ARow->Name, ARow->Fam, ARow ->Tel);
- while(true){
- Tef1.Next();
- ARow = Tef1.Get();
- printf("\n Name %s, Fam %s, Tel %lu\n", ARow->Name, ARow->Fam, ARow ->Tel);
- if (ARow == Last){
- break;
- }
- }
- system("pause");
- return 0;
- }
- //---------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement