Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 31.03.2011
Сообщений: 29

Меню

07.06.2011, 18:25. Показов 465. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проблема состоит в том что несвосем правильно работает меню тоесть при выборе действия оно некорректно отображает выбор.Помогите разобраться


вот программа
Uses crt, graph;
const e=20;
Label 11, 22, 33;

Type T=^d;
d=record
Data: longint;
Next: T;
end;
var CW,men: longint;
gm,gd:integer;
z: T;
hm, Way: string;
tFile: text;
ch, No,q: char;
Slov: array[1..e] of real;
k,Sr:real;

Procedure TM(var z: T; lett: string);
var x: T;
begin
New(x);
x^.data:=length(hm)-1;
x^.next:=z;
z:=x;
end;

Procedure Pytb(var Way: string);
Label 55;
begin
clrscr;
q:='2';
Gotoxy(15,0);
writeln('vvedite put k failu:');
55:
Gotoxy(30,11);
readln(Way);
If Way='' then goto 55;
end;

Procedure Otkr(var tFile: text; var Way: string; var q: char);
label 6;
begin
{$I-};
assign(tFile,Way);
reset(tFile);
{$I+};
if IOresult<>0 then
begin
clrscr;
gotoxy (15,45);
writeln('Takogo faila net !');
gotoxy (15,30);
writeln('Povtoritb popbltky?');
gotoxy (15,60);
writeln('da=1, net=0');
gotoxy (15,8);
q:=readkey;
end;
end;

Procedure Gotovnost(var k: real; CW: longint);
var y: real;
begin
clrscr;
y:=(k/CW)*100;
gotoxy(55,25);
write('Obrabotano ',y:3:0,' % teksta');
end;

Procedure Slovvf(var tFile: text; var CW: longint);
var ch: char;
Word: string;
begin
clrscr;
Word:='';
reset(tFile);
CW:=0;
while not EOF(tFile) do
begin
read(tFile,ch);
Word:=Word+ch;
if (ch<=#64) and (ch>=#0) then
begin
if length(Word)<>1 then
begin
Word:='';
inc(CW);
end
else Word:='';
end;
end;
gotoxy(30,10);
writeln('V Faile ' ,CW, ' Slov');
gotoxy(80,25);
close(tFile);
readkey;
end;

Procedure Bukv(var tFile: text; var k: real; var lett: string; var CW:longint);
var ch: char;
begin
hm:='';
reset(tFile);
k:=0;
while not EOF(tFile) do
begin
read(tFile,ch);
hm:=hm+ch;
if (ch>=#0) and (ch<=#64) then
begin
if length(hm)<>1 then
begin
Tm(z,hm);
hm:='';
k:=k+1;
Gotovnost(k,CW);
end
else hm:='';
end;
end;
close(tFile);
end;

Procedure Massiv(var z: T; var Slov: array of real; var CW:longint; var Sr: real);
var x: T;
var m: longint;
var Sym: array[1..e] of real;
begin
x:=z;
for m:=1 to e do
begin
Sym[m]:=0;
Slov[m]:=0;
end;
while x<>nil do
begin
m:=x^.data;
if m>e then m:=e;
Slov[m]:=Slov[m]+1;
Sym[m]:=Sym[m]+m;
x:=x^.next;
end;
Sr:=0;
for m:=1 to 20 do
begin
Sr:=Sr+Sym[m];
Slov[m]:=Slov[m]/CW;
end;
Sr:=Sr/CW;
end;

Procedure Tablica(var Slov: array of real; var Sr: real);
var l: byte;
b: array[1..e] of string;
begin
clrscr;
gd:=detect;
initgraph(gd,gm,'');
setbkcolor(4);
setcolor(7);
for l:=1 to 23 do line(30,l*20,610,l*20);
for l:=0 to 2 do line(30+l*290,20,30+l*290,460);
outtextxy(90,30,'Dlina slova');
outtextxy(335,30,'Chastota slov');
outtextxy(90,450,'Srednia dlina slova');
for l:=1 to 20 do
begin
str(l,b[l]);
outtextxy(190,30+l*e,b[l]);
end;
for l:=1 to 20 do
begin
str(Slov[l]:4:3,b[l]);
outtextxy(460,30+l*e,b[l]);
end;
str(Sr:3:1,b[1]);
outtextxy(460,450,b[1]);
readkey;
closegraph;
end;



Procedure MENU(var men:longint);
Label 44;
Var l:longint;
key:char;
begin
gd:=detect;
initgraph(gd,gm,'');
setbkcolor(4);
for l:=1 to 2 do Rectangle(150,100+l*55,500,150+l*55);
outtextxy(160,180,'1 Analizirovanie documenta');
outtextxy(160,235,'2 Vixod');
setcolor(5);
men:=1;
Rectangle(150,100+men*55,500,150+l*55);
44:
key:=readkey;
Case key of
chr(80):
begin
setcolor(cyan);
Rectangle(150,100+men*55,500,150+l*55);
if men<>2 then men:=men+1 else men:=1;
setcolor(8);
Rectangle(150,100+men*55,500,150+l*55);
goto 44;
end;
chr(72):
begin
setcolor(1);
Rectangle(150,100+men*55,500,150+l*55);
if men<>1 then men:=men-1 else men:=2;
setcolor(8);
Rectangle(150,100+men*55,500,150+l*55);
goto 44;
end;

'1': men:=1;
'2': men:=2;
chr(13): clrscr;
else goto 44;
end;
closegraph;
end;

BEGIN
33:
clrscr;
MENU(men);

Case men of
1:
begin
11:
Pytb(Way);
Otkr(tFile,Way,q);
if q='1' then goto 11;
if q<>'0' then
Begin
Slovvf(tFile,CW);
New(z);
z:=nil;
Bukv(tFile,k,hm,CW);
Massiv(z,Slov,CW,Sr);
Tablica(Slov,Sr);
end;
goto 33;
end;
2:
begin
clrscr;
gotoxy(30,0);
writeln('Vi uverini?');
gotoxy(30,0);
writeln('Da=1, Net=0');
gotoxy(80,25);
No:=ReadKey;
if No='0' then goto 33;
end;
end;
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.06.2011, 18:25
Ответы с готовыми решениями:

Меню.
Всем привет:) Нам дали задание сделать графическое меню... У меня никак неполучается реализовать чтоб по нажатию клавишь вверх вниз...

Меню
Всем привет, пожалуста, очень прошу подскажите, как в консольном приложении в дельфи создать меню, с 2 пунктами красивое, с цветным фоном....

меню
Uses crt,base1; label 10; begin clrscr; 10: assign (a,'fff'); writeln (' МЕНЮ '); writeln ('1:создание'); ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.06.2011, 18:25
Помогаю со студенческими работами здесь

Меню
Помогите написать меню, пожалуста!!! uses crt; var s:string; i,k,j,a:integer; r,f:longint; const...

Меню
вот моя программа отображающая меню: uses crt; var s,s1,s2,s3,s4:string; x,y,q:integer; kod:char; begin clrscr; gotoxy(38,3);...

меню
здравствуйте не могли бы мне подсказать как организовать меню, а в частности интерактивную стрелку на пример такого меню: ...

Меню :(
Здраствуйте. Прошу помочь мне разобраться с программой. Паскаль практически не знаю. Задали сделать программу с менюшкой. Программу...

Меню
Нужно сделать меню с такими пунктами: 0. Конец работы. 1. Введение и запись данных в файл. 2. Чтение данных из файла и выведение на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru