//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;
}
El compilador(GCC) dice esto(con esto tendrías que tener suficiente para empezar a corregir):
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:system("pause");
dado que es lento y no es portable entre los Sistemas Operativos por:
std::cin.get();
O:
getchar();
- Organiza el código e indéntalo.
- Utiliza un switch en vez de tantos if:
char h;
//... ES UN CÓDIGO A MODO DE EJEMPLO
switch (h)
{
case 'a':
cout << "h is a"; break;
case 'b':
cout << "h is b"; break;
case .....
}
- Las librerías de C en C++ se incluyen así:
#include<cmath>
Y no así:
#include <math.h>
La función de la potencia la sabes ya ¿no? la utilizas en tu código... :silbar:
¡Un saludo!
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):
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
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.