Ir ao conteúdo
  • Cadastre-se

Calculadora simples c++


Paula Varela

Posts recomendados

Boa tarde, estou criando um programa programa que represente uma calculadora simples, com os seguintes opções no menu ( Adição/Subtração/Multiplicação/Divisão/Fatorial/Raiz Quadrada/Quadrado do valor lido/Cubo do valor lido/Quádruplo do valor lido/Sair)

Só que consegui desenvolver o código sem erros até raiz quadrada... depois disso não compila nem executa sem erros.

Alguém pode me ajudar?

 

Segue o código:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float adicao(float a,float 
{
    return(a+b);
}
float subtracao(float a,float 
{
    return(a-b);
}
float multiplicacao(float a,float 
{
    return(a*b);
}
float divisao(float a,float 
{
    return(a/b);
}
float potencia(float a,float 
{
    return(pow(a,b));
}
float raiz(float a)
{
    return(sqrt(a));
}
unsigned long fatorial(unsigned long n)
{
    if(n==1 ||n==0)
    return 1;
    else
    return(n*(fatorial(n-1)));
}    
int main()
{
    char op;
    float z,w;
    int k;
    long a;
    do{
        system("cls");
        system("color F2");
    printf("Este programa executa as mesmas funcoes de uma calculadora simples\n\n");
    printf("Escolha sua opcao:\n");
    printf("1-Soma\n2-Diferenca\n3-Produto\n4-Divisao\n5-Potencia\n6-Raiz\n7-Fatorial\n");
    do{ scanf("%i",&k);
    }while(k<1||k>7);
    if((k==1)||(k<=5))
    {
        printf("Entre com o primeiro valor:");
        scanf("%f",&z);
        printf("Entre com o segundo valor:");
        scanf("%f",&w);
    }
    else
    {
         if((k==6))
         {
            printf("Entre com o valor:");
            scanf("%f",&z);
         }
    }    
    switch(k){
        case 1:
            printf("Soma de %f e %f =%.2f\n",z,w,adicao(z,w));
            break;
        case 2:
            printf("Diferenca de %f e %f =%.2f\n",z,w,subtracao(z,w));
            break;
        case 3:
            printf("Produto de %f e %f =%.2f\n",z,w,multiplicacao(z,w));
            break;
        case 4:
            while((w==0)){
                printf("ERRO!! IMPOSSIVEL DIVIDIR POR ZERO\n");
                scanf("%f",&w);}
                printf("Divisao de %f e %f =%.2f\n",z,w,divisao(z,w));
                break;
        case 5:
            printf("%f elevado a %f =%.2f\n",z,w,potencia(z,w));
            break;
        case 6:
            while((z<0)){
            printf("ERRO!! NAO EXISTE RAIZ QUADRADA DE NUMERO NEGATIVO NO CONJUNTO DOS REAIS\n");
            scanf("%f",&z);}
            printf("Raiz quadrada de %f =%.2f\n",z,raiz(z));
            break;
        case 7:
             printf("Entre com o valor para efetuar o calculo do fatorial:\n");
             scanf("%li",&a);
             while(a<0)
             {
                printf("!!!ERRO!!! NAO EXITE FATORIAL NEGATIVO!\n");
                scanf("%li",&a);
             }
             printf("Fatorial de %li = %li\n",a,fatorial(a));
             break;    
    }
    printf("Deseja efetuar outro calculo. (S)/(N):");
    scanf("%s",&op);
    }while((op=='s')||(op=='S'));

 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, zOpek disse:

@Paula Varela  Muito confuso;

Organize em arquivos específicos.

Esse final nunca vai ocorrer.

Você pode criar o Switch em uma arquivo separado : "Menu.c" ou até mesmo em outra função.

 

 

Como????

adicionado 1 minuto depois
1 minuto atrás, Paula Varela disse:

resolvi!

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!