на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка программы обработки экономической информации
p align="left">x:=x+pop^.inf.neopravdan; //нахождение промежуточной величины

pop^.inf.summa:=x;

pop:=pop^.nr;

end;

gotoxy(25,25);

writeln('Processing data is over push the -enter-'); //завершилась обработка

readln;

end;

{------------------------------------------------------------------------}

{------------------prosmotr----------------------------------------------}

{------------------------------------------------------------------------}

//смотреть prosmotr_2 - всё аналогично ,только добавляются нолвые поля.

procedure prosmotr(x:ukaz);

var

n:integer;

c:char;

begin

clrscr;

n:=0;

newE:=x;

writeln('|------|---------------|----------|---------|');

writeln('|#grupp| Name | amount of| validly |');

writeln('| | | absence | |');

writeln('|------|---------------|----------|---------|');

while (newE<>right^.nr) and (n<=6) do

begin

inc(n);

write('|', newE^.inf.nomergrupp:5,' ');

write('|',newE^.inf.fio:15);

write('|',newE^.inf.propusk:5,' ');

writeln('|', newE^.inf.opravdan:5,' |');

write('| | | | |');

writeln;

newE:=newE^.nr;

end;

if otpech=0 then

otpech:=otpech+n;

writeln('|------|---------------|----------|---------|');

writeln('Push the -enter- to the Exit');

end;

procedure klavishi(nom:integer);

var

c:char;

left:ukaz;

begin

otpech:=0; //обнуляем

left:=verh; //указатель на начало

case nom of//выбор

1:prosmotr(left);

2:prosmotr_2(left);

3:begin clrscr;gotoxy(20,25);textcolor(white);Writeln('Input the name of a student which cold been finded');

textcolor(white);gotoxy(25,27);readln(z.fio);for i:=1 to (15-length(z.fio)) do

z.fio:=z.fio+' ';left:=verh;poisk(left,z.fio); end; //установки перед процедурой поиска

end;

while true do//бесконечный цикл

begin

c:=readkey; //чтение клавиши

if ord(c)=13 then//если ентер-выход

case nom of

1:exit;

2:exit;

3:exit;

end

else// иначе

if c=#0 then

begin

c:=readkey;

if c=#80 then//если вниз

begin

if left=right then case nom of//если конец списка

1:prosmotr(left); //выбор

2:prosmotr_2(left);

3:poisk(left,z.fio);

end

else

begin

if (kolvo-otpech=0) then//если всё отпечатали

case nom of

1:prosmotr(left); //выбор

2:prosmotr_2(left);

3:poisk(left,z.fio);

end

else

begin

otpech:=otpech+1; //увеличение числа отпечатанных на 1

left:=left^.nr; //перевод указателя

case nom of//выбор

1:prosmotr(left);

2:prosmotr_2(left);

3:poisk(left,z.fio);

end

end;

end;

end;

if c=#72 then//если вверх

begin

if left^.nl=nil//если список из 1-го эл-та

then case nom of//выбор

1:prosmotr(left);

2:prosmotr_2(left);

3:poisk(left,z.fio);

end

else//иначе

begin

otpech:=otpech-1; //уменьшение числа отпечатанных на1

left:=left^.nl; //перевод указателя

case nom of//выбор

1:prosmotr(left);

2:prosmotr_2(left);

3:poisk(left,z.fio);

end

end;

end

else//иначе не вверз не вниз не ентер

case nom of//выбор

1:prosmotr(left);

2:prosmotr_2(left);

3:poisk(left,z.fio);

end

end

end;

end;

{-------------------------------------------------------------------------}

{---------------------------ZAPIS V FAIL----------------------------------}

{--------------------------------------------------------------------------}

procedure zapis_v_fail;

var

t:text;

pop:ukaz;

d:string;

begin

gotoxy(25,25);

writeln('Input the name of output file'); //ввод имени файла

gotoxy(25,26);

readln(d);

assign(t,'d'); //установка связи сним

rewrite(t); //открытие в режиме записи

newE:=verh; //указатель на начало

//запись в файл шапки

writeln(t,'|-------|---------------|----------|---------|----------|--------|-------|');

