Dúvida com Else do Pascal Zim

telmovaz

Membro
Olá pessoal, é o seguinte

Defronto este problema em Pascal Zim:

Tenho dois If's e pretendo que o meu Else resulte para ambos, portanto escrevi:
var a:char;


Begin


writeln ('És M (masculino) ou F (feminino)?');
readln (a);


if (a='M') then
writeln ('M - masculino')


if (a='F') then
writeln ('F - feminino')
else
writeln ('Sexo inválido')

End.

Mas acontece que o "Sexo inválido" aparece também quando eu coloco "M". Assim:
"M - masculino.
Sexo inválido"

Mas se meto feminino aparece corretamente:
"F - feminino"

O que pretendo é que a pessoa escreva M ou F indicando se é masculino ou feminino, e se digita outra coisa qualquer que apareça "Sexo inválido".


Agradeço quem me possa ajudar, pois ainda estou nos básicos da programação.
 
o meu pascal está um bocado... lento, mas ve se assim consegues

Program Pzim ;
var a:char;
Begin

writeln ('És M (masculino) ou F (feminino)?');
readln (a);

if (a='M') then
writeln ('M - masculino');

if (a='F') then
writeln ('F - feminino') ;

if ((a<>'M') and (a<>'F'))
then
writeln ('Sexo inválido') ;

End.
 
Begin


writeln ('És M (masculino) ou F (feminino)?');
readln (a);


if (a='M') then
writeln ('M - masculino')

else
if (a='F') then
writeln ('F - feminino')
else
writeln ('Sexo inválido')

End.
 
Back
Topo