Ir para conteúdo
Fórum Script Brasil

Johan

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Johan

Johan's Achievements

0

Reputação

  1. Johan

    Calculadora em C!

    2) Faça um programa que implemente uma máquina de calcular simples com operações +, -, *, / e %, através da leitura de dois operandos numéricos e do operador (tipo caracter), no formato: n1,n2 e operacao. A operação de resto somente pode ser efetuada com números inteiros. Utilize as letras X ou x para encerrar a calculadora. Então, estou com dificuldade para "entender", sacar a lógica. Comecei meu curso recentemente, se possível alguém poderia apontar o meu erro e tentar explicar? Meu código-fonte: #include <stdio.h> #include <locale.h> void main(){ char operacao; float n1, n2, total; int int_n1, int_n2, resto; int_n1 = n1; int_n2 = n2; //Internacionalização setlocale(LC_ALL, "Portuguese"); //Começo do laço. do{ printf("Informe o tipo de operação: \n"); scanf(" %c", &operacao); //Interruptor e casos switch(operacao){ case ('+'): printf("Informe o primeiro número: \n"); scanf(" %f", &n1); printf("Informe o segundo número: \n"); scanf(" %f", &n2); total = n1 + n2; printf("O total da adição é: %2.f \n", total); break; case ('-'): printf("Informe o primeiro número: \n"); scanf("%f", &n1); printf("Informe o segundo número: \n"); scanf("%f", &n2); total = n1 - n2; printf("O total da subtração é: %2.f \n", total); break; case ('*'): printf("Informe o primeiro número: \n"); scanf("%f", &n1); printf("Informe o segundo número: \n"); scanf("%f", &n2); total = n1 * n2; printf("O total da multiplicação é: %2.f \n", total); break; case ('/'): printf("Informe o primeiro número: \n"); scanf("%f", &n1); printf("Informe o segundo número: \n"); scanf("%f", &n2); total = n1/n2; printf("O total da divisão é: %2.f \n", total); break; //Acredito que meu primeiro erro foi aqui. //Quero que ele se transforme em números inteiros para achar o resto... case ('%'): printf("Informe o primeiro número: \n"); scanf("%d", &int_n1); printf("Informe o segundo número: \n"); scanf("%d", &int_n2); printf("O total do resto é: %2.d \n", total = int_n1 % int_n2); break; case ('x'): printf("Fora do sistema"); default: printf("saída do sistema \n"); break; } }while(n1 != 'x'); //Fim do laço // Não sei a onde encaixar isso, se é dentro do laço, ou dentro do switch, ou fora dos dois. if(n1 == int_n1) && (n2 == int_n2);{ printf("os n são inteiros") } else{ printf("Os n tem casas decimais"); } } Grato desde já!
×
×
  • Criar Novo...