me gustaria q m revisaran este programa lo hice en dev c++

Iniciado por eduardo17445, 21 Marzo 2013, 00:46 AM

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

eduardo17445

//programa que simule una pequeña calculadora que implemente las siguientes operaciones
//suma ,resta, multiplicacion, division, raiz ,potencia.


#include <iostream>
#include <math.h>
using namespace std;
int a,b,c=0;
  int  multiplicacion(int a,int b)
{
     int int c=0;
     c=a*b;
     cout<<"introduzca el numero uno";
     cin>>a;
     cout<<"introduzca el numero dos";
     cin>>b;
     cout<<" ="<<c;
     return (c);
 
}
     int suma(int d ,int e, int f=0)
     {
         f=d*e;
         cout<<"introduzca el numero uno";
        cin>>d;
        cout<<"introduzca el numero dos";
         cin>>e;
         cout<<"="<<f;
         return (f);
       
         }
         int resta (int g, int h, int j=0)
         {
             j=g-h;
              cout<<"introduzca el numero uno";
              cin>>g;
              cout<<"introduzca el numero dos";
              cin>>h;
              cout<<"="<<j;
              return (j);
             
         }
         int division (int z,int k)
         {
             double ñ=0;
             ñ=z/k;
             cout<<"introduzca el numero uno";
              cin>>z;
              cout<<"introduzca el numero dos";
              cin>>k;
              cout<<"="<<ñ;
              return (ñ);
             
        }
        int raiz (int xa, int xb)
       {
      int d;
      d=sqrt(pxa+xb);
     
      cout<<"="<< raiz(d);
      return (d);
      }
     int potencia (int u, int t, int xa,int ya):
     {
        double p1,p2;
       p1=pow((xa),2);
       p2=pow((ya),2);
       cout<<"introduzca la base ";
       cin>>u;
       cout<<"introduzca el exponente";
       cin>>t;
       cout<<"="<<potencia(p1);
       cout<<"="<<potencia(p2);
       return (p1);
       return (p2);
       
      }
           int main()
         {
             int op;
             cout<<"introduzca una opcion";
             cin>>op;
             if(op==1)
             {
             cout<<"introduzca el numero uno";
             cin>>a;
              cout<<"introduzca el numero dos";
              cin>>b;
              cout<<"="<<multiplicacion(c);
              }
              if(op==2)
              {
                cout<<"introduzca el numero uno";
                 cin>>d;
                cout<<"introduzca el numero dos";
                  cin>>e;
                  cout<<"="<<suma(f);
              }
                  if(op==3)
                  {
                     cout<<"introduzca el numero uno";
                     cin>>g;
                     cout<<"introduzca el numero dos";
                     cin>>h;
                     cout<<" ="<<resta(j); 
                  }       
                  if(op==4)
                  {
                    int u,q;
                    cout<<"introduzca el numero uno";
                    cin>>z;
                    cout<<"introduzca el numero dos";
                    cin>>k;
                    cout<<"="<<division(ñ);       
                  }   
                  if(op==5)
                  {
                   cout<<"="<< raiz(d); 
                   }
                   if (op==6)
                   {
                  cout<<"introduzca la base ";
                  cin>>u;
                  cout<<"introduzca el exponente";
                   cin>>t;
                   cout<<"="<<potencia(p1);
                    cout<<"="<<potencia(p2); 
                    }   
                           
                  system ("pause");
                  return 0;
             
              }

Almapa

En este código hay bastantes fallos. Parece que no has acabado de entender la diferencia entre variables globales y locales.
Los mensajes que saca la consola antes de pedir las variables te saldrían 2 veces y además te pedirían 2 veces cada número: 1 cuando entra en las sentencias "if" de la función main() y otra vez al entrar en cada una de las funciones de cada operación.

En las definiciones de las funciones también hay errores. Aquí te dejo una posible corrección, pues ir punto a punto sería muy largo, si no entiendes algo busca información o pregunta, hay muy buenos tutoriales de este lenguaje.

Almapa

#include <iostream>
#include <math.h>
using namespace std;
  int  multiplicacion()
{
  int a,b;
  cout<<"introduzca el numero uno: ";
  cin>>a;
  cout<<endl<<"introduzca el numero dos: ";
  cin>>b;
  cout<<endl<<"El resultado es: "<<a*b<<endl;
}

int suma()
{
  int a,b;
  cout<<"introduzca el numero uno: ";
  cin>>a;
  cout<<endl<<"introduzca el numero dos: ";
  cin>>b;
  cout<<endl<<"El resultado es: "<<a+b<<endl;
}
     
int resta ()
{
  int a,b;
  cout<<"introduzca el numero uno: ";
  cin>>a;
  cout<<endl<<"introduzca el numero dos: ";
  cin>>b;
  cout<<endl<<"El resultado es: "<<a-b<<endl;
}

double division () //salida double
{
  double n; //Utilizar n en vez de ñ
  int a,b;
  cout<<"introduzca el numero uno: ";
  cin>>a;
  cout<<endl<<"introduzca el numero dos: ";
  cin>>b;
  n=a/b;
  cout<<endl<<"El resultado es: "<<n<<endl;
}

int raiz ()
{
  int a;
  cout<<"introduzca el numero: ";
  cin>>a;
  cout<<endl<<"El resultado es: "<< sqrt(a)<<endl;
  return 0;
       }
  int potencia ()
     {
     double a,b;
     cout<<"introduzca la base: ";
     cin>>a;
     cout<<endl<<"introduzca el exponente: ";
     cin>>b;
     cout<<endl<<"El resultado es: "<<pow(a,b)<<endl;
      }
int main()
{
  int op;
  cout<<"introduzca el numero de la operacion"<<endl;
  cout<<"1.multiplicacion "<<endl;
  cout<<"2.suma"<<endl;
  cout<<"3.resta"<<endl;
  cout<<"4.division"<<endl;
  cout<<"5.raiz"<<endl;
  cout<<"6.potencia"<<endl;
  cin>>op;
  if(op==1) multiplicacion();
  if(op==2) suma();
  if(op==3) resta(); 
  if(op==4) division();       
  if(op==5) raiz(); 
  if (op==6) potencia();
  main();
  return 0;
}

Almapa

Por cierto, el programa tal y como te lo he puesto está muy bien para practicar en cuanto a funciones, pero personalmente creo que se podría reducir bastante el código.


zonahurbana

Se podría cambiar
Cita de: Almapa en 21 Marzo 2013, 02:01 AM
  int op;
  cin>>op;
  if(op==1) multiplicacion();
  if(op==2) suma();
  if(op==3) resta(); 
  if(op==4) division();       
  if(op==5) raiz(); 
  if (op==6) potencia();

Por
Código (cpp) [Seleccionar]
    switch( int op=cin.get() )
    {
        case 1:  multiplicacion(); break;
        case 2:  suma(); break;
        case 3:  resta(); break;
        case 4:  division(); break;
        case 5:  raiz(); break;
        case 6:  potencia(); break;
        default: cout<<"Opcion invalida.";
    }
Nunca dejar de aprender es importante, más allá del ritmo que se siga ...