Автор: Пользователь скрыл имя, 17 Сентября 2011 в 18:24, контрольная работа
Составить программу с горизонтальным типом меню, которая включает в себя: динамические переменные, ввод и вывод горизонтальной таблицы, добавление данных, сортировка данных, удаление данных и сохранение в файл.
textbackground(12); {смена цвета фона}
Write('net strok dla udalenia iz faila, Enter-vihod'); {вывод на экран}
Readln; {задержка}
textbackground(25); {смена цвета фона}
goto met; end; {конец}
while true do begin {цикл}
{$i-}
met1:rewrite(f);
if ioresult<>0 then begin {условие}
textbackground(12); {смена цвета фона}
gotoxy(10,3); {перемещение указателя}
Writeln(' Oshibka pri otkritii faila dla zapisi'); {вывод на экран}
Readln; {задержка}
textbackground(25); {смена цвета фона}
goto met; {метка}
end; {конец}
metk:textbackground(12);
gotoxy(10,3); Write('Vvedite nomer stroki, kotoruy vi hotite udalit(11-vihod):'); {вывод на экран}
readln(stroka); {условие}
if ioresult<>0 then begin {условие}
gotoxy(10,3); Writeln('Oshibka vvoda stroki, budte vnimatelnee'); {вывод на экран}
goto metk; {метка}
end; {конец}
textbackground(25); {смена цвета фона}
{$i+}
if stroka=11 then goto met; {условие}
if stroka>size then begin {условие}
gotoxy(10,3); {перемещение указателя}
textbackground(12); {смена цвета фона}
Write('Maxsimalnai stroka-',size,',nashmite Enter');Readln; {вывод на экран}
textbackground(25); {смена цвета фона}
goto metk; {метка}
end; {конец}
for i:=stroka to size do mas[i]:=mas[i+1]; {цикл}
size:=size-1; {присвоение}
for i:=1 to size do write(f,mas[i]); {цикл}
vivod;
end; {конец}
met:for i:=1 to size do write(f,mas[i]); {}
end; {конец}
Procedure search; {процедура}
Label met,met7,metka1; {метка}
Var {оператгор переменных}
mas1:array [1..100] of string[12]; {массив}
mas2:array [1..100] of divid; {массив}
i1,i2:integer; {переменные}
begin {начало}
{$i-}
reset(f);
if ioresult<>0 then begin {условие}
textbackground(12); {смена цвета фона}
gotoxy(16,23); {перемещение указателя}
write('Oshibka pri otkritii faila dla chtinia'); readln;
textbackground(25);
goto metka1;
end;
{$i+}
size:=0;
While not eof(f) do begin {цикл}
size:=size+1;
read(f,mas[size]);
end;
if size=0 then begin gotoxy(10,3); textbackground(12);
Write('Net dannih dla poisk v faile, Enter-vihod');
Readln;
textbackground(25);
goto met7;
end;
met:clrscr;
Write('Vvedite kolichestvo cheloxek,kotorie vi hotite naiti:');
{$i-}
readln(ko1);
if ioresult<>0 then begin
gotoxy(20,12);
textbackground(12);
Write('Poisk previshaet kolichestvo,nashmite Enter');
Readln;textbackground(25); {смена цвета фона}
goto met;
end;
{$i+}
if ko1>size then begin {условие}
gotoxy(20,12);textbackground(
goto met;
end;
for i:=1 to ko1 do begin
Write('Vvedite ',i,'-y naimenovanie:');
Readln(mas1[i]);
end;
i2:=0;
for i:=1 to ko1 do
for i1:=1 to size do
if mas1[i]=mas[i1].naimen then begin
i2:=i2+1;
mas2[i2]:=mas[i1];
end;
metka1:textbackground(12);
gotoxy(25,3); write('nashmite Enter dla vihoda v menu:');
readln;
met7:textbackground(25);
end;
Begin
assign(f,'d:\13.txt');
textcolor(15);
textbackground(25);
While punkt<>8 do begin
clrscr;
Writeln('');
Writeln('*____________________
gotoxy(1,7);
Writeln('* 1.vvod dannih * 2.vivod dannih * 3.dobavlenie * 4.Sortirovka * 5.Udalenie *');
Writeln('*____________________
Writeln('* 8.Vihod');
textbackground(12);
gotoxy(18,23); Writeln('Vvedite nomer sootvetstvuishego punkta menu:');
Readln(punkt);
textbackground(25);
case punkt of
1:vvod;
2:begin kont:=0; kont:=1; vivod; end;
3:begin kont:=1; kont:=0; kont2:=1; vivod; if temp1=0 then vvod else temp:=0; end;
4:begin kont:=2; kont1:=0; vivod; if temp1=0 then sort else temp:=0; end;
5:begin kont:=3; kont1:=0; vivod; if temp1=0 then del else temp:=0; end;
6:search;
end;
end;
end. {конец программы}
2).
3).
Цикл 1 «Выход»
Информация о работе Составить программу с горизонтальным типом меню