Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2012, 01:47   #1
Anton94.by
Форумчанин
 
Регистрация: 16.10.2011
Сообщений: 115
Сообщение Меню в паскале

Задание:
Запись содержит сведения о сдаче экзаменов. Структура записи:
- Номер группы;
- Ф.И.О.;
- Шифр;
- Оценки сдачи трех экзаменов.
Выдать сведения о студентах, успешно сдавших экзамены.

Нужно к программе написанной ниже, добавить, чтобы была таблица меню в самом окне паскаль.
Пример меню:
ГЛАВНОЕ МЕНЮ

1 – ввод
2 – вывод
3 – обработка
4 – выход

Выберете режим и нажмите Еnter


Код:
program st;
type
  Tabiturient=Record
    Nomer_gruppy:string[10];
    FIO:string[200];
    Shifr:string[100];
    Ocenka:array[1..3] of integer;
    end;
var
  zap:array of Tabiturient;
  abiturient:Tabiturient;
  kolvo, i:integer;
begin
  writeln('vvedite kolichestvo abiturientov');
  readln(kolvo);
  SetLength(zap, kolvo);
  writeln('vvedite dannye abiturientov');
  for i:=0 to kolvo-1 do
    begin
      writeln('abiturient N* ',i+1);
      write(' nomer gruppy -->  ');
      readln( abiturient. Nomer_gruppy);
      write( ' F.I.O -->  ');
      readln(abiturient.FIO);
      write(' Shifr -->  ');
      readln(abiturient.Shifr);
      write(' Ocenka po matematike -->  ');
      readln(abiturient.ocenka[1]);
      write(' Ocenka po fizike -->  ');
      readln(abiturient.ocenka[2]);
      write(' Ocenka po russkomy -->  ');
      readln(abiturient.ocenka[3]);
      zap[i]:=abiturient;
    end;
  writeln(' uspeshno sdali ekzameny');
  for i:=0 to kolvo-1 do
    begin
      if zap[i].Ocenka[1]>=4 then
      if zap[i].Ocenka[2]>=4 then
      if zap[i].Ocenka[3]>=4 then
        begin
          writeln;
          writeln(' F.I.O. ',zap[i]. FIO);
          writeln(' Nomer gruppy ',zap[i].Nomer_gruppy);
          writeln('Shifr ',zap[i].Shifr);
          writeln;
        end;
    end;
  readln;
end.

Программа для меню ( только незнаю куда её вставить).
Код:
Program Simple_Menu;
Uses 
  Crt;
Const
  K=4; {Количество режимов}
  Nameregim:array[1..K] of String[26]=
   ('1 - ввод',
    '2 - вывод',
    '3 - обработка',
    '4 - выход');
  Var
    i,j: Byte;
Procedure Zast;
Begin
   {процедура заставка}
End;
Procedure Vvod;
Begin
   {процедура ввода}
End;
Procedure Vivod;
Begin
   {процедура вывода}
End;
Procedure Obrabotka;
Begin
   {процедура обработки}
End;
Begin
  Zast;
  While True do
  begin
    Clrscr;
    GotoXY(24,4);
    Write ('ГЛАВНОЕ МЕНЮ');
    For j:=1 to 4 do
    begin
      GotoXY(25,7+j);
      Write (Nameregim[j]);
    end;
    GotoXY(20,15);
    Write (‘Выберете режима и нажмите Enter’);
    ReadLn(i);
    Case i of
    1: Vvod;
    2: Vivod;
    3: Obrabotka;
    4: Exit
    else
    begin
      GotoXY(20,17);
      Write (‘Такого режима нет. Повторите!’);
    end {else}
   end {case}
  end {while}
End.
Anton94.by вне форума Ответить с цитированием
Старый 14.03.2012, 08:19   #2
N.i.k.o.l.a.y.
Форумчанин
 
Регистрация: 12.03.2012
Сообщений: 123
По умолчанию

Ты оператор case знаешь?

Вот изучи:

CASE УправляющаяПеременнаяИлиВыражение OF
*** НаборЗначений1 : Оператор1;
*** НаборЗначений2 : Оператор2;
*** НаборЗначений3 : Оператор3;
*********** . . .
*** НаборЗначенийN : ОператорN
*** ELSE АльтернативныйОператор
END;

И пример:

Код:
PROGRAM Example_CASE_1;
VAR A : integer;
BEGIN
    Write('Введите оценку: '); Read(A);
    CASE A OF
        2 : Write('неудовлетворительно');
        3 : Write('удовлетворительно');
        4 : Write('хорошо');
        5 : Write('отлично')
        ELSE Write('Ошибка!')
    END;
END.



___________
Это что за "художества" со звёздочками?!!
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)

Не забывайте об этом!

Модератор.


Думаю что сам разберешься. Потому что если за тебя все сделать ты не че не поймешь. По себе знаю.


И не используйте форум как чат - не пишите несколько коротких сообщений подряд! Это будет расценено как флуд и можете получить штраф!
Есть что добавить - нажимайте кнопку "Правка/Редактировать" на своём крайнем сообщении
и изменяйте, добавляйте....

Модератор.
<====Если помог, весы под профилем.

Последний раз редактировалось Serge_Bliznykov; 14.03.2012 в 09:37.
N.i.k.o.l.a.y. вне форума Ответить с цитированием
Старый 15.03.2012, 23:33   #3
Anton94.by
Форумчанин
 
Регистрация: 16.10.2011
Сообщений: 115
По умолчанию

А можете саму программу написать?
Anton94.by вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимо написать МЕНЮ в паскале!!! A.S.W Помощь студентам 2 21.06.2010 16:47
Редактирование меню в Паскале Kanris Помощь студентам 2 25.03.2010 22:41
как создать меню в паскале? Kati Помощь студентам 1 20.06.2009 11:35
меню пользователя в паскале GaJIbI4 Помощь студентам 2 16.11.2008 12:17