Jump to content

Dúvidas num programa em c.


Américo

Recommended Posts

Boas, estou iniciando na linguagem c, e não estou perecebendo o erro nesse programa. O programa chega a numa parte e não imprime na tela. Se possivel ajuda.

 

int a,b;
    char soma,sub,mult,div,resto,c;
    printf("Introduza dois numeros\n");
    scanf("%d%d",&a,&b);
    printf("Qual a operacao que pretende fazer?\n a-adicao\n s-subtracao\n m-multiplicacao\n d-divisao\n r-resto\n");
    scanf("%c",&c);
    switch (c)
        {
            case 'a':
                printf("A soma de %d com %d e %d",a,b,a+b);
                break;
            case 's':
                printf("A subtracao de %d com %d e %d",a,b,a-b);
                break;
            case 'm':
                printf("A multiplicacao de %d com %d e %d",a,b,a*b);
                break;
            case 'd':
                printf("A divisao de %d com %d e %d",a,b,a/b);
                break;
            case 'r':
                printf("O resto de %d com %d e %d",    a,b,a%b);
                break;
        }
}
 

Edited by Américo
Link to comment
Share on other sites

O programa permite que insiras a operção que pretendes efectuar?

(usa as tags "code" e "/code" no teu post)

 

#include <stdio.h>

int main(void){

  return 0;
}

Quando inseres os valores para fazer os cáculos, carregas no <Enter> e esse <Enter> fica no buffer do teclado. Quando pedes a operação a efectuar, esse <Enter> é enviado como a opção escolhida, que obviamente não está comtemplada no teu switch. Este é um dos problemas do teu código.

Outro problema é que falta um statement, por assim dizer, no switch que normalmente é usado em situações inesperadas em que nenhuma das opções contempladas foi a seleccionada. Enganos no input ou outros erros são algumas  das situações mais comuns que acabam neste statement. Esse statement é o default.

 

Consulta a documentação do switch, aqui, por exemplo.

Edited by PsySc0rpi0n
sugestão do uso das tags apropriadas. explicação dos problemas

Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.