• Sábado 14 de Diciembre de 2024, 11:40

Autor Tema:  Problema Con Programa  (Leído 732 veces)

princor

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Problema Con Programa
« en: Miércoles 25 de Julio de 2007, 13:29 »
0
tengo este programa
cabecera
Código: Text
  1.  
  2.  
  3. #include <iostream>
  4. using namespace std;
  5. class cajero
  6. {
  7. public:
  8.   //creamos el constructor y el destructor
  9.   cajero(int billetes500, int billetes100, int billetes50,
  10.     int billetes10, int monedas1);
  11.   ~cajero() {}
  12.   //metodos accesor
  13.   int obtenerBilletes500() const{return suBilletes500;}
  14.     int obtenerBilletes100() const{return suBilletes100;}
  15.     int obtenerBilletes50() const{return suBilletes50;}
  16.     int obtenerBilletes10() const{return suBilletes10;}
  17.   int obtenerMonedas1() const{return suMonedas1;}
  18.   int mostrarDineroTotal();
  19.   void meterDinero(int billetes500, int billetes100, int billetes50,
  20.     int billetes10, int monedas1);
  21.   void sacarDinero(int sumaDinero);
  22. private:
  23.   int suBilletes500;
  24.   int suBilletes100;
  25.   int suBilletes50;
  26.   int suBilletes10;
  27.   int suMonedas1;
  28. };
  29.  
y este el codigo fuente
Código: Text
  1.  
  2. /*este programa simulara un cajero, tendrá una clase donde se definira cajero. El cajero tendrá una determinada catidad de dinero
  3. y el usuario podra ir sacando dinero que se le dará en las antidades mas grandes de dinero posible*/
  4. #include "cajero.h"
  5. //creamos el cuerpo de los metodos de la clase cajero
  6. cajero::cajero(int billetes500, int billetes100, int billetes50,
  7.     int billetes10, int monedas1)
  8. {
  9.   suBilletes500 = billetes500;
  10.   suBilletes100 = billetes100;
  11.   suBilletes50 = billetes50;
  12.   suBilletes10 = billetes10;
  13.   suMonedas1 = monedas1;
  14. }
  15. int cajero::mostrarDineroTotal()
  16. {
  17.   int totalDinero;
  18.   totalDinero=(suBilletes500 * 500 + suBilletes100 * 100 + suBilletes50 * 50
  19.     + suBilletes10 * 10 + suMonedas1);
  20.   return totalDinero;
  21. }
  22. void cajero::meterDinero(int billetes500, int billetes100, int billetes50,
  23.     int billetes10, int monedas1)
  24. {
  25.   suBilletes500 = suBilletes500 + billetes500;
  26.   suBilletes100 = suBilletes100 + billetes100;
  27.   suBilletes50 = suBilletes50 + billetes50;
  28.   suBilletes10 = suBilletes10 + billetes10;
  29.   suMonedas1 = suMonedas1 + monedas1;
  30. }
  31. void cajero::sacarDinero(int sumaDinero)
  32. {
  33.   //creamos las variables donde se vera cuantos billetes se le daran al usuario
  34.   int billetes500, billetes100, billetes50, billetes10, monedas1, resto;
  35.   //dividimos para ver cuantos billetes de cada tipo hay que darle y utilizamos
  36.   //el operado mudulus para ver cual es el resto
  37.   billetes500 = sumaDinero / 500;
  38.   resto = sumaDinero % 500;
  39.   billetes100 = resto / 100;
  40.   resto = resto % 100;
  41.   billetes50 = resto / 50;
  42.   resto = resto % 50;
  43.   billetes10 = resto / 10;
  44.   resto = resto % 10;
  45.   monedas1 = resto / monedas1;
  46.   //quitamos los billetes al cajero
  47.     suBilletes500 = suBilletes500 - billetes500;
  48.   suBilletes100 = suBilletes100 - billetes100;
  49.   suBilletes50 = suBilletes50 - billetes50;
  50.   suBilletes10 = suBilletes10 - billetes10;
  51.   suMonedas1 = suMonedas1 - monedas1;
  52.   //mostramos en la pantalla la cantidad de billetes de cada tipo que ha recibido
  53.   cout <<"usted ha obtenido " << billetes500 << "billetes de 500 \n";
  54.   cout << billetes100 << "billetes de 100 \n";
  55.   cout << billetes50 << "billetes de 50 \n";
  56.   cout << billetes10 << "billetes de 10 \n";
  57.   cout << monedas1 << "monedas de 1 \n";
  58. }
  59. /*=============================================================*/
  60. //creamos los prototipos de las funciones
  61. int hacerMostrarMenu();
  62. void hacerSacarDinero(cajero);
  63. void hacerMostrarDineroTotal(cajero);
  64. void hacerMeterDinero(cajero);
  65. /*=============================================================*/
  66. int main()
  67. {
  68.   enum elegir {mostrarMenu = 1, sacarDinero,
  69.              mostrarDineroTotal, meterDinero,
  70.              salir};
  71.   int elegir = mostrarMenu;
  72.   int quick = false;
  73.   cajero cajero1(100,100,50,100,1000);
  74.   while (quick == false)
  75.   {
  76.     elegir = hacerMostrarMenu();
  77.     if (elegir < mostrarMenu || elegir > salir)
  78.     {
  79.       cout << "la opcion elegida no existe" << endl;
  80.       continue;
  81.     }
  82.     switch (elegir)
  83.     {
  84.     case sacarDinero:
  85.       hacerSacarDinero(cajero1);
  86.       break;
  87.     case mostrarDineroTotal:
  88.       hacerMostrarDineroTotal(cajero1);
  89.       break;
  90.     case meterDinero:
  91.       hacerMeterDinero(cajero1);
  92.       break;
  93.     case salir:
  94.       quick = true;
  95.       cout << "saliendo..." << endl;
  96.       break;
  97.     }
  98.   }
  99.   system("PAUSE");
  100.   return 0;
  101. }
  102. /*======================================================================*/
  103. //creamos los cuerpos de los metodos de las funciones
  104. int mostrarMenu()
  105. {
  106.   int elegir;
  107.   cout << "     ***MENU***    \n";
  108.   cout << "(1)saca dinero del cajero \n";
  109.   cout << "(2)muestra el dinero total que hay en el cajero \n";
  110.   cout << "(3)mete dinero al cajero \n";
  111.   cout << "(4)salir del programa \n";
  112.   cout << endl << endl;
  113.   cout << "elige una opcion \n";
  114.   cin >> elegir;
  115.   cout << endl;
  116.   return elegir;
  117. }
  118. void sacarDinero(cajero cajero1)
  119. {
  120.   int cantidadDinero;
  121.   cout << "cuanto dinero quieres sacar \n";
  122.   cin >> cantidadDinero;
  123.   cout << endl << "se le entregara el dinero con losbilletes mas grandes que tenga el cajero \n";
  124.   cajero1.sacarDinero(cantidadDinero);
  125. }
  126. void mostrarDineroTotal(cajero cajero1)
  127. {
  128.   cout << "el dinero total que esta disponible en el cajero es de " << cajero1.mostrarDineroTotal() << " euros \n";
  129. }
  130. void meterDinero(cajero cajero1)
  131. {
  132.   int billetes500, billetes100, billetes50, billetes10, monedas1;
  133.   cout << "escribe el numero de billetes de 500 que quieres añadir al cajero ";
  134.   cin >> billetes500;
  135.   cout << endl << "escribe el numero de billetes de 100 que quieres añadir al cajero ";
  136.   cin >> billetes100;
  137.     cout << endl << "escribe el numero de billetes de 50 que quieres añadir al cajero ";
  138.   cin >> billetes50;
  139.     cout << endl << "escribe el numero de billetes de 10 que quieres añadir al cajero ";
  140.   cin >> billetes10;
  141.   cout << endl << "escribe el numero de monedas de 1 euro que quieres añadir al cajero ";
  142.   cin >> monedas1;
  143.   cout << endl;
  144.   cajero1.meterDinero(billetes500, billetes100, billetes50, billetes10, monedas1);
  145. }
  146. /* ====================== FIN DEL PROGRAMA ======================= */
  147.  
  148.  
  149.  

