Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: eduardo17445 en 4 Marzo 2013, 23:46 pm



Título: mu pueden ver este programa en c++ y ver si esta bueno
Publicado por: eduardo17445 en 4 Marzo 2013, 23:46 pm
//programa que simule una pequeña calculadora que implementa las siguientes operaciones
//multiplicacion,suma,resta,divicion,potencia,raiz
// otra cosa como es la formula de la potencia

#include <iostream>
#include <math.h>
using namespace std;
int a,b,c=0;
 void multiplicacion(float a,float b,float c=0)
 {
     c=a*b;
     c=c;
 
     cout<<"introduzca el numero uno";
     cin>>a;
     cout<<"introduzca el numero dos";
     cin>>b;
     cout<<" ="<<c;
 
 }
     void suma(int d ,int e, int f=0)
     {
         f=d*e;
         f=f;
         
         cout<<"introduzca el numero uno";
        cin>>d;
        cout<<"introduzca el numero dos";
         cin>>e;
         cout<<"= ="<<f;
       
         }
         void resta (int g, int h, int j=0)
         {
             j=g-h;
             j=j;
              cout<<"introduzca el numero uno";
              cin>>g;
              cout<<"introduzca el numero dos";
              cin>>h;
              cout<<"="<<j;
             
         }
         void division (int z,int k,int ñ=0)
         {
             ñ=z/k;
             ñ=ñ;
             cout<<"introduzca el numero uno";
              cin>>z;
              cout<<"introduzca el numero dos";
              cin>>k;
              cout<<"="<<ñ;
        }
       double raiz (int xa, int xb, int ya, int yb)
{
      double p1,p2;
      double d;
      p1=pow((xa+xb),2);//calcular el cuadrado
      p2=pow((ya+yb),2);
      d=sqrt(p1+p2);
      return (d);
}
         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==1)
              {
                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); 
                  }       
                  system ("pause");
                  return 0;
              }


Título: Re: mu pueden ver este programa en c++ y ver si esta bueno
Publicado por: avesudra en 5 Marzo 2013, 01:25 am
El compilador(GCC) dice esto(con esto tendrías que tener suficiente para empezar a corregir):
Código:
main.cpp|40|error: ‘\303’ parásito en el programa|
main.cpp|40|error: ‘\261’ parásito en el programa|
main.cpp|42|error: ‘\303’ parásito en el programa|
main.cpp|42|error: ‘\261’ parásito en el programa|
main.cpp|43|error: ‘\303’ parásito en el programa|
main.cpp|43|error: ‘\261’ parásito en el programa|
main.cpp|43|error: ‘\303’ parásito en el programa|
main.cpp|43|error: ‘\261’ parásito en el programa|
main.cpp|48|error: ‘\303’ parásito en el programa|
main.cpp|48|error: ‘\261’ parásito en el programa|
main.cpp|42|error: expected primary-expression before ‘=’ token|
main.cpp|43|error: expected primary-expression before ‘=’ token|
main.cpp|43|error: expected primary-expression before ‘;’ token|
main.cpp|48|error: expected primary-expression before ‘;’ token|
main.cpp|70|error: faltan argumentos para la función ‘void multiplicacion(float, float, float)’|
main.cpp|5|nota: se declara aquí|
main.cpp|77|error: ‘e’ no se declaró en este ámbito|
main.cpp|78|error: ‘f’ no se declaró en este ámbito|
main.cpp|83|error: ‘g’ no se declaró en este ámbito|
main.cpp|85|error: ‘h’ no se declaró en este ámbito|
main.cpp|86|error: ‘j’ no se declaró en este ámbito|
main.cpp|88|error: ‘system’ no se declaró en este ámbito|
||=== Build finished: 23 errors, 0 warnings (0 minutes, 0 seconds) ===|
Errores comentados por encima
  • Los parásitos en el programa se refieren al carácter 'ñ' que no se puede utilizar para nombrar una variable.
  • Lo del error "expected primary-expression befor ' 'token" es por lo de la ñ también.
  • En la función multiplicación te faltan pasar 2 argumentos.
  • Bueno y lo demás es la definición de variables que te faltan mucho.
Como consejos:
  • Sustituir el :
Código
  1. system("pause");
dado que es lento y no es portable entre los Sistemas Operativos por:
Código
  1. std::cin.get();
O:
Código
  • Organiza el código e indéntalo.
  • Utiliza un switch en vez de tantos if:
Código
  1. char h;
  2. //... ES UN CÓDIGO A MODO DE EJEMPLO
  3. switch (h)
  4. {
  5. case 'a':
  6.   cout << "h is a"; break;
  7. case 'b':
  8.   cout << "h is b"; break;
  9. case .....
  10. }
  • Las librerías de C en C++ se incluyen así:
Código
  1. #include<cmath>
Y no así:
Código
  1. #include <math.h>
    La función de la potencia la sabes ya ¿no? la utilizas en tu código...  :silbar:

    ¡Un saludo!


    Título: Re: mu pueden ver este programa en c++ y ver si esta bueno
    Publicado por: rir3760 en 5 Marzo 2013, 02:21 am
    Aparte de lo ya comentado por avesudra en todas las funciones (salvo "raiz") primero realizas la operación y solo después pides los datos cuando debe ser al revés. También tienes sentencias inútiles como esta (eliminalas):
    Código
    1. j = j;

    Y en la función "main" pides los operandos y a continuación los vuelves a pedir en las funciones. Tienes que pedirlos una sola vez.

    Un saludo


    Título: Re: mu pueden ver este programa en c++ y ver si esta bueno
    Publicado por: NoLife en 5 Marzo 2013, 02:59 am
    seria más humano, de si vas a pedir ayuda, colocases algunos comentarios explicando tu código mientras programas cuando lo vayes a exponer. saludos.