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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2011, 14:55   #1
Свежий
 
Регистрация: 11.05.2011
Сообщений: 4
По умолчанию калькулятор на Паскале

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

Код:
Uses Crt;
 Const
      Number = 5; {}
      Color = 12; AltColor = 0; {}
      L = 7; {}
      XBegin = (80-(Number+2)) div 2;
      YBegin = (25-1) div 2;
      Up = #77; Down = #75; {}
      Enter = #13;
      ItemList : Array [1..Number] of string[L] = ('  Exit ','   +   ','   -   ','   *   ','   /   ');
 Var
      Item:Byte;
      n,m,s:real;
Procedure WriteXY(x,y:integer; attr:Byte; s:string);
 Var
   Save:Byte;
 Begin
  Save:=TextAttr; TextAttr:=Save;
  GoToXY(x,y); Write(s); TextAttr:=Save;
 End;
Procedure DrawWindow(x1,y1,x2,y2:Byte; attr:Byte);
 Const
      Frames:array[1..6] of char ='******';
 Var
   x,y:Byte;
Begin
 For x:=x1+1 to x2-1 do
  begin WriteXY(x,y1,attr,Frames[5]);
        WriteXY(x,y2,attr,Frames[5]);
  end;
 For y:=y1+1 to y2-1 do
  begin WriteXY(x2,y,attr,Frames[6]);
        WriteXY(x1,y,attr,Frames[6]);
  end;
 WriteXY(x1,y1,attr,Frames[1]); WriteXY(x2,y1,attr,Frames[2]);
 WriteXY(x1,y2,attr,Frames[4]); WriteXY(x2,y2,attr,Frames[3]);
End;
Procedure ShowMenu(Item:Byte);
 Var
  i:Byte;
Begin
 TextAttr:=AltColor shl 4 + Color;
 For i:=1 to Number do
  Begin
   If i=Item then
   TextAttr:=Color shl 4 + AltColor;
   GoToXY(XBegin+1,YBegin+i-1); Write(ItemList[i]);
   TextAttr:=AltColor shl 4 + Color;
  End;
End;
Procedure SelectItem(var Item:Byte);
 Var
  Symb:char;
Begin
 Repeat
  ShowMenu(Item);
  Symb:= ReadKey; If Symb = #0 Then Symb :=ReadKey;
  Case Symb of
   Up: Begin dec(Item);   If Item = 0 Then Item := Number End;
   Down: Begin Inc(Item); If Item > Number Then Item := 1 End;
  End; {CASE}
 Until Symb = Enter;
End;
BEGIN
ClrScr;
 DrawWindow(XBegin, YBegin-1, XBegin+L+1, YBegin+Number, AltColor shl 4 + Color);
 Item :=1;
 Repeat
    SelectItem(Item); GoToXY(25,20);
    Case Item of
     1: Exit;
     2: Begin
           ClrScr;
           Writeln('slogenie');
           Write('1oe slagaemoe =  ');
           Read(n);
           Write('2oe slagaemoe =  ');
           Read(m);
           s:=n+m;
           Writeln('otvet =  ',s:0:2);
        End;
     3: Begin
           ClrScr;
           Writeln('Vuchutanue');
           Write('ymenLLIaemoe =  ');
           Read(n);
           Write('BblChitaemoe =  ');
           Read(m);
           s:=n-m;
           Writeln('otvet =  ',s:0:2);
        End;
     4: Begin
           ClrScr;
           Writeln('Ymnogenue');
           Write('1 mnogutel =  ');
           Read(n);
           Write('2 mnogutel =  ');
           Read(m);
           s:=n*m;
           Writeln('otvet =  ',s:0:2);
        End;
     5: Begin
           ClrScr;
           Writeln('Delenue');
           Write('Delumoe =  ');
           Read(n);
           Write('Delutel =  ');
           Read(m);
           s:=n/m;
           Writeln('otvet =  ',s:0:2);
        End;
 End;
 Until False;
END.

Пожалуйста помогите бедному студенту :-)
Свежий вне форума Ответить с цитированием
Старый 13.05.2011, 19:50   #2
Свежий
 
Регистрация: 11.05.2011
Сообщений: 4
По умолчанию

ПИПЛ ХЕЛП МИ
Свежий вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
калькулятор zorra123 C# (си шарп) 5 16.02.2011 19:15
Калькулятор на паскале ne4kin Паскаль, Turbo Pascal, PascalABC.NET 21 06.12.2010 19:05
Калькулятор на паскале Buratino Помощь студентам 14 10.10.2010 13:18
Калькулятор на паскале, продолжение действия tabber Помощь студентам 1 28.09.2010 18:33
Калькулятор на паскале Nastya55555 Помощь студентам 1 05.05.2010 22:37