Разработка приложения "Обработка результатов баскетбольных игроков"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
: 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;.