[ANSI C]Calculadora.

Iniciado por PHAMTOM, 14 Julio 2010, 20:11 PM

0 Miembros y 1 Visitante están viendo este tema.

PHAMTOM

  • Suma
  • Resta
  • Multriplicacion
  • Divicion
  • Potencia
  • Pitagoras

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    //Declaraciones de funciones
    int pot(int base,int exponente)
    {
    int ret=1;
    while(exponente--)
    ret*=base;
    return ret;
    }
    int calcular2(int h,int c)
    {
        int k,catetox;
        h=h*h;
        c=c*c;
        k=h-c;
        catetox=sqrt(k);
        return catetox;
    }
    int calcular(int y,int x)
    {
        int r;
        y=y*y;
        x=x*x;
        r=x+y;
        float hipotenusa=0;
        hipotenusa=sqrt(r);
        return hipotenusa;
    }
    int sumar(int x,int y)
        {
            int resultado;
            resultado = x+y;
            return resultado;
            }
            int restar(int x,int y)
            {
                int resultado;
                resultado = x-y;
                return resultado;
                }
                 int Multriplicar(int x,int y)
            {
                int resultado;
                resultado = x*y;
                return resultado;
                }
                  int Dividir(int x,int y)
            {
                int resultado;
                resultado = x/y;
                return resultado;
                }
    /*Calculadora escrita en ANSI C PHAMTOM*/
    int main()
    {
        system("cls");
        char a;
        printf("\t");
        system("color 0b");
       

        // Delacaraciones :
                          int opt=0,opt1=0,opt2=0,cateto=0,cateto2=0,hipotenusa=0,p1=0,p2=0;
                         
       
                          //Menu :
                                 printf("[+]Menu basico\n");
                          printf("1-Sumar\n");
                          printf("2-Restar\n");
                          printf("3-Multriplicar\n");
                          printf("4-Dividir\n");
                          printf("\n");
                          printf("[+]Pitagoras\n");
                          printf("5-Sacar Hipotenusa x\n");
                          printf("6-Sacar Cateto x\n");
                          printf("\n[+]Potencia");
                          printf("\n7-Potencia");
    printf("\n\nN de opcion-> ");
    //Operaciones
    scanf("%d",&opt);
    //Suma
    if(opt==1)
    {
              system("cls");
              printf("\tSumar\n\n\n");
              printf("Operando 1-> ");
              scanf("%d",&opt1);
              printf("Operando 2-> ");
              scanf("%d",&opt2);
               system("color 05");
              printf("\nEl resultado es -> %d",sumar(opt1,opt2));
              system("pause>nul");
              main();
    }
    //Resta
    if(opt==2){
               system("cls");
              printf("\tRestar\n\n\n");
              printf("Operando 1-> ");
              scanf("%d",&opt1);
              printf("Operando 2-> ");
              scanf("%d",&opt2);
               system("color 05");
              printf("\nEl resultado es ->  %d",restar(opt1,opt2));
                      system("pause>nul");
                      main();
              }
              //Multriplicacion
              if(opt==3){
               system("cls");
              printf("\tMultriplicar\n\n\n");
              printf("Operando 1-> ");
              scanf("%d",&opt1);
              printf("Operando 2-> ");
              scanf("%d",&opt2);
               system("color 05");
              printf("\nEl resultado es ->  %d",Multriplicar(opt1,opt2));
              system("pause>nul");
              main();
              }
              //Divicion
                   if(opt==4){
               system("cls");
              printf("\tDividir\n\n\n");
              printf("Operando 1-> ");
              scanf("%d",&opt1);
              printf("Operando 2-> ");
              scanf("%d",&opt2);
              system("color 05");
              printf("\nEl resultado es ->  %d",Dividir(opt1,opt2));
              system("pause>nul");
              main();
              }
              if(opt==5)
              {
                       
                           
                            system("cls");
                            printf("Calcular Hipotenusa ' x ' ");
                            printf("\n\nCateto 1 mide -> ");
                            scanf("%f",&cateto);
                            printf("\nCateto 2 mide -> ");
                            scanf("%f",&cateto2);
                            printf("\n\nLa hipotenusa mide %f",calcular(cateto,cateto2));
                            system("pause>nul");
                            main();
                        }
                        if(opt==6)
                        {
                                  system("cls");
                                          printf("Calcular un Cateto ' x '");
                            printf("\n\nHipotenusa mide -> ");
                            scanf("%f",&hipotenusa);
                            printf("\nCateto Mide -> ");
                            scanf("%f",&cateto);
                            printf("\n\nEl cateto X mide ->%f",calcular2(hipotenusa,cateto));
                            system("pause>nul");
                            main();
                                  }
        if(opt==7)
        {
                system("cls");
                                          printf("Potencia");
                            printf("\n\nBase -> ");
                            scanf("%d",&p1);
                            printf("\nExponente ");
                            scanf("%d",&p2);
                            printf("\n\nPotencia ->%d",pot(p1,p2));
                            system("pause>nul");
                            main(); 
                  }
                 

              if(opt>=8 || opt<=0)
              {
                       system("cls");
                       system("msg * Use 1,2,3,4,5,6");
                       main();
                        }
                        }



    SALUDOS.
Miran a cualquier ventana, mientras su pánico emana
y nubla su visión mi calma es pura precisión
cargo munición y miro tranquilo
ya ni respiro desde al ático os vigilo sigo al filo os tengo a tiro!

La kitchner quiere tanto a los pobres,que cada vez,tiene más

Eternal Idol

Por favor, si vas a seguir subiendo codigos ponelos todos en un solo hilo, gracias.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Horricreu

#2
Estás utilizando funciones que no son standard. Si estás en Windows:


Otra cosa, pásate por acá.

Saludos :P

Gonzalo Leonardo

Lindo código. Buena recomendación la de Horricreu. Acostumbrarse a usar las librerías estándares.

.:BlackCoder:.

Primero, cuando sacas la raiz de un numero lo mas seguro es que devuelva un numero decimal... Mosca en las funciones...

Segundo, algunos recomiendan usar la estructura switsh en vez de tantos if/else...

Me parecio ver, llamadas a main(), no me parecen correctas puedes trabajar de otras formas para no tener que hacerlo, creo que estas desviando mucho el flujo del programa...

Y, pes eso es todo lo que te puedo recomendar.

Saludos...
"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja