Oppure

Loading
05/02/07 10:20
... mi spiegate bene come si usa? Ho provato a fare un programma del genere, ma la scritta "Prova" appare sempre all'inizio della finestra, e non alle coordinate che ho scelto.


program programma;
uses crt;
begin
clrscr;
gotoxy(200,150);
writeln('Prova');
readln
end.

Dove ho sbagliato?
:-?
05/02/07 11:14
sange_90
Le coordinate che hai immesso in gotoxy sono troppo grosse... le colonne vanno fino ad 80 e le righe fino a 50...:k:
aaa
05/02/07 11:55
Postato originariamente da sange_90:

Le coordinate che hai immesso in gotoxy sono troppo grosse... le colonne vanno fino ad 80 e le righe fino a 50...:k:


Credevo che i numeri si riferissero ai pixel o_O

Ora funziona, grazie mille!!!!!!! :k:
05/02/07 12:06
Allora, ho creato il seguente programma, però c'è un problema. Ho utilizzato il comando gotoxy per far apparire la scritta "by Vincenzo" in fondo al programma, ma la scritta non appare... ho evidenziato la parte interessata

program tuttofare;
uses crt;
var m,somma,a,b:real;
n,scelta,e,i:integer;
begin
repeat
textbackground(2);
clrscr;
textcolor(11);
gotoxy(40,40);
writeln('by Vincenzo');
gotoxy(1,1);

writeln(' *********************************');
write(' *****');
textcolor(yellow);
write(' PROGRAMMA TUTTOFARE ');
textcolor(11);
writeln('*******');
writeln(' *********************************');
write(' *');
textcolor(yellow);
write('Digita il numero corrispondente');
textcolor(11);
writeln('*');
writeln(' *********************************');
write(' *');
textcolor(15);
write(' 1 ---> Media di numeri ');
textcolor(11);
writeln(' *');
write(' *');
textcolor(15);
write(' 2 ---> Potenze ');
textcolor(11);
writeln(' *');
write(' *');
textcolor(15);
write(' 3 ---> Calcola sconto ');
textcolor(11);
writeln(' *');
write(' ***');
textcolor(yellow);
write(' Premi 9 per uscire');
textcolor(11);
writeln(' ***');
write('Scrivi ------> ');
readln(scelta);
if scelta=1 then
begin
repeat
clrscr;
writeln('Su quanti numeri desideri eseguire la media?');
readln(n);
somma:=0;
for i:=1 to n do
begin
write('Inserisci il valore ',i,' ---> ');
readln(m);
somma:=somma+m
end;
writeln('La media Š ',somma/n:5:2);
writeln;
writeln('Inserisci 1 per ritornare alla pagina iniziale, o un altro numero per ripetere');
readln(scelta)
until scelta=1
end;
if scelta=2 then
begin
repeat
clrscr;
somma:=1;
write('Inserisci la base ---> ');
readln(a);
write('Inserisci l''esponente ---> ');
readln(e);
if e<0 then
begin
e:=-e;
for i:=1 to e do
begin
somma:=somma*a;
end;
writeln('Il risultato Š ',1/somma:5:12);
end
else
begin
for i:=1 to e do
somma:=somma*a;
writeln('Il risultato Š ',somma:5:2);
end;
writeln('Inserisci 1 per ritornare alla pagina iniziale, o un altro numero per ripetere');
readln(scelta)
until scelta=1
end;
if scelta=3 then
begin
while scelta<>1 do
begin
clrscr;
write('Inserisci il prezzo di un prodotto ---> ');
readln(a);
write('Inserisci la percentuale di sconto ---> ');
readln(b);
m:=(a*b)/100;
somma:=a-m;
writeln('Lo sconto Š di ',m:5:2);
writeln('Il prezzo finale e scontato Š di ',somma:5:2);
writeln;
writeln('Premi 1 per ritornare alla pagina iniziale, o un altro numero per ripetere');
readln(scelta);
end;
end
until scelta=9
end.


:-?:-?
Ultima modifica effettuata da 05/02/07 12:07
05/02/07 15:02
sange_90
Ti dico dove sta il problema... a mio parere la tua finestra pascal legge 80 colonne e 25 righe (come molti fanno anche). Con questa istruzione te la fa ad 80*50...
program tuttofare;
uses crt;
var m,somma,a,b:real;
n,scelta,e,i:integer;
begin
textmode(co80+font8x8); (* <<< è questa listruzione!!! *)
repeat
textbackground(2);
clrscr;
textcolor(11);
gotoxy(40,40);
writeln('by Vincenzo');
gotoxy(1,1);
writeln(' *********************************');
write(' *****');
textcolor(yellow);
write(' PROGRAMMA TUTTOFARE ');
textcolor(11);
writeln('*******');
writeln(' *********************************');
write(' *');
textcolor(yellow);
write('Digita il numero corrispondente');
textcolor(11);
writeln('*');
writeln(' *********************************');
write(' *');
textcolor(15);
write(' 1 ---> Media di numeri ');
textcolor(11);
writeln(' *');
write(' *');
textcolor(15);
write(' 2 ---> Potenze ');
textcolor(11);
writeln(' *');
write(' *');
textcolor(15);
write(' 3 ---> Calcola sconto ');
textcolor(11);
writeln(' *');
write(' ***');
textcolor(yellow);
write(' Premi 9 per uscire');
textcolor(11);
writeln(' ***');
write('Scrivi ------> ');
readln(scelta);
if scelta=1 then
begin
repeat
clrscr;
writeln('Su quanti numeri desideri eseguire la media?');
readln(n);
somma:=0;
for i:=1 to n do
begin
write('Inserisci il valore ',i,' ---> ');
readln(m);
somma:=somma+m
end;
writeln('La media Š ',somma/n:5:2);
writeln;
writeln('Inserisci 1 per ritornare alla pagina iniziale, o un altro numero per ripetere');
readln(scelta)
until scelta=1
end;
if scelta=2 then
begin
repeat
clrscr;
somma:=1;
write('Inserisci la base ---> ');
readln(a);
write('Inserisci l''esponente ---> ');
readln(e);
if e<0 then
begin
e:=-e;
for i:=1 to e do
begin
somma:=somma*a;
end;
writeln('Il risultato Š ',1/somma:5:12);
end
else
begin
for i:=1 to e do
somma:=somma*a;
writeln('Il risultato Š ',somma:5:2);
end;
writeln('Inserisci 1 per ritornare alla pagina iniziale, o un altro numero per ripetere');
readln(scelta)
until scelta=1
end;
if scelta=3 then
begin
while scelta<>1 do
begin
clrscr;
write('Inserisci il prezzo di un prodotto ---> ');
readln(a);
write('Inserisci la percentuale di sconto ---> ');
readln(b);
m:=(a*b)/100;
somma:=a-m;
writeln('Lo sconto Š di ',m:5:2);
writeln('Il prezzo finale e scontato Š di ',somma:5:2);
writeln;
writeln('Premi 1 per ritornare alla pagina iniziale, o un altro numero per ripetere');
readln(scelta);
end;
end
until scelta=9
end.
(* SPERO DI AVERTI AIUTATO! *) :k:
aaa
05/02/07 15:44
Si ora funziona grazie mille... però non ho capito il significato di quei caratteri. Ad esempio, co80 potrebbero essere "80 colonne" ok, ma font che sarebbe? E perchè 8x8? o_O