Ir ao conteúdo
  • Cadastre-se
pferreira8

C - sobre exibição de printf

Recommended Posts

O programa é o seguinte:

#include <stdio.h>
main()
{
    float N1,N2,R;
    char S;
    printf("Digite dois valores numericos e um simbolo: ");
    scanf("%f%f %c", &N1,&N2,&S);
    if ((S != '+') && (S != '-') && (S != '*') && (S != '/'))
        printf("\nSimbolo invalido.");
    if (S == '+')
        R = N1+N2;
    else
    if (S == '-')
        R = N1-N2;
    else
    if (S == '*')
        R = N1*N2;
    else
    if (S == '/')
        R = N1/N2;
    printf("\nResultado da operacao: %.1f", R);
}

 

Quero saber como fazer para quando o simbolo for inválido (diferente de +, -, * e /), exibir apenas o segundo printf. Já tentei várias combinações usando os colchetes, mas nenhuma deu certo. Ele sempre exibe o segundo e último printf (quando o simbolo é inválido).

Editado por DiF
Botão CODE <>

Compartilhar este post


Link para o post
Compartilhar em outros sites

@pferreira8

Coloque um ELSE após esse trecho:

if ((S != '+') && (S != '-') && (S != '*') && (S != '/'))
        printf("\nSimbolo invalido.")

Abra chaves e só feche no final do programa.

adicionado 1 minuto depois

 

Ou então você usa um switch..case e deixa como default a mensagem de Símbolo inválido.

Pode usar também while. Ele só fará a operação ao digitar o simbolo correto.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×