al compilarlo me da estos errores

Warning   1   warning C4700: uninitialized local variable 'monedas1' used   c:\documents and settings\rafael\my documents\visual studio 2005\projects\cajero\cajero\cajero.cpp   44   


Error   2   error LNK2019: unresolved external symbol "void __cdecl hacerMeterDinero(class cajero)" (?hacerMeterDinero@@YAXVcajero@@@Z) referenced in function _main   cajero.obj   

Error   3   error LNK2019: unresolved external symbol "void __cdecl hacerMostrarDineroTotal(class cajero)" (?hacerMostrarDineroTotal@@YAXVcajero@@@Z) referenced in function _main   cajero.obj   


Error   4   error LNK2019: unresolved external symbol "void __cdecl hacerSacarDinero(class cajero)" (?hacerSacarDinero@@YAXVcajero@@@Z) referenced in function _main   cajero.obj   

Error   5   error LNK2019: unresolved external symbol "int __cdecl hacerMostrarMenu(void)" (?hacerMostrarMenu@@YAHXZ) referenced in function _main   cajero.obj   

Error   6   fatal error LNK1120: 4 unresolved externals   C:\Documents and Settings\rafael\My Documents\Visual Studio 2005\Projects\cajero\Debug\cajero.exe   



he buscado para ver de que trata estos errores pero no logro solucionar el problema.
Gracias de antemano

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Problema Con Programa
« Respuesta #1 en: Miércoles 25 de Julio de 2007, 14:54 »
0
Los errores son de enlazado y por lo que pude ver la razon es muy obvia: el codigo de las funciones que no puede resolver no existe.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.