Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - Gotoxy...
Forum - Pascal - Gotoxy...

Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedì, 01/01/1970
... 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?
:-?

PM Quote
Avatar
sange_90 (Ex-Member)
Pro


Messaggi: 185
Iscritto: 23/01/2007

Segnala al moderatore
Postato alle 12:14
Lunedì, 05/02/2007
Le coordinate che hai immesso in gotoxy sono troppo grosse... le colonne vanno fino ad 80 e le righe fino a 50...:k:

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 12:55
Lunedì, 05/02/2007
Testo quotato

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:

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 13:06
Lunedì, 05/02/2007
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 il 05/02/2007 alle 13:07
PM Quote
Avatar
sange_90 (Ex-Member)
Pro


Messaggi: 185
Iscritto: 23/01/2007

Segnala al moderatore
Postato alle 16:02
Lunedì, 05/02/2007
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:

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 16:44
Lunedì, 05/02/2007
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

PM Quote