Ir ao conteúdo
  • Cadastre-se

gabrielreoli

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

posts postados por gabrielreoli

  1. Olá, caros amigos do fórum.

    Fiz essa calculadora em C, porém quando escolhi Multiplicação e digitei o seguinte numero: 1995425848 multiplicado por 2, ele trocou o primeiro por este numero 1995425792 e fez a multiplicação.

    Testei também com as outras operações e acontece a mesma coisa.

    O que pode estar acontecendo de errado?

    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    
    float R, A, B;
    
    int rotadicao(void);
    int rotsubtracao(void);
    int rotmultiplicacao(void);
    int rotdivisao(void);
    int rotpotencia(void);
    int rotraizquad(void);
    
    int main(void)
    {
    	char TECLA;
    	int OPCAO = 0;
    	while (OPCAO != 7)
    	{
    		system("clear || cls");
    		printf("\n - Calculadora - \n\nGabruna Development\n");
    		printf("\n\nMenu principal\n");
    		printf("--------------------\n\n");
    		printf("1 - Adicao\n");
    		printf("2 - Subtracao\n");
    		printf("3 - Multiplicacao\n");
    		printf("4 - Divisao\n");
    		printf("5 - Potenciacao\n");
    		printf("6 - Raiz Quadrada\n");
    		printf("7 - Fim de programa\n\n");
    		printf("Escolha uma opcao: "); setbuf(stdin, NULL); scanf("%d", &OPCAO);
    		if (OPCAO != 7)
    		{
    			switch (OPCAO)
    			{
                    case 1: rotadicao();        break;
                    case 2: rotsubtracao();     break;
                    case 3: rotmultiplicacao(); break;
                    case 4: rotdivisao();       break;
                    case 5: rotpotencia();      break;
                    case 6: rotraizquad();      break;
                    default: printf("\nOpcao invalida! \nTecle <Enter> para acessar o menu: ");
                             getchar() + scanf("Enter");
                             break;
    			}
    		}
    	}
    	return 0;
    }
    
    int rotadicao(void)
    {
    	system("clear || cls");
    	printf("\n\nRotina de Soma\n");
    	printf("-------------------\n\n");
    	printf("Entre um valor para A: ");
    	setbuf(stdin, NULL); scanf("%f", &A);
    	printf("Entre um valor para B: ");
    	setbuf(stdin, NULL); scanf("%f", &B);
    	R = A + B;
    	printf("\nA soma entre %9.2f e %9.2f = %9.2f\n", A, B, R);
    	printf("\nTecle <Enter> para acessar o menu: ");
    	getchar() + scanf("Enter");
    	return 0;
    }
    
    int rotsubtracao(void)
    {
    	system("clear || cls");
    	printf("\n\nRotina de Subtracao\n");
    	printf("-------------------\n\n");
    	printf("Entre um valor para A: ");
    	setbuf(stdin, NULL); scanf("%f", &A);
    	printf("Entre um valor para B: ");
    	setbuf(stdin, NULL); scanf("%f", &B);
    	R = A - B;
    	printf("\nA subtracao entre %9.2f e %9.2f = %9.2f\n", A, B, R);
    	printf("\nTecle <Enter> para acessar o menu: ");
    	getchar() + scanf("Enter");
    	return 0;
    }
    
    int rotmultiplicacao(void)
    {
    	system("clear || cls");
    	printf("\n\nRotina de Multiplicacao\n");
    	printf("-------------------\n\n");
    	printf("Entre um valor para A: ");
    	setbuf(stdin, NULL); scanf("%f", &A);
    	printf("Entre um valor para B: ");
    	setbuf(stdin, NULL); scanf("%f", &B);
    	R = A * B;
    	printf("\nA multiplicacao entre %15.2f e %15.2f = %15.2f\n", A, B, R);
    	printf("\nTecle <Enter> para acessar o menu: ");
    	getchar() + scanf("Enter");
    	return 0;
    }
    
    int rotdivisao(void)
    {
    	system("clear || cls");
    	printf("\n\nRotina de Divisao\n");
    	printf("-------------------\n\n");
    	printf("Entre um valor para A: ");
    	setbuf(stdin, NULL); scanf("%f", &A);
    	printf("Entre um valor para B: ");
    	setbuf(stdin, NULL); scanf("%f", &B);
    	if (B == 0)
    		printf("Erro na divisao\n");
    	else
    	{
    		R = A / B;
    		printf("\nA divisao entre %9.2f e %9.2f = %9.2f\n", A, B, R);
    	}
    	printf("\nTecle <Enter> para acessar o menu: ");
    	getchar() + scanf("Enter");
    	return 0;
    }
    
    int rotpotencia()
    {
        system("clear || cls");
        printf("Rotina de Potenciacao\n");
        printf("-------------------\n\n");
        printf("Entre um valor para base: ");
        setbuf(stdin, NULL); scanf("%f", &A);
        printf("Entre um valor para o expoente: ");
        setbuf(stdin, NULL); scanf("%f", &B);
        R = pow(A, B);
        printf("A potenciacao de %9.2f elevado a %9.2f = %9.2f\n", A, B, R);
        printf("\nTecle <Enter> para acessar o menu: ");
    	getchar() + scanf("Enter");
    	return 0;
    }
    
    int rotraizquad()
    {
        system("clear || cls");
        printf("Rotina de Raiz Quadrada\n");
        printf("-------------------\n\n");
        printf("Entre um valor: ");
        setbuf(stdin, NULL); scanf("%f", &A);
        R = sqrt(A);
        printf("A raiz quadrada de %9.2f = %9.2f\n", A, R);
        printf("\nTecle <Enter> para acessar o menu: ");
    	getchar() + scanf("Enter");
    	return 0;
    }

     

     

    print.PNG

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!