![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 06.04.2009
Сообщений: 27
|
![]()
Вот сам задача:Программа управения однотабличной базой данных.Информация храниться в массиве записей.Запись должна содержать ка минимум 3 поля различных типов, в чт строковы, целый и вещественный.Хранение информации осуществляеться в типизированном файле на диске (н в моем случае файл атоматический все сохраняет в моей директории).
1.Запись.считывание базы данных в\из файла. 2.Просмотр содержимого базы данных (с порядковой нумерацией записей при выводе на экран). 3.Добавление новой записи данных. 4.Уничтожение выбранно по номеру записи данных. Сортировка базы данных по выбранному полю. 7.Поиск записей в базе по выбранному полю. Прога большая получилась нг по сути там мног лишнего, но все нпомоги понять где ошибка. ![]()
Татьяна
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 06.04.2009
Сообщений: 27
|
![]()
Uses crt;
Type school = record sername : string[10]; class : integer; smark : real; end; var m : array [1..100] of school; key, dkey, skey : char; i,k,f,d,p2,v,x,n,R,T,Z : integer; p3 : real; p1 : string; p : text; code : integer; function proverka(min , max : integer ):integer; var class : string; i : integer; begin min:=1; max:=11; i:=0; repeat writeln (' '); readln (class); val (class,R, code); if (code >0) then writeln ('введено РЅРµ число') else if ((R < min) or (R > max)) then begin writeln ('РІС‹ ввели число РёР· РЅРµ подходящего диапозона'); code := 1; end; i:=i+1; if i>3 then begin code:=0; R:=min; end; proverka:=R; until (code = 0) end; { proverka } function proverka2(min , max : integer ):integer; var smark : string; i : integer; begin min:=1; max:=5; i:=0; repeat writeln (' '); readln (smark); val (smark,T, code); if (code >0) then writeln ('введено РЅРµ число') else if ((T < min) or (T > max)) then begin writeln ('РІС‹ ввели число РёР· РЅРµ подходящего диапозона'); code := 1; end; i:=i+1; if i>3 then begin code:=0; T:=min; end; proverka2:=T; until (code = 0) end; { proverka2 } function proverka3(min , max : integer ):integer; var k : string; i : integer; begin i:=0; repeat writeln (' '); readln (k); val (k,Z, code); if (code >0) then writeln ('введено РЅРµ число') else if ((Z < min) or (Z > max)) then begin writeln ('РІС‹ ввели число РёР· РЅРµ подходящего диапозона'); code := 1; end; i:=i+1; if i>3 then begin code:=0; Z:=min; end; proverka3:=Z; until (code = 0) end; procedure d1; begin {clrscr;} assign (p, '1.txt'); rewrite(p); writeln(p, k); FOR i:=1 TO k DO begin writeln(p, m[i].sername); writeln(p, m[i].class); writeln(p, m[i].smark); end; end; procedure d2; var ppt : file of string; k : string; begin writeln('===1'); {clrscr;} assign(ppt,'1.txt'); writeln('===2'); reset(ppt); writeln('===3'); //read(ppt, k); while (not eof(ppt)) do begin //writeln('===4'); {for i:=1 to k do begin} read(ppt, k); writeln (k); writeln(i,'.'); readln(ppt, m[i].sername); writeln('SName: ',m[i].sername); readln(ppt, m[i].class); writeln('Class: ', m[i].class); readln(ppt, m[i].smark); writeln('Smark: ', m[i].smark:4:2); writeln; end; close (ppt); end; {procedure d3; begin clrscr; i:=k+1; k:=k+1; write('Input sername: '); readln(m[i].sername); write('Input class: '); readln(m[i].class); write('Input smark: '); readln(m[i].smark); writeln; end;} procedure d33; var ppt : file of string; k : string; begin assign(ppt,'1.txt'); rewrite(ppt); write('Input sername: '); readln(k); write(ppt, k); write('Input class: '); readln(k); write(ppt, k); write('Input smark: '); readln(k); write(ppt, k); end; продолжение...
Татьяна
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 06.04.2009
Сообщений: 27
|
![]()
procedure d4;
begin x:=1; n:=1; for i:=1 to n do begin if (i=x) then writeln ('Deleted'); if (i>x) then m[i-1]:=m[i]; end; end; procedure d5; begin {clrscr;} write('Nomer pupil: '); readln(d); writeln('What do you want to change? '); writeln('1. Change sername'); writeln('2. Change class '); writeln('3. Change smark '); dkey:=readkey; FOR i:=1 TO k DO begin if i=d then case dkey of '1': begin write('Change sername: '); readln(m[i].sername); end; '2': begin write('Change class: '); readln(m[i].class); end; '3': begin write('Change smark: '); readln(m[i].smark); end; end; end; end; procedure d6; begin {clrscr;} writeln('How sorting information? '); writeln('1. sername'); writeln('2. class '); writeln('3. smark '); skey:=readkey; case skey of '1': begin f:=0; {clrscr;} write('Enter sername: '); readln(p1); writeln('Class ','Smark'); FOR i:=1 TO k DO begin if m[i].sername=p1 then begin GOTOXY(1,3+f); write(m[i].class); GOTOXY(7,3+f); write(m[i].smark:4:2); inc(f); writeln; end end; end; '2': begin f:=0; {clrscr;} write('Enter class: '); readln(p2); writeln('Sername ','Smark'); FOR i:=1 TO k DO begin if m[i].class=p2 then begin GOTOXY(1,3+f); write(m[i].sername); GOTOXY(12,3+f); write(m[i].smark:4:2); inc(f); writeln; end end; end; '3': begin f:=0; {clrscr;} write('Enter smark: '); readln(p3); writeln('Sername ','Class '); FOR i:=1 TO k DO begin if m[i].smark=p3 then begin GOTOXY(1,3+f); write(m[i].sername); GOTOXY(12,3+f); write(m[i].class); inc(f); writeln; end end; end; end; end; procedure d7; begin {clrscr;} write('Nomber of pupil: '); readln(v); FOR i:=1 TO k DO begin if i=v then begin writeln('SName: ',m[i].sername); writeln('Class: ', m[i].class); writeln('Smark: ', m[i].smark:4:2); writeln; end; end; end; BEGIN {clrscr;} f:=0; write('Input number of puple: '); K:=proverka3 (0, 10); readln(k); d33; d2; FOR i:=1 TO k DO begin writeln('Input sername: '); readln(m[i].sername); writeln('Input class: '); m[i].class := proverka (0, 11); //readln(m[i].class) writeln('Input smark: '); m[i].smark := proverka2 (0, 5); //readln(m[i].smark); writeln; end; i:=0; repeat writeln('What do you want to do?'); writeln('1. Write in fail '); writeln('2. Read from fail '); writeln('33. Add information '); writeln('4. Delete information '); writeln('5. Change information '); writeln('6. Sorting information '); writeln('7. Search record '); writeln('8. Exit '); key:=readkey; case key of '1' : d1; '2' : d2; '33' : d33; '4' : d4; '5' : d5; '6' : d6; '7' : d7; end; { case } until key='8'; END.
Татьяна
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как скомпилировать программу так, чтобы "все было включено" | grenles | Общие вопросы Delphi | 4 | 31.07.2008 17:05 |
КАК СДЕЛАТЬ ТАК ЧТОБЫ ВСЕ КОМПОНЕНТЫ КОТ. НА ФОРМЕ РАСТЯГИВАЛИСЬ НА ВСЁ ОКНО ПРИ РАЗВЁОТЫВАНИЕ ОКНА???? | Alexij | Общие вопросы Delphi | 4 | 23.06.2008 10:44 |
Кто мне подскажет как сделать так чтобы... | Alexij | Общие вопросы Delphi | 9 | 16.06.2008 12:47 |
Помогите исправить прогу так чтобы препода удовлетворяла))) | 812 | Помощь студентам | 3 | 25.05.2008 12:34 |