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

calculadora [Error] expected declaration or statement at end of input


VictoOr

Pergunta

#include <stdio.h>
 
#include <stdlib.h>
 
#include <conio.h>
 
#include <math.h>
 
// Funcao que calcula o fatorial de um numero
 
int fatorial(int numero)
 
{
 
int fat = 1;
 
int i;
 
for(i = numero; i > 1; i--){
 
fat *= i;
 
}
 
return fat;
 
//Funcao que calcula a Raiz Quadrada com 2 poisicoes decimais
 
float raiz_quadrada(float valorRaiz)
 
{
 
float resultado_1,subtrai_1,passo_1;
 
float resultado_2,subtrai_2,passo_2;
 
float resultado_3,subtrai_3,passo_3;
 
float raiz;
 
subtrai_1 = 1;
 
passo_1 = 0;
 
passo_2 = 0;
 
passo_3 = 0;
 
resultado_1 = valorRaiz;
 
while (resultado_1 >= subtrai_1){
 
resultado_1 = resultado_1 - subtrai_1;
 
subtrai_1 = subtrai_1 + 2;
 
passo_1 = passo_1 + 1;
 
}
 
if (resultado_1 != 0)
 
{
 
resultado_2 = resultado_1 * 100;
 
subtrai_2 = (passo_1 * 20) + 1;
 
passo_2 = 0;
 
while (resultado_2 >= subtrai_2){
 
resultado_2 = resultado_2 - subtrai_2;
 
subtrai_2 = subtrai_2 + 2;
 
passo_2 = passo_2 + 1;
 
}
 
if (resultado_2 != 0){
 
resultado_3 = resultado_2 * 100;
 
subtrai_3 = (((passo_1 * 10) + passo_2) * 20) + 1;
 
passo_3 = 0;
 
while (resultado_3 >= subtrai_3){
 
resultado_3 = resultado_3 - subtrai_3;
 
subtrai_3 = subtrai_3 + 2;
 
passo_3 = passo_3 + 1;
 
}
 
}
 
}
 
else
 
{
 
passo_2 = 0;
 
passo_3 = 0;
 
}
 
raiz = ((passo_1 * 100) + (passo_2 * 10) + passo_3) / 100;
 
return raiz;
 
}
 
int potencia (int base,int expoente){
 
int resultado = 1;
 
do {
 
resultado *= base;
 
expoente--;
 
}while (expoente > 0);
 
return resultado;
 
}
 
int main(int argc, char*argv[])
 
{
 
int numero1, numero2, resultado, fat;
 
int base, expoente;
 
int binario[8];
 
float numeroPorcentagem,resultadoPorcentagem;
 
float valorRaiz,resultadoRaiz;
 
char oper;
 
do
 
{
 
// Menu
 
//printf("\t\t\t\tCALCULADORA\n\n");
 
system("title ATPS 02: CALCULARODA V1.0");
 
system("color 8e"); printf("\t\t\t\xC9\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD");printf("\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBB\n");
 
printf("\t\t\t\xBA C A L C U L A D O R A \xBA\n");
 
printf("\t\t\t\xC8\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD");printf("\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBC\n");
 
printf("\n\n");
 
printf("\t(+) - Soma\t\t\t(P) - Porcentagem\n");
 
printf("\t(-) - Subtracao\t\t\t(F) - Fatorial\n");
 
printf("\t(*) - Multiplicacao\t\t(B) - Conversao Binario -> Decimal\n");
 
printf("\t(/) - Divisao\t\t\t(D) - Conversao Decimal -> Binario\n");
 
printf("\t(E) - Exponenciacao\t\t(S) - Sair\n");
 
printf("\t® - Raiz quadrada\n");
 
printf("\tOpcao: ");
 
oper = getche();
 
// Operações
 
switch( oper )
 
{
 
case '+':
 
printf("\n\n\tS O M A");
 
printf("\n\n\tPrimeiro valor: ");
 
scanf("%d", &numero1);
 
printf("\tSegundo valor: ");
 
scanf("%d", &numero2);
 
resultado = numero1 + numero2;
 
printf("\n\t%d + %d = %d", numero1, numero2, resultado);
 
break;
 
case '-':
 
printf("\n\n\tS U B T R A C A O");
 
printf("\n\n\tPrimeiro valor: ");
 
scanf("%d", &numero1);
 
printf("\tSegundo valor: ");
 
scanf("%d", &numero2);
 
resultado = numero1 - numero2;
 
printf("\n\t%d - %d = %d", numero1, numero2, resultado);
 
break;
 
case '*':
 
printf("\n\n\tM U L T I P L I C A C A O");
 
printf("\n\n\tPrimeiro valor: ");
 
scanf("%d", &numero1);
 
printf("\tSegundo valor: ");
 
scanf("%d", &numero2);
 
resultado = numero1 * numero2;
 
printf("\n\t%d * %d = %d", numero1, numero2, resultado);
 
break;
 
case '/':
 
printf("\n\n\tD I V I S A O");
 
printf("\n\tPrimeiro valor: ");
 
scanf("%d", &numero1);
 
printf("\tSegundo valor: ");
 
scanf("%d", &numero2);
 
if(numero2 == 0)
 
{
 
printf("\n\tErro divisao por zero");
 
printf ("\n\n\topcao invalida");
 
break;
 
}
 
resultado = numero1 / numero2;
 
printf("\n\t%d / %d = %d", numero1, numero2, resultado);
 
break;
 
case 'e':
 
case 'E':
 
printf("\n\n\tE X P O N E N C I A C A O");
 
printf("\n\n\tBase: ");
 
scanf("%d", &base);
 
printf("\tExpoente: ");
 
scanf("%d", &expoente);
 
if (expoente == 0){
 
resultado = 1;
 
}
 
else
 
{
 
resultado = potencia(base,expoente);
 
}
 
printf("\n\t%d elevado a %d = %d", base, expoente, resultado);
 
break;
 
case 'r':
 
case 'R':
 
printf("\n\n\tR A I Z Q U A D R A D A");
 
printf("\n\n\tValor: ");
 
scanf("%f", &valorRaiz);
 
resultadoRaiz = raiz_quadrada(valorRaiz);
 
printf("\n\tRaiz quadrada de %.0f = %.0f", valorRaiz, resultadoRaiz);
 
break;
 
case 'p':
 
case 'P':
 
printf("\n\n\tP O R C E N T A G E M");
 
printf("\n\n\tValor: ");
 
scanf("%d", &numero1);
 
printf("\tPorcentagem: ");
 
scanf("%d", &numero2);
 
resultado = (numero1 * numero2) / 100;
 
printf("\n\t%d %% de %d = %d", numero2, numero1, resultado);
 
break;
 
case 'f':
 
case 'F':
 
printf("\n\n\tF A T O R I A L");
 
printf("\n\n\tValor: ");
 
scanf("%d", &numero1);
 
resultado = fatorial(numero1);
 
printf("\n\tO fatorial de %d = %d", numero1, resultado);
 
break;
 
case 'b':
 
case 'B':
 
printf("\n\n\tB I N A R I O P A R A D E C I M A L");
 
printf("\n\n\tDigite o numero binario(8 bits): ");
 
scanf("%d", &numero1);
 
resultado = binario_decimal(numero1);
 
printf("\n\tEquivalente em Decimal: %d", resultado);
 
break;
 
case 'd':
 
case 'D':
 
printf("\n\n\tD E C I M A L P A R A B I N A R I O");
 
printf("\n\n\tDigite o numero em decimal(256): ");
 
scanf("%d", &numero1);
 
resultado = decimal_binario(numero1);
 
printf("\n\tEquivalente em Binario: %d", resultado);
 
break;
 
case 's':
 
case 'S':
 
printf("\n\n\tPrograma finalizado");
 
break;
 
default:
 
printf("\n\n\tOpcao Invalida");
 
}
 
printf("\n\n\t");
 
system("PAUSE");
 
system("cls || clear");
 
}while(oper != 'S' && oper != 's');
 
return 0;
 
}
 
 
 
 
Está dando os seguintes erros
In function 'fatorial':
[Error] expected declaration or statement at end of input
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

cara pra que fazer um código tão grande assim .-.

vou dar lhe uma dica.

 

sempre escrever comentários, e dividir paricalmente seus ifs e loops e variaveis. Eu sou novo aqui no forum mas entendo bastante em C e C++ se eu tivesse visto eu teria lhe ajudado mas cuidado seu programa está bem confuso até para quem entende muito na programação

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...