1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code]. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Есть уже готовая простенькая БД единственного чего в ней не хватает это нормального оформления. Есть у кого-нибудь какие-нибудь предложения по этому поводу? код:
Program nomer7; Uses Crt; Type sur=string; sport=record
name:string; nomber:integer; ass:byte; res:integer; fio:sur; end; Var g: file of sport; rez:string; vod:sport; vid:byte;
Procedure VvodRec; Begin Writeln('Ввод записи ј ',FilePos(g)+1); With vod do Begin Write('Введите фамилию:'); Readln(fio); Write('Введите имя:'); Readln(name); Write('Введите номер школы:'); Readln(nomber); Write('Введите класс:'); Readln(ass); Write('Введите результат:'); Readln(res); Write(g,vod); End; End;
Procedure CrB; Var i,n:integer; Begin Assign(g,'C:\sport'); Rewrite(g); Writeln('Введите число записей в справочнике '); Readln(n); For I:=1 to n do Vvodrec; Writeln('Создание справочника завершено'); Close(g); End;
Procedure ProsRec; Begin Read(g,vod); With vod do begin
Begin Assign(g,'C:\sport'); Reset(g); Seek(g,0); Writeln('*$*$*$*$*$*$*Вывод Результатов Соревнований*$*$*$*$*$*$*'); Writeln('--------------------------------------'); Writeln('Фамилия|','Имя |','Школа|','Класс|','Результат|'); Writeln('--------------------------------------'); While not EOF(g) do ProsRec; Writeln; End;
Procedure DopolRec;
Var n,i:integer; Begin Assign(g,'C:\sport'); Reset(g); Seek(g,FileSize(g)); Writeln('Введите число дополнительных записей '); Readln(n); For I:=1 to n do VvodRec; Writeln('Измененный файл содержит ',FileSize(g),' записи'); Close(g); End;
Procedure FindFio;
Var Maska:sur; Flag:boolean; Begin
Assign(g,'C:\sport'); Reset(g); Writeln('Введите фамилию для поиска: '); Readln(Maska); Flag:=False; While not EOF(g) do begin Read(g,vod); With vod do If Pos(Maska,Fio)<>0 Then begin Flag:=True; Writeln('Фио: ',fio,' Имя: ',name,'Школа',nomber,'Класс',ass,'Результат',res); end; end; If not Flag Then Writeln('В списке нет участников с фамилией ',Maska); Close(g); End;
Procedure DeleteFile;
Begin
Assign(g,'C:\sport'); Reset(g); Truncate(g); Writeln('Компоненты файла были успешно удалены'); End;
Begin ClrScr; Repeat Writeln('Список результатов соревнований'); Writeln('Выберите вид работы:'); Writeln('1-Создание нового файла'); Writeln('2-Просмотр списка '); Writeln('3-Дополнение списка'); Writeln('4-Поиск участника'); Writeln('5-Удаление всех компонентов списка'); Writeln('0-Выход'); Readln(vid); Case Vid of 1:CrB; 2:ProsAllRec; 3:DopolRec; 4:FindFio; 5:DeleteFile; 6:Exit; end; Writeln; Until Vid=6; Read; End.
Сообщение отредактировано: Spaun - 12.06.2008 21:32