Witam
Z założenia wynika iż w trybie graficznym ma się wyświetlać nam kalkulator z funkcjami podstawowymi oraz z obliczaniem wartości
sin/cos/tg/ctg.
Klawisze po naciśnięciu mają się podświetlić na moment (naciskam '9' podświetla się klawisz z '9'),lecz z tym raczej sobie poradzę.
Niestety z założeń nici jak moje "doświadczenie programistyczne" jest bardzo nikłej jakości.
Więc potrzebuję pomocy.
Mianowicie taki program lecz w trybie tekstowym nawet dla takiego idioty jak ja to pestka w kompocie,co innego dzieje się w trybie graficznym.
Nie mam żadnego pomysłu/pojęcia jak wprowadzić do programu liczbę dwu/trzy cyfrową.
Oczywiście tak to musze zrobić,aby było jak w normalnym kalkulatorze,bez potwierdzania enter itd.
Póki co mam coś takiego,graficznie jest ok,tylko nas zasadą działania przesiedziałem już trochę,kombinowałem zmianą zmiennych ze słowa na liczby i inne,lecz nic z tego.
program kalkgraf;
uses
crt,graph;
var
karta, tryb, x, y, q, w, k, l, g: integer;
var
a, b, c, m: char;
procedure klawiszm(x, y: integer; znak: string);
Begin
line(x, y, x + 30, y);
line(x, y, x, y + 40);
line(x, y + 40, x + 30, y + 40);
line(x + 30, y, x + 30, y + 40);
settextstyle(1, 0, 2);
outtextxy(x + 6, y + 6, znak);
end;
procedure klawiszd(x, y: integer; znak: string);
Begin
line(x, y, x + 100, y);
line(x, y, x, y + 40);
line(x, y + 40, x + 100, y + 40);
line(x + 100, y, x + 100, y + 40);
settextstyle(1, 0, 2);
outtextxy(x + 7, y + 6, znak);
end;
procedure menu;
Begin
line(5, 5, 275, 5);
line(275, 5, 275, 325);
line(275, 325, 5, 325);
line(5, 325, 5, 5);
line(10, 10, 270, 10);
line(270, 10, 270, 100);
line(10, 100, 270, 100);
line(10, 100, 10, 10);
line(10, 110, 270, 110);
line(270, 110, 270, 320);
line(270, 320, 10, 320);
line(10, 320, 10, 110);
outtextxy(220, 20, 'Casio');
end;
procedure klawisze;
Begin
klawiszm(15, 120, '14');
klawiszm(50, 120, '2');
klawiszm(85, 120, '3');
klawiszm(120, 120, '/');
klawiszm(15, 170, '4');
klawiszm(50, 170, '5');
klawiszm(85, 170, '6');
klawiszm(120, 170, '*');
klawiszm(15, 220, '7');
klawiszm(50, 220, '8');
klawiszm(85, 220, '9');
klawiszm(120, 220, '-');
klawiszm(15, 270, 'c');
klawiszm(50, 270, 'of');
klawiszm(85, 270, '=');
klawiszm(120, 270, '+');
klawiszd(155, 120, 's(s)in');
klawiszd(155, 170, 'c(c)os');
klawiszd(155, 220, 't(t)g');
klawiszd(155, 270, 'c(x)tg');
end;
{
procedure dod;
Begin
a := readkey;
outtextxy(30, 30, a);
b:=readkey;
outtextxy(50, 30, b);
c:=readkey;
outtextxy(70, 30, c);
end;
procedure dzi;
begin
g:=q+w;
outtextxy(100, 30, g);
end;
procedure dodd;
Begin
case b of
'+': dzi
end;
end;
}
Begin
clrscr;
karta := 9;
tryb := 2;
initgraph(karta, tryb, 'c:\tp\bgi');
menu;
klawisze;
readln;
closegraph;
END.