writeln(t,'|#grupp | Name | amount of| validly | unvalidly| summa |percent|');

writeln(t,'| | | | absence | | | |');

writeln(t,'|-------|---------------|----------|---------|----------|--------|-------|');

while (newE<>nil) do//пока не конец сиска

begin//запись таблицы

write(t,'|', newE^.inf.nomergrupp:5,' ');

write(t,'|',newE^.inf.fio:15);

write(t,'|',newE^.inf.propusk:5,' ');

write(t,'|', newE^.inf.opravdan:5,' |');

write(t,newE^.inf.neopravdan:7,' |');

write(t,newE^.inf.summa:6,' |');

writeln(t,newE^.inf.procent:5:2,' |');

writeln;

newE:=newE^.nr; //перевод указателя

end;

//запись в файл последней строки

write(t,'|-------|---------------|----------|---------|----------|--------|-------|');

clrscr;

gotoxy(25,25);

writeln('File has been written '); //всё записали

readln;

close(t); //закрытие файла

end;

{--------------------------------------MENYU--------------------------------}

procedure okno(t:integer);{t-nomer stroki}

var

p:integer;

begin

clrscr;

textcolor(white); //смена цвета

textbackground(blue);

writeln('МНННННННННННННННННННННННННННННННННННННН№');

gotoxy(25,25);

if t=1 then//печать пунктов меню и если t равно номеру их строки то выделение чёрным цветом(для каждого)

textbackground(black);

writeln('є 1.Input the filename. є');

textbackground(blue);

gotoxy(25,26);

if t=2 then

textbackground(black);

writeln('є 2.Processing data. є');

textbackground(blue);

gotoxy(25,27);

if t=3 then

textbackground(black);

writeln('є 3.Delete the student. є');

textbackground(blue);

gotoxy(25,28);

if t=4 then

textbackground(black);

writeln('є 4.Add student. є');

textbackground(blue);

gotoxy(25,29);

if t=5 then

textbackground(black);

writeln('є 5.Watch є');

textbackground(blue);

gotoxy(25,30);

if t=6 then

textbackground(black);

writeln('є 6.Search the student. є');

textbackground(blue);

gotoxy(25,31);

if t=7 then

textbackground(black);

writeln('є 7.Write output file. є');

textbackground(blue);

gotoxy(25,32);

if t=8 then

textbackground(black);

writeln('є 8.ExiT. є');

textbackground(blue);

gotoxy(25,33);

writeln('ИННННННННННННННННННННННННННННННННННННННј');

textbackground(blue);

end;

{------------------------------------------------------}

{-------------------------------------------------------------------------}

{----------------------------------------------------------------------------------}

{------------------------------OSNOVNAYA-------------------------------------------}

{----------------------------------------------------------------------------------}

begin

x:=1; //номер строки

textbackground(blue);

okno(x);

while true do//бесконечный цикл

begin

c:=readkey; //чтение клавиши

if ord(c)=13 then//ентер

case x of//выбор процедур по их номеру пунктов

1:begin clrscr;org;if sozdan=true then klavishi(1);end;

2:begin clrscr;obrabotka;end;

3:begin clrscr;udal;end;

4:begin clrscr;dob;end;

5:begin clrscr;obrabotka;klavishi(2);end;

6:begin clrscr;klavishi(3);end;

7:begin clrscr;zapis_v_fail;end;

8:begin clrscr;halt;end;

end;

if c=#0

then

begin

c:=readkey;

if c=#80 then//если вниз

begin

x:=x+1; //увеличение номера строки на 1

if x>8 then//если он больше 8

begin

x:=1; //то он будет =1

okno(x); //печать меню

end

else

okno(x); //печать меню

end

else

if c=#72 then//если вверх

begin

x:=x-1; //уменьшение номера строки на 1

if x<1 then//меньше1

begin

x:=8; //присвоить значение 8

okno(x); //печать меню

end

else

okno(x); //печать меню

end

else

okno(x); //печать меню

end

else

okno(x); //печать меню

end;

end.

Страницы: 1, 2, 3, 4, 5



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.