Ir ao conteúdo
  • Cadastre-se

Divisão por 0 no Pascal


Anderson1986

Posts recomendados

Estou Tentando fazer com que um programa que usa case

não permita que seja feito uma divisão por zero

O Código é o Seguinte:

Program Menu;

Uses Crt;

Var Num1, Num2:Real;

Opcao:Char;

Begin

Clrscr;

Writeln('Menu');

Writeln('[+] Adição');

Writeln('[-] Subtração');

Writeln('[*] Multiplicação');

Writeln('[/] A Divisão');

Writeln('[F] Fim');

Writeln('Digite a Opção:');

Readln(opcao);

Writeln('Digite o Primeiro Numero:');

Readln(Num1);

Writeln('Digite o Segundo Numero:');

Readln(Num2);

Case opcao of

'+':Writeln('A Adição:', Num1+Num2:0:0);

'-':Writeln('A Subtração:', Num1-Num2:0:0);

'*':Writeln('A Multiplicação ‚:', Num1*Num2:0:0);

'/':If (num1=0) Then

Writeln('NÆo se pode Dividir por 0');

Else

Writeln('A Divisão ‚:',Num1/Num2:0:0);

'F':Writeln('FIM');

Else

Writeln('Opção Inválida');

End;

Readln

End.

Eu tento Compilar Dessa Forma e Da os Seguintes Erros:

Programa Menu2.pas(28,5) Error: Label used but not defined "F"

Programa Menu2.pas(28,5) Fatal: Syntax error, "END" expected but "identifier WRITELN" found

Programa Menu2.pas(0) Fatal: Compilation aborted

Link para o comentário
Compartilhar em outros sites

Tira o ponto e vírgula antes do "else" aqui, ficando assim:


'/':If (num1=0) Then
Writeln('NÆo se pode Dividir por 0')
Else
Writeln('A Divisão ‚:',Num1/Num2:0:0);

E está faltando um ponto e vírgula aqui, ficando assim:


End;
Readln;
End.

JP

Deu certo do jeito que me falou, só que eu estou tentando fazer com que o num1 eo num2 quando digitar zero em qualquer um dos dois de a mensagem de erro

o código ficou assim

Program Menu;

Uses Crt;

Var Num1, Num2:Real;

Opcao:Char;

Begin

Clrscr;

Writeln('Menu');

Writeln('[+] Adição');

Writeln('[-] Subtração');

Writeln('[*] A Multiplicação');

Writeln('[/] DivisÆo');

Writeln('Fim');

Writeln('Digite a Opção:');

Readln(opcao);

Writeln('Digite o Primerio Numero:');

Readln(Num1);

Writeln('Digite o Segundo Numero:');

Readln(Num2);

Case opcao of

'+':Writeln('A soma:', num1+num2:0:0);

'-':Writeln('A Subtração:', num2-num2:0:0);

'*':Writeln('A Multiplicação:', num1*num2:0:0);

'/':if num1=0 and num2=0 then

Writeln('Não se pode dividir por zero')

Else

Writeln('A Divisão:', num1/num2:0:0);

'F':Writeln('Fim');

Else

Writeln('Opção Invalida');

End;

Readln;

End.

Dando os Seguintes erros:

Programa Menu.pas(25,15) Error: Operation "and" not supported for types "Real" and "Real"

Programa Menu.pas(35) Fatal: There were 1 errors compiling module, stopping

Programa Menu.pas(0) Fatal: Compilation aborted

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...