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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [SOLUCIONADO][C++] Programa: Dev C++ | Asunto: Error de compilación y ejecución.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SOLUCIONADO][C++] Programa: Dev C++ | Asunto: Error de compilación y ejecución.  (Leído 3,074 veces)
Ditarex

Desconectado Desconectado

Mensajes: 8


Ver Perfil
[SOLUCIONADO][C++] Programa: Dev C++ | Asunto: Error de compilación y ejecución.
« en: 7 Mayo 2014, 05:07 am »

Hola a todos, soy nuevo en este foro y quise venir a preguntar a pedir ayuda a un caso de que en el compilador que uso, el Dev C++, he estado trabajando en un proyecto de ir haciendo algo cada vez mas complicado para mi nivel, soy aprendiz en c++ por eso, aquí pasaré el código de mi proyecto, y no me tira ningún error de sintaxis.

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. bool mala_opcion = false;
  6.  
  7.  
  8. int x;
  9. int y;
  10. int eleccion;
  11.  
  12. void sumar(int, int);
  13. void restar(int, int);
  14. void multiplicar(int, int);
  15. void dividir(int, int);
  16.  
  17. int main(){
  18. cout << "------C A L C U L A D O R A------" << endl;
  19. while(!mala_opcion){
  20. cin >> eleccion;
  21. switch(eleccion){
  22. case 1:
  23. int x;
  24. int y;
  25. cout << "\n\n  Introduzca el valor 'x': " << endl;
  26. cin >> x;
  27. cout << "\n\n  Introduzca el valor 'y': " << endl;
  28. cin >> y;
  29. sumar(x, y);
  30. mala_opcion = true;
  31. break;
  32. case 2:
  33. cout << "\n\n  Introduzca el valor 'x': " << endl;
  34. cin >> x;
  35. cout << "\n\n  Introduzca el valor 'y': " << endl;
  36. cin >> y;
  37. restar(x, y);
  38. mala_opcion = true;
  39. break;
  40. case 3:
  41. cout << "\n\n  Introduzca el valor 'x': " << endl;
  42. cin >> x;
  43. cout << "\n\n  Introduzca el valor 'y': " << endl;
  44. cin >> y;
  45. multiplicar(x, y);
  46. mala_opcion = true;
  47. break;
  48. case 4:
  49. cout << "\n\n  Introduzca el valor 'x': " << endl;
  50. cin >> x;
  51. cout << "\n\n  Introduzca el valor 'y': " << endl;
  52. cin >> y;
  53. dividir(x, y);
  54. mala_opcion = true;
  55. break;
  56. default:
  57. cout << "\n  Has introducido un comando incorrecto, vuelva a repetir." << endl;
  58. break;
  59. }
  60. }
  61. cin.get();
  62. return 0;
  63. }
  64.  
  65. void sumar(int, int){
  66. cout << "\n\nResultado de la Suma:  " << x + y << endl;
  67. }
  68.  
  69. void resta (int, int){
  70. cout << "\n\nResultado de la Resta:  " << x - y << endl;
  71. }
  72.  
  73. void multiplicar(int, int){
  74. cout << "\n\nResultado de la Multiplicacion:  " << x * y << endl;
  75. }
  76.  
  77. void dividir(int, int){
  78. cout << "\n\nResultado de la Division:  " << x / y << endl;
  79. }
  80.  

Aqui error que me da al compilar y ejecutar el código:



Necesitaria ayudar si es posible, que alguien sepa solucionar este error, llevo algun tiempo en que cuando hago proyectos grandes no me compila y tampoco ejecuta por la misma razón.

Por adelantado, Muchas gracias.

Saludos.



« Última modificación: 7 Mayo 2014, 05:53 am por Ditarex » En línea

Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: [C++] Programa: Dev C++ | Asunto: Error de compilación y ejecución.
« Respuesta #1 en: 7 Mayo 2014, 05:16 am »

Declaras la función restar en la linea 13, la invocas en la linea 37, pero la implementas como resta en la linea 69.
Debería llamarse como esta declarada..

El otro error dice que el programa termino con -1 (error), ojo con dividir entre 0.
A simple vista no veo otro error..

Saludos!


« Última modificación: 7 Mayo 2014, 05:19 am por Vaagish » En línea

Ditarex

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: [C++] Programa: Dev C++ | Asunto: Error de compilación y ejecución.
« Respuesta #2 en: 7 Mayo 2014, 05:53 am »

Declaras la función restar en la linea 13, la invocas en la linea 37, pero la implementas como resta en la linea 69.
Debería llamarse como esta declarada..

El otro error dice que el programa termino con -1 (error), ojo con dividir entre 0.
A simple vista no veo otro error..

Saludos!
Al parecer el error que me daba error, que devolvia -1, no me avisaba del error de que la funcion era incorrecta porque se ve que arriba la estaba declarando de una forma y la llamaba con otro nombre, no revisé que arriba ponia restar, y abajo resta, muchisimas gracias, ya me funciona la calculadora, y ya esta todo resuelto, simplemente era esto :O  :D, de verdad estaba tan confuso que no podia ver algo logico asi, muchas gracias :)
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: [SOLUCIONADO][C++] Programa: Dev C++ | Asunto: Error de compilación y ejecución.
« Respuesta #3 en: 7 Mayo 2014, 14:23 pm »

Otras partes que se deben cambiar:

* Las variables "x" y "y" deben ser locales a la función main, tienes la declaración de estas duplicadas al inicio del programa y en la sentencia switch.

* Faltan los nombres de los parámetros de las funciones.

* Todos los casos inician con:
Código
  1. cout << "\n\n  Introduzca el valor 'x': " << endl;
  2. cin >> x;
  3. cout << "\n\n  Introduzca el valor 'y': " << endl;
  4. cin >> y;
Hay que sacar ese bloque y colocarlo dentro de un condicional, de esta forma:
Código
  1. bool mala_opcion = false;
  2. while (!mala_opcion){
  3.   cin >> eleccion;
  4.  
  5.   if (eleccion >= 1 && eleccion <= 4){
  6.      cout << "\n\n  Introduzca el valor 'x': " << endl;
  7.      cin >> x;
  8.      cout << "\n\n  Introduzca el valor 'y': " << endl;
  9.      cin >> y;
  10.      mala_opcion = true;
  11.   }
  12.   switch (eleccion) {
  13.   case 1:
  14.      sumar (x, y);
  15.      break;
  16.   case 2:
  17.      restar (x, y);
  18.      break;
  19.   case 3:
  20.      multiplicar (x, y);
  21.      break;
  22.   case 4:
  23.      dividir (x, y);
  24.      break;
  25.   default:
  26.      cout << "\n  Has introducido un comando incorrecto, vuelva a repetir." << endl;
  27.      break;
  28.   }
  29. }

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
Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: [SOLUCIONADO][C++] Programa: Dev C++ | Asunto: Error de compilación y ejecución.
« Respuesta #4 en: 7 Mayo 2014, 16:27 pm »

De nada! Suerte
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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