Autor
|
Tema: mu pueden ver este programa en c++ y ver si esta bueno (Leído 3,823 veces)
|
eduardo17445
Desconectado
Mensajes: 162
|
//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; }
|
|
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
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:
- 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... ¡Un saludo!
|
|
« Última modificación: 5 Marzo 2013, 01:32 am por avesudra »
|
En línea
|
Regístrate en
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
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
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
NoLife
Desconectado
Mensajes: 17
|
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.
|
|
« Última modificación: 5 Marzo 2013, 03:01 am por NoLife »
|
En línea
|
“Cualquier tonto puede escribir código que la PC entienda. Los buenos programadores escriben código que los humanos pueden entender.” – Martin Fowler
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Me pueden ayudar con este programa de metodos y constructores
Ejercicios
|
DomInYK
|
1
|
5,630
|
10 Octubre 2011, 04:43 am
por s00rk
|
|
|
me pueden ver este programa a ver en c++
Programación C/C++
|
eduardo17445
|
2
|
5,721
|
14 Junio 2012, 20:41 pm
por elkiy
|
|
|
me pueden revisar a ver si esta bien este programa en c++
Programación C/C++
|
eduardo17445
|
1
|
2,926
|
17 Junio 2012, 14:11 pm
por 0xDani
|
|
|
¿Me pueden ayudar con este programa?
Programación C/C++
|
ivorybom
|
2
|
2,582
|
3 Diciembre 2012, 00:23 am
por ivorybom
|
|
|
Pueden ayudarme con este programa.
Ingeniería Inversa
|
franck12
|
7
|
5,439
|
24 Mayo 2013, 19:03 pm
por franck12
|
|