program ramka;
var i: Integer;
begin
Writeln('Kody ASCII z zakresu 128-255');
for i:= 128 to 255 do begin
Write(i, ' - ', Chr(i), ' ');
if (i mod 8) = 7 then Writeln;
end;
Writeln('Ramka podwojna');
writeln(Chr(201), Chr(205), Chr(205), Chr(187));
Writeln(Chr(186), 'Hi', Chr(186));
Writeln(Chr(200), Chr(205), Chr(205), Chr(188));
Readln;
end.
Program napisany w Turbo Pascalu, ale powinien działać u Ciebie.
Tylko gdzie to wstawić w swoim programie mam żeby działało?
– Dodane 20.01.2010 (Śr) 19:59 –
program kalkulator;
uses crt;
var
znak, odp : char;
wynik, a, b : real;
begin
repeat
begin
clrscr;
textcolor(green);
writeln ('Program napisał: Jan Kowalski');
writeln;
textcolor(yellow);
writeln ('Możliwe działania do wyboru: ');
writeln;
writeln ('"+" - dodawanie');
writeln ('"-" - odejmowanie');
writeln ('"*" - mnożenie');
writeln ('"/" - dzielenie');
writeln;
write ('Wybieram: ');
readln(znak);
if odp='D' then
begin
case znak of
'+':
begin
writeln ('Poprzedni wynik to: ',wynik:4:2);
write ('Podaj liczbę: ');
readln(a);
wynik:=wynik+a;
writeln ('Wynik to: ',wynik:4:2);
end;
'-':
begin
writeln ('Poprzedni wynik to: ',wynik:4:2);
write ('Podaj pierwszą liczbę: ');
readln(a);
wynik:=wynik-a;
writeln ('Wynik to: ',wynik:4:2);
end;
'*':
begin
writeln ('Poprzedni wynik to: ',wynik:4:2);
write ('Podaj liczbę: ');
readln(b);
wynik:=wynik*b;
writeln ('Wynik to: ',wynik:4:2);
end;
'/':
begin
writeln ('Poprzedni wynik to: ',wynik:4:2);
repeat
begin
write ('Podaj liczbę: ');
readln(b);
end;
until b<>0;
wynik:=wynik/b;
writeln ('Wynik to: ',wynik:4:2);
end;
else writeln ('Nie wybrałeś żadnego działania');
end;
end
else
begin
wynik:=0;
case znak of
'+':
begin
write ('Podaj pierwszą liczbę: ');
readln(a);
write ('Podaj drugą liczbę: ');
readln(b);
wynik:=a+b;
writeln ('Wynik to: ',wynik:4:2);
end;
'-':
begin
write ('Podaj pierwszą liczbę: ');
readln(a);
write ('Podaj drugą liczbę: ');
readln(b);
wynik:=a-b;
writeln ('Wynik to: ',wynik:4:2);
end;
'*':
begin
write ('Podaj pierwszą liczbę: ');
readln(a);
write ('Podaj drugą liczbę: ');
readln(b);
wynik:=a*b;
writeln ('Wynik to: ',wynik:4:2);
end;
'/':
begin
write ('Podaj pierwszą liczbę: ');
readln(a);
repeat
begin
write ('Podaj drugą liczbę: ');
readln(b);
end;
until b<>0;
wynik:=a/b;
writeln ('Wynik to: ',wynik:4:2);
end;
else writeln ('Nie wybrałeś żadnego działania');
end;
end;
repeat
begin
write ('Zakończ program(E), licz od nowa(L), wykonaj następne działania(D): ');
odp:=upcase(readkey);
writeln;
end;
until (odp='E') or (odp='L') or (odp='D')
end;
until odp='E'
end.
No niestety zanim zastosujesz to trza zrozumieć o co w tym biega.
Ponieważ nie podałeś od początku w którym miejscu jakiego kodu chcesz to wstawić to dostałeś dwa przykłady zrobienia tego samego na dwa sposoby. Przeanalizuj, zrozum, dopasuj do swojego kodu.
Ale jaki błąd, to już nie byłaś łaskawa napisać. Dodatkowo mogłaś (a nawet powinnaś) wkleić kod swojego programu, aby było się do czego odnieść
Mimo to i tak spróbuję Ci pomóc, zwłaszcza że przy próbie zastosowania procedury WriteInFrames w Twoim programie trzeba zwrócić uwagę na pewien szczegół. Nie można do niej przekazać tekstu razem ze zmienną, tak jak to robisz w przypadku stosowania instrukcji Writeln.
Tak więc po kolei:
Zadeklaruj dodatkową zmienną tekstową, np Napis
var Napis: string;
Wstaw treść samej procedury do swojego programu, najlepiej bezpośrednio przed słowem begin oznaczającym początek programu głównego Tu masz treść programu głównego ze zmodyfikowanym fragmentem, który wyświetla napis w ramce, gdy najmniejsza jest liczba a. Resztę musisz sobie sama poprawić.
begin
ClrScr;
Write('Podaj 3 liczby: ');
Readln(a,b,c);
if a
if a
Str(a:5:2, Napis);
Napis:= 'Najmniejsza jest: ' + Napis;
WriteInFrames(Napis, true, Green, Red);
end
else begin
Writeln('Najmniejsza jest: ',c:5:2);
end
else
if b
Writeln('najmniejsza jest: ',b:5:2);
end
else begin
Writeln('c jest najmniejsza');
end;
repeat until Keypressed;
end.[/code]