elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: [AIO elhacker.NET 2015] Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  me gustaria q m revisaran este programa lo hice en dev c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: me gustaria q m revisaran este programa lo hice en dev c++  (Leído 1,500 veces)
eduardo17445

Desconectado Desconectado

Mensajes: 162


Ver Perfil
me gustaria q m revisaran este programa lo hice en dev c++
« en: 21 Marzo 2013, 00:46 »

//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;
             
              }


En línea

Almapa

Desconectado Desconectado

Mensajes: 110


Ver Perfil
Re: me gustaria q m revisaran este programa lo hice en dev c++
« Respuesta #1 en: 21 Marzo 2013, 02:01 »

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.


En línea

Almapa

Desconectado Desconectado

Mensajes: 110


Ver Perfil
Re: me gustaria q m revisaran este programa lo hice en dev c++
« Respuesta #2 en: 21 Marzo 2013, 02:01 »

#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;
}
En línea

Almapa

Desconectado Desconectado

Mensajes: 110


Ver Perfil
Re: me gustaria q m revisaran este programa lo hice en dev c++
« Respuesta #3 en: 21 Marzo 2013, 02:13 »

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.
En línea

eduardo17445

Desconectado Desconectado

Mensajes: 162


Ver Perfil
Re: me gustaria q m revisaran este programa lo hice en dev c++
« Respuesta #4 en: 21 Marzo 2013, 02:35 »

ok gracias
En línea

zonahurbana

Desconectado Desconectado

Mensajes: 171

RS, JC.


Ver Perfil WWW
Re: me gustaria q m revisaran este programa lo hice en dev c++
« Respuesta #5 en: 21 Marzo 2013, 02:59 »

Se podría cambiar
  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
  1.    switch( int op=cin.get() )
  2.    {
  3.        case 1:  multiplicacion(); break;
  4.        case 2:  suma(); break;
  5.        case 3:  resta(); break;
  6.        case 4:  division(); break;
  7.        case 5:  raiz(); break;
  8.        case 6:  potencia(); break;
  9.        default: cout<<"Opcion invalida.";
  10.    }
En línea

Aprendiendo de a pocos ...
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines