Oppure

Loading
22/01/11 16:15
luca.casteddu
Ciao.. Non riesco a far partire questo programma, cioè parte ma i risultati sono tutti sfasati.. vi posto il codice per dare un occhiata.. Grazieee

program calcolatrice;
uses crt;
var a,b,ris,sc:integer;

begin
clrscr;
repeat
writeln('Scrivi il primo numero intero!');
read(a);
writeln('Scrivi il secondo numero intero!');
read(b);
writeln('1= Addizione');
writeln('2= Sottrazione');
writeln('3= Moltiplicazione');
writeln('4= Divisione');
readln;
case sc of
1: ris:= (a+b);
2: ris:= (a-b);
3: ris:= (a*b);
4: ris:= (a mod b);
else
end;
readln;
writeln('Il risultato è', ris);
until sc=5;
repeat
until keypressed;
end.


:-?
Ultima modifica effettuata da Phi 26/01/11 21:31
aaa
22/01/11 16:19
luca.casteddu
Postato originariamente da luca.casteddu:

Ciao.. Non riesco a far partire questo programma, cioè parte ma i risultati sono tutti sfasati.. vi posto il codice per dare un occhiata.. Grazieee

program calcolatrice;
uses crt;
var a,b,ris,sc:integer;

begin
clrscr;
repeat
writeln('Scrivi il primo numero intero!');
read(a);
writeln('Scrivi il secondo numero intero!');
read(b);
writeln('1= Addizione');
writeln('2= Sottrazione');
writeln('3= Moltiplicazione');
writeln('4= Divisione');
readln;
case sc of
1: ris:= (a+b);
2: ris:= (a-b);
3: ris:= (a*b);
4: ris:= (a mod b);
else
end;
readln;
writeln('Il risultato è', ris);
until sc=5;
repeat
until keypressed;
end.
:-?

aaa
22/01/11 18:01
a_butta
motivo? errore? dettagli?

Per stavolta ti rispondo, ma non si fa così! :nono:

Il problema è nella lettura del dato sc! Come fai fare un case su una variabile non inizializzata? :
writeln('4= Divisione');
readln(sc);  //L'errore è qui
case sc of
1: ris:= (a+b);
2: ris:= (a-b);
3: ris:= (a*b);
4: ris:= (a mod b);
else


In pascal, se non erro, una variabile numerica non inizializzata, non viene posta nulla (uguale a zero), ma mi pare assuma un valore random
Ultima modifica effettuata da a_butta 22/01/11 18:04
aaa
21/05/11 21:28
Gabry
So che c'entra poco.... ma "mod" non indica il quoziente tra due numeri! Indica il resto. Per il quoziente tra due numeri si usano "div" e "/", a seconda che i due numeri siano interi o reali!
aaa