• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Gempis

Calculadora

9 mensagens neste tópico

Já há algum tempo que não pegava no Pascal, então resolvi dar-lhe uns toques, mas este o compilador diz que há um erro na linha 4, qual é?

Deve ser uma coisa mesmo assim muito óbvio, mas já não mexia nisto há mais de dois anos...

Program somar;

Var n1,n2 : integer;
Var sinal : string;



Begin

Write('Insira o número:');
Read(n1);

Write('Insira o número:');
Read(n2);

Write('Insira ou sinal, a - soma ou b - diferença');
Read('sinal');

Write('Insira o número:');
Read(n2);

If sinal=a
then Write('Resultado = ',n1+n2);
else 
	if sinal=b
		then write('Resultado = ',n1-n2);
		else write('Sinal Inválido');

End.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu também ja não mexo ha muito tempo nisso...mas tinha a impressão que era case sensitive, ou seja, sensivel a maiusculas e minusculas

Hasta

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Remove daí a palavra Var (onde tem sinal : string;), penso que será disso. Em pascal só precisas de escrever uma vez Var.

Não dou certezas que seja disso mas, penso que seja. Tal como tu já não mexo em pascal a uns anitos :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois é...

Obrigadissimo, quando eu aprendia escrevia assim:

Var

xxx: integer
yyy: string

Já estava habituado ao JavaScript...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O código tinha alguns erros, fruto da distracção, aqui está o código actualizado...

Tenho um problema agora, meto o numero, depois meto outro, depois meto o sinal, e ele em vez de me dar o resultado pede outro número...

Program somar;

Var 
n1,n2 : integer;
sinal : string;



Begin

Write('Insira o número:');
Read(n1);

Write('Insira o número:');
Read(n2);

Write('Insira ou sinal, a - soma ou b - diferença');
Readln(sinal);

Write('Insira o número:');
Read(n2);

If sinal=('a')
   then Write('Resultado = ',n1+n2)
   else
      if sinal=('b')
         then write('Resultado = ',n1-n2)
         else write('Sinal Inválido');

End.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não será por teres outro read depois de inserires o sinal?  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora