Разработка приложения "Обработка результатов баскетбольных игроков"

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



: Integer;: Integer;;

: Array [1..30] of String;: File of Ved;: Ved;, t, f: Integer;: String;: THandle;: TCoord;: TConsoleScreenBufferInfo;

//---------------------------------------------------CATO------------------------------CATO(Const s: String): String;

Begin

SetLength(Result, Length(s));

AnsiToOEM(PChar(s), Pointer(Result));

End;

//--------------------------------------------------------Cls------------------------------- Cls;

Begin

For i := 0 to CCI.dwSize.Y do

Writeln;

Coord.X := 0;

Coord.Y := 0;

SetConsoleCursorPosition (ConHandle, Coord);

End;

//----------------------------------------------------AddMan----------------------------AddMan;

Begin

Cls;

Reset (Fail);

Seek (Fail, FileSize (Fail));

Repeat

Writeln (Arr[1]);

Readln (p.Famil);

Writeln (Arr[2]);

Readln (p.Nomer);

Writeln (Arr[3]);

Readln (p.Score);

Writeln (Arr[4]);

Readln (p.Fols);

Write (Fail, p);

Writeln (Arr[5], CATO('? [Да]'));

Readln (Otv);

Until (Otv = CATO('Да')) or (Otv = CATO('да'));

Close (Fail);

End;

//----------------------------------------------------BestMan---------------------------BestMan;max, maxN: Integer;

Begin

Cls;

max := -1; maxN := 0;

Reset (Fail);

While Not EOF (Fail) Do Begin

Read (Fail, p);

If p.Score > max Then

Begin

max := p.Score;

maxN := p.Nomer;

End;

End; Seek (Fail, 0);

Writeln ('========================================================');

Writeln (Arr[1]:20,Arr[2]:10,Arr[3]:20,Arr[4]:20);

Writeln ('========================================================');

While Not EOF (Fail) Do Begin

Read (Fail, p);

If p.Nomer = maxN Then

Writeln (p.Famil:20, p.Nomer:10, p.Score:20, p.Fols:20);

End;

Writeln ('========================================================');

Close (Fail);

Readln

End;

//------------------------------------------------------Fols------------------------------ Fols;total: Integer;

Begin

Cls;

Total := 0;

Reset (Fail);

While Not EOF (Fail) Do Begin

Read (Fail, p);

total := total + p.Fols

End;

Writeln (Arr[7],': ', total);

Close (Fail);

Readln

End;

//-----------------------------------------------------InfoMan---------------------------InfoMan;number: Integer;

Begin

Cls;

Writeln (Arr[8]);

Readln (number);

Reset (Fail);

Writeln ('========================================================');

Writeln (Arr[1]:20,Arr[2]:10,Arr[3]:20,Arr[4]:20);

Writeln ('========================================================');

While Not EOF (Fail) Do Begin

Read (Fail, p);

If p.Nomer = number Then

Writeln (p.Famil:20, p.Nomer:10, p.Score:20, p.Fols:20);

End;

Writeln ('=======================================================');

Close (Fail);

Readln

End;

//------------------------------------------------------Looser---------------------------- Looser; max, maxN: Integer;

Begin

Cls;

max := -1; maxN := 0;

Reset (Fail);

While Not EOF (Fail) Do Begin

Read (Fail, p);

If p.Fols > max Then

Begin

max := p.Fols;

maxN := p.Nomer;

End;

End; Seek (Fail, 0);

Writeln ('=======================================================');

Writeln (Arr[1]:20,Arr[2]:10,Arr[3]:20,Arr[4]:20);

Writeln ('========================================================');

While Not EOF (Fail) Do Begin

Read (Fail, p);

If p.Nomer = maxN Then

Writeln (p.Famil:20, p.Nomer:10, p.Score:20, p.Fols:20);

End;

Writeln ('======================================================');

Close (Fail);

Readln

End;

//------------------------------------------------------ResetFile-------------------------ResetFile;

Begin

Cls;

ReWrite (Fail);

Close (Fail);

Write(CATO('Готово.'));

Readln;

End;

//-----------------------------------------------------SortMan---------------------------SortMan();

Var

buffer : Ved;

l, k, m : Integer;

mas : Array [1..50] of Ved;

Begin

Cls;

Reset (Fail); l := 1;

While Not EOF (Fail) Do

Begin

Read (Fail, p);

mas [l] := p;

l := l + 1;

End;

Close (Fail);

For k := 1 To l - 2 Do

For m := 1 To l - 2 Do

If mas [m].Score < mas [m+1].Score Then

Begin

buffer := mas [m];

mas [m] := mas [m+1];

mas [m+1] := buffer;

End;

Writeln ('========================================================');

Writeln (Arr[1]:20,Arr[2]:10,Arr[3]:20,Arr[4]:20);

Writeln ('========================================================');

For k := 1 To l - 1 Do

Begin

Writeln (mas [k].Famil:20, mas [k].Nomer:10, mas [k].Score:20, mas [k].Fols:20);

End;

Writeln ('========================================================');

Readln

End;

//----------------------------------------------------mnuActions------------------------ mnuActions;

Begin

Repeat

f := 0;

Cls;

Writeln ('Действия с базой:');

Writeln ('1. ',Arr[9]);

Writeln ('2. ',Arr[10]);

Writeln ('3. ',Arr[16]);

Readln (f);

Case f of

1: ResetFile;

2: AddMan;

End;

Until f = 3;

End;

//---------------------------------------------------mnuShow--------------------------- mnuShow;

Begin

Repeat

f := 0;

Cls;

Writeln (CATO('Задания:'));

Writeln ('1. ',Arr[11]);

Writeln ('2. ',Arr[12]);

Writeln ('3. ',Arr[13]);

Writeln ('4. ',Arr[14]);

Writeln ('5. ',Arr[15]);

Writeln ('6. ',Arr[16]);

Readln (f);

Case f of

1: BestMan;

2: Fols;

3: SortMan;

4: InfoMan;

5: Looser;

End;

Until f = 6;

End;

//------------------------------------------------BeginTheProgramm------------------

Assign(Fail, 'Log.Bask');

ConHandle := GetStdHandle (STD_OUTPUT_HANDLE);

Coord := GetLargestConsoleWindowSize (ConHandle);

GetConsoleScreenBufferInfo (GetStdHandle (STD_OUTPUT_HANDLE), CCI);

Arr[1]:=CATO('Фамилия');

Arr[2]:=CATO('Номер');

Arr[3]:=CATO('Количество очков');

Arr[4]:=CATO('Количество фолов');

Arr[5]:=CATO('Выйти');

Arr[6]:=CATO('Общее кол. очков');

Arr[7]:=CATO('Общее количество фолов');

Arr[8]:=CATO('Введите номер игрока');

Arr[9]:=CATO('Создать файл');

Arr[10]:=CATO('Добавить игрока');

Arr[11]:=CATO('Лучший игрок');

Arr[12]:=CATO('Количество фолов');

Arr[13]:=CATO('Отсортировать игроков');

Arr[14]:=CATO('Информация по номеру');

Arr[15]:=CATO('Игрок с наибольшим количеством фолов');

Arr[16]:=CATO('Назад');

Arr[17]:=CATO('Действия с базой');

Arr[18]:=CATO('Задания');

Cls; t := 0;

Writeln ('Menu:');

Writeln ('1. ',Arr[17]);

Writeln ('2. ',Arr[18]);

Writeln ('3. ',Arr[5]);

Readln (t);

Case t of

1:mnuActions;

2:mnuShow;

End;t = 3;.