Ir para conteúdo
Fórum Script Brasil
  • 0

Calculadora em C (dúvida).[Resolvido]


Hugão

Pergunta

Olá galera, fiz a calculadora abaixo e quando se escolhe a opção 5, o programa deveria sair, não? Para mim sim.

Mas ele volta ao início e pede os dois fatores e depois sai.

Como faço para o programa sair quando escolhida a opção 5?

#include <stdio.h>
#include <stdlib.h>

int main(){

    float n1, n2, resultado;
    int op;

    printf("Escolha a operação\n 1-Soma\n 2-Subtração\n 3-Multimplicação\n 4-Divisão\n 5-Sair\n\n ");
    scanf("%u",&op);
    printf("\nDigite os fatores:\n");
    scanf("%f",&n1);
    scanf("%f",&n2);

    switch(op){
        case 1:
            resultado = n1+n2;
            printf("\nOperação: %.0f+%.0f é igual a \n%.0f",n1, n2, resultado);
            return main();
        break;

        case 2:
            resultado = n1-n2;
            printf("\nOperação: %.0f-%.0f é igual a %.0f", n1, n2, resultado);
            return main();
        break;

        case 3:
            resultado = n1*n2;
            printf("\nOperação: %.0fx%.0f é igual a %.0f", n1, n2, resultado);
            return main();
        break;

        case 4:
            resultado = n1/n2;
            printf("\nOperação: %.0f/%.0f é igual a %.0f", n1, n2, resultado);
            return main();
        break;

        case 5:
            return 0;
        break;
    }

    system("PAUSE");
    return 0;
}

Editado por Hugão
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Saudações,

Na verdade você faz a leitura de qual opção o usuário (menu) e em seguida faz a leitura dos dois fatores independente de ser a opção de sair.

Tanto que, após escolher a opção 5 e digitar os valores, seu programa é finalizado.

Sacou?! ;)

Abraços,

William Rodrigues.

Editado por William Rodrigues
Link para o comentário
Compartilhar em outros sites

  • 0
Na verdade você faz a leitura de qual opção o usuário (menu) e em seguida faz a leitura dos dois fatores independente de ser a opção de sair.

Entendi +/-.

Então o return 0 não serve de nada se escolhida a opção 5?

Como faço para parar a execução e sair se escolhida a opção 5?

Link para o comentário
Compartilhar em outros sites

  • 0

Caro,

O problema está na leitura e não no seu switch(). A execução do seu programa está mais ou menos assim:

// mostra o menu com as opções
    printf("Escolha a operação\n 1-Soma\n 2-Subtração\n 3-Multimplicação\n 4-Divisão\n 5-Sair\n\n ");

    // faz a leitura da opção do usuário
    scanf("%u",&op);

    // o problema está aqui!
    // o código abaixo solicita os dois fatores
    // se o usuário escolheu a opção 5 (sair), também vai solicitar os dois fatores.
    printf("\nDigite os fatores:\n");
    scanf("%f",&n1);
    scanf("%f",&n2);

Sacou?! ;)

Abraços,

William Rodrigues.

Link para o comentário
Compartilhar em outros sites

  • 0
Caro,

O problema está na leitura e não no seu switch(). A execução do seu programa está mais ou menos assim:

// mostra o menu com as opções
    printf("Escolha a operação\n 1-Soma\n 2-Subtração\n 3-Multimplicação\n 4-Divisão\n 5-Sair\n\n ");

    // faz a leitura da opção do usuário
    scanf("%u",&op);

    // o problema está aqui!
    // o código abaixo solicita os dois fatores
    // se o usuário escolheu a opção 5 (sair), também vai solicitar os dois fatores.
    printf("\nDigite os fatores:\n");
    scanf("%f",&n1);
    scanf("%f",&n2);

Sacou?! ;)

Abraços,

William Rodrigues.

Entendi! Perfeito!

Agora está funcionando corretamente.

Eu peguei as linhas referente aos fatores e joguei em cada opção do switch.

Obrigado.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...