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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7 8 9
11  Programación / Programación C/C++ / Re: herencia en: 23 Abril 2012, 19:14 pm
Muchas gracias lo probare!
12  Programación / Programación C/C++ / herencia en: 23 Abril 2012, 17:28 pm
Hola,

De momento tengo este codigo(no esta acabado) pero ya me da error en los dos constructores (tengo un codigo donde solo sale la clase vehiculo y no me da error) y bueno a ver si me podeis ayudar por que vaya cacao llevo...

Código
  1. #include<iostream>
  2. #include<cstring>
  3. using namespace std;
  4. //Declaracion clase VEHICULO
  5. class vehiculo
  6. {
  7. protected:
  8. char *cad;
  9. int litros;
  10. int kphMas;
  11. int kphMenos;
  12. int veloActual;
  13. int capaDepo;
  14. int año;
  15. int capDepo;
  16. int liDepo;
  17. public:
  18. vehiculo(int veloInicial, int liInicial, int capDepoInicial, int añoInicial, const char *c);
  19. ~vehiculo();
  20. void imprimir();
  21. void llenarDepo();
  22. void acelerar(int kphMas);
  23. void frenar(int kphMenos);
  24. char *leer(char *c);
  25. };
  26.  
  27. //Declaracion derivada MOTO
  28. class moto : public vehiculo
  29. {
  30. protected:
  31. int cilindrada;
  32. int cilinInicial;
  33. char *tipo;
  34. public:
  35. moto(int veloInicial,int liInicial, int capDepoInicial, int añoInicial,  int cilinInicial, const char* c, const char *c1);
  36. ~moto();
  37. char* leer1(char*c1);
  38. }
  39.  
  40. //Constructor VEHICULO
  41. vehiculo::vehiculo(int veloInicial, int liInicial, int capDepoInicial, int añoInicial, const char *c)
  42. {
  43. veloActual = veloInicial;
  44. liDepo = liInicial;
  45. capDepo = capDepoInicial;
  46. año = añoInicial;
  47. cad = new char[strlen(c)+1];
  48. strcpy(cad, c);
  49.  
  50. }
  51.  
  52. //Destructor VEHICULO
  53. vehiculo::~vehiculo()
  54. {
  55. delete [] cad;
  56. }
  57.  
  58. //Metodo leer VEHICULO
  59. char *vehiculo::leer(char* c)
  60. {
  61. strcpy(c, cad);
  62. return c;
  63. }
  64.  
  65. // Metodo llenar deposito  VEHICULO
  66. void vehiculo::llenarDepo()
  67. {
  68. cout << "Estas llenando el deposito..." << endl;
  69. for(; liDepo < capDepo; liDepo++)
  70. {
  71. }
  72. cout << "El deposito esta lleno: " << liDepo<< " Litros."<< endl << endl;
  73. }
  74.  
  75. // Metodo imprimir VEHICULO
  76. void vehiculo::imprimir()
  77. {
  78. cout << "La velocidad actual es: "<< veloActual << endl;
  79. cout << "El año del coche es: " << año << endl;
  80. cout << "En el deposito hay: " << liDepo << endl;
  81. cout << "El nombre del propietario es: " << *cad <<endl << endl;
  82. }
  83.  
  84. // Metodo acelerar VEHICULO
  85. void vehiculo::acelerar(int kphMas)
  86. {
  87. if(liDepo > 0)
  88. {
  89. cout << "Estas acelerando!" << endl;
  90.    veloActual = veloActual + kphMas;
  91.    liDepo = liDepo - kphMas / 10;
  92.    cout << "Su velocidad actual es: " << veloActual << endl;
  93.    cout << "Su deposito actual es: " << liDepo << endl << endl;
  94. }
  95. else
  96. {
  97. cout << "El deposito esta vacio!" << endl << endl;
  98. }
  99. }
  100.  
  101. // Metodo frenar VEHICULO
  102. void vehiculo::frenar(int kphMenos)
  103. {
  104. if( veloActual - kphMenos > 0)
  105. {
  106. cout << "Estas frenando!" << endl;
  107. veloActual = veloActual - kphMenos;
  108. cout << "Su velocidad actual es: " << veloActual << endl << endl;
  109. }
  110. else
  111. {
  112. veloActual = 0;
  113. cout << "Ya estas parado!" << endl << endl;
  114. }
  115. }
  116.  
  117. // Constructor MOTO
  118. moto::moto(int veloInicial,int liInicial, int capDepoInicial, int añoInicial,  int cilinInicial,const char* c,  const char *c1):
  119. vehiculo( veloInicial,  liInicial,  capDepoInicial, añoInicial, *c)
  120. {
  121. veloActual = veloInicial;
  122. liDepo = liInicial;
  123. capDepo = capDepoInicial;
  124. año = añoInicial;
  125. cad = new char[strlen(c)+1];
  126. strcpy(cad, c);
  127. cilindrada = cilinInicial;
  128. tipo = new char[strlen(c1)+1];
  129. strcpy(tipo, c1);
  130. }
  131.  
  132. // Destructor Moto
  133. moto::~moto()
  134. {
  135. delete [] tipo;
  136. }
  137.  
  138. // Metodo leer MOTO
  139. char *moto::leer1(char* c1)
  140. {
  141. strcpy(c1, tipo);
  142. return c1;
  143. }
  144.  


Puede que haya cambiado algo de la clase base sin darme cuenta de tanto probar.

Muchas gracias!
13  Programación / Programación C/C++ / Re: Programacion orientada a objetos en: 21 Abril 2012, 10:55 am
Solucionado.

Código
  1. #include<iostream>
  2. #include<cstring>
  3. using namespace std;
  4.  
  5. class vehiculo
  6. {
  7. private:
  8. char *cad;
  9. int veloInicial;
  10. int añoInicial;
  11. int capDepoInicial;
  12. int lidepoInicial;
  13. int litros;
  14. int kphMas;
  15. int kphMenos;
  16. int veloActual;
  17. int capaDepo;
  18. int año;
  19. int capDepo;
  20. int liDepo;
  21. public:
  22. vehiculo(int veloInicial, int liInicial, int capDepoInicial, int añoInicial, const char *c);
  23. ~vehiculo();
  24. void imprimir();
  25. void llenarDepo();
  26. void acelerar(int kphMas);
  27. void frenar(int kphMenos);
  28. char *leer(char *c);
  29. };
  30. char propietario[] = "Jonathan Gavilan Mora";
  31.  
  32. vehiculo::vehiculo(int veloInicial, int liInicial, int capDepoInicial, int añoInicial, const char *c)
  33. {
  34. veloActual = veloInicial;
  35. liDepo = liInicial;
  36. capDepo = capDepoInicial;
  37. año = añoInicial;
  38. cad = new char[strlen(c)+1];
  39. strcpy(cad, c);
  40.  
  41. }
  42.  
  43. vehiculo::~vehiculo()
  44. {
  45. delete [] cad;
  46. }
  47.  
  48. char *vehiculo::leer(char* c)
  49. {
  50. strcpy(c, cad);
  51. return c;
  52. }
  53.  
  54. void vehiculo::llenarDepo()
  55. {
  56. cout << "Estas llenando el deposito..." << endl;
  57. for(; liDepo < capDepo; liDepo++)
  58. {
  59. }
  60. cout << "El deposito esta lleno: " << liDepo<< " Litros."<< endl << endl;
  61. }
  62.  
  63. void vehiculo::imprimir()
  64. {
  65. cout << "La velocidad actual es: "<< veloActual << endl;
  66. cout << "El año del coche es: " << año << endl;
  67. cout << "En el deposito hay: " << liDepo << endl;
  68. cout << "El nombre del propietario es: " << propietario <<endl << endl;
  69. }
  70.  
  71.  
  72.  
  73. void vehiculo::acelerar(int kphMas)
  74. {
  75. if(liDepo > 0)
  76. {
  77. cout << "Estas acelerando!" << endl;
  78.    veloActual = veloActual + kphMas;
  79.    liDepo = liDepo - kphMas / 10;
  80.    cout << "Su velocidad actual es: " << veloActual << endl;
  81.    cout << "Su deposito actual es: " << liDepo << endl << endl;
  82. }
  83. else
  84. {
  85. cout << "El deposito esta vacio!" << endl << endl;
  86. }
  87. }
  88.  
  89. void vehiculo::frenar(int kphMenos)
  90. {
  91. if( veloActual - kphMenos > 0)
  92. {
  93. cout << "Estas frenando!" << endl;
  94. veloActual = veloActual - kphMenos;
  95. cout << "Su velocidad actual es: " << veloActual << endl << endl;
  96. }
  97. else
  98. {
  99. veloActual = 0;
  100. cout << "Ya estas parado!" << endl << endl;
  101. }
  102. }
  103.  
  104. int main()
  105. {
  106. vehiculo mercedes(0, 60, 60, 1990, "Jonathan Gavilan Mora");
  107. mercedes.acelerar(50);
  108. mercedes.acelerar(50);
  109. mercedes.acelerar(50);
  110. mercedes.frenar(50);
  111. mercedes.frenar(50);
  112. mercedes.frenar(60);
  113. mercedes.acelerar(50);
  114. mercedes.llenarDepo();
  115. mercedes.imprimir();
  116. system("pause");
  117. return 0;
  118. }
14  Programación / Programación C/C++ / Re: Programacion orientada a objetos en: 21 Abril 2012, 10:15 am
Ahora tengo otro problema... no consigo introducir el nombre del propietario
o me da error o me da simbolos extraños..

Código
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. class vehiculo
  5. {
  6. private:
  7. int veloInicial;
  8. int añoInicial;
  9. int capDepoInicial;
  10. int lidepoInicial;
  11. int litros;
  12. int kphMas;
  13. int kphMenos;
  14. int veloActual;
  15. int capaDepo;
  16. int año;
  17. int capDepo;
  18. int liDepo;
  19. public:
  20. vehiculo(int veloInicial, int liInicial, int capDepoInicial, int añoInicial);
  21. ~vehiculo();
  22. void imprimir();
  23. void llenarDepo();
  24. void acelerar(int kphMas);
  25. void frenar(int kphMenos);
  26. };
  27.  
  28. vehiculo::vehiculo(int veloInicial, int liInicial, int capDepoInicial, int añoInicial)
  29. {
  30. veloActual = veloInicial;
  31. liDepo = liInicial;
  32. capDepo = capDepoInicial;
  33. año = añoInicial;
  34.  
  35. }
  36.  
  37. vehiculo::~vehiculo()
  38. {
  39. }
  40.  
  41. void vehiculo::llenarDepo()
  42. {
  43. for(; liDepo < capDepo; liDepo++)
  44. {
  45. }
  46. cout << "El deposito esta lleno" << endl << endl;
  47. }
  48.  
  49. void vehiculo::imprimir()
  50. {
  51. cout << "La velocidad actual es: "<< veloActual << endl;
  52. cout << "El año del coche es: " << año << endl;
  53. cout << "En el deposito hay: " << liDepo << endl;
  54. cout << "El nombre del propietario es: " << endl << endl;
  55. }
  56.  
  57.  
  58.  
  59. void vehiculo::acelerar(int kphMas)
  60. {
  61. if(liDepo > 0)
  62. {
  63. cout << "Estas acelerando!" << endl;
  64.    veloActual = veloActual + kphMas;
  65.    liDepo = liDepo - kphMas / 10;
  66.    cout << "Su velocidad actual es: " << veloActual << endl;
  67.    cout << "Su deposito actual es: " << liDepo << endl << endl;
  68. }
  69. else
  70. {
  71. cout << "El deposito esta vacio!" << endl << endl;
  72. }
  73. }
  74.  
  75. void vehiculo::frenar(int kphMenos)
  76. {
  77. if( veloActual - kphMenos > 0)
  78. {
  79. cout << "Estas frenando!" << endl;
  80. veloActual = veloActual - kphMenos;
  81. cout << "Su velocidad actual es: " << veloActual << endl << endl;
  82. }
  83. else
  84. {
  85. veloActual = 0;
  86. cout << "Ya estas parado!" << endl << endl;
  87. }
  88. }
  89.  
  90. int main()
  91. {
  92. vehiculo mercedes(0, 60, 60, 1990);
  93. mercedes.acelerar(50);
  94. mercedes.acelerar(50);
  95. mercedes.acelerar(50);
  96. mercedes.frenar(50);
  97. mercedes.frenar(50);
  98. mercedes.frenar(60);
  99. mercedes.acelerar(50);
  100. mercedes.llenarDepo();
  101. mercedes.imprimir();
  102. system("pause");
  103. return 0;
  104. }

Muchas gracias.
15  Programación / Programación C/C++ / Re: Programacion orientada a objetos en: 21 Abril 2012, 08:19 am
Ya esta resuelto. Aparte de lo que tu decias, tambien era por que el constructor no inicializaba los atributos de la clase con sus parametros.

Gracias.
16  Programación / Programación C/C++ / Programacion orientada a objetos en: 21 Abril 2012, 00:17 am
Buenas de nuevo,

Tengo este codigo y lo que me falla es cuando "vehiculo" acelera...
Me aparece por pantalla -8524654846( mas o menos) y no se por que es.

Gracias!
Código
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. class vehiculo
  5. {
  6.  
  7. private:
  8. int litros;
  9. int kphMas;
  10. int kphMenos;
  11. int veloActual;
  12. int capaDepo;
  13. int año;
  14. int capDepo;
  15. int liDepo;
  16. char *propietario[25];
  17. public:
  18. vehiculo(int veloActual, int liDepo, int capDepo, int año);
  19. ~vehiculo();
  20. void imprimir(int año, char *propietario);
  21. int llenarDepo();
  22. int acelerar(int kphMas);
  23. int frenar(int kphMenos);
  24. void nPropietario(char* propietario);
  25. };
  26.  
  27. vehiculo::vehiculo(int veloActualual, int liDepo, int capDepo, int año)
  28. {
  29.  
  30. }
  31.  
  32. vehiculo::~vehiculo()
  33. {
  34. }
  35. int vehiculo::llenarDepo()
  36. {
  37. for(; liDepo <= capDepo; liDepo++)
  38. {
  39. cout << "El deposito esta lleno" << endl;
  40. }
  41. return liDepo;
  42. }
  43.  
  44. void vehiculo::imprimir(int año, char*propietario)
  45. {
  46. cout << "La velocidad actual es: "<< veloActual << endl;
  47. cout << "El año del coche es: " << año << endl;
  48. cout << "En el deposito hay: " << liDepo << endl;
  49. cout << "El nombre del propietario es: " << *propietario << endl;
  50. }
  51.  
  52.  
  53.  
  54. int vehiculo::acelerar(int kphMas)
  55. {
  56. cout << "Estas acelerando!" << endl;
  57. veloActual = veloActual + kphMas;
  58. liDepo = liDepo - kphMas / 2;
  59. cout << "Su velocidad actual es: " << veloActual << endl;
  60. cout << "Su deposito actual es: " << liDepo << endl;
  61. return veloActual;
  62. return liDepo;
  63. }
  64.  
  65. int vehiculo::frenar(int kphMenos)
  66. {
  67. if( veloActual >= 0)
  68. {
  69. cout << "Estas frenando!" << endl;
  70. veloActual = veloActual - kphMenos;
  71. cout << "Su velocidad actual es: " << veloActual << endl;
  72. }
  73. else
  74. {
  75. cout << "Ya estas parado!" << endl;
  76. }
  77. return veloActual;
  78. }
  79.  
  80. void vehiculo::nPropietario( char* propietario)
  81. {
  82. propietario[0] = 'P';
  83. propietario[1] = 'e';
  84. propietario[2] = 'p';
  85. propietario[3] = 'e';
  86. cout << "EL nombre del propietario es: " << *propietario << endl;
  87. }
  88.  
  89. int main()
  90. {
  91. vehiculo mercedes(0, 60, 60, 1990);
  92. mercedes.acelerar(50);
  93. mercedes.acelerar(50);
  94. mercedes.acelerar(50);
  95. mercedes.frenar(20);
  96. mercedes.frenar(65);
  97. mercedes.frenar(65);
  98. mercedes.frenar(10);
  99. system("pause");
  100. return 0;
  101. }
17  Programación / Programación C/C++ / Duda archivos abiertos en formato binario en: 17 Abril 2012, 06:05 am
Buenos dias,

He hecho este codigo para abrir una imagen en formato binario, y ahora me piden que modifique unos cuantos bytes de la mitad de la imagen mas o menos..
A ver si me podeis ayudar un poco por que no se me ocurre nada...

Como siempre, muchas gracias!
Código
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. using namespace std;
  5.  
  6.  
  7. int main()
  8. {
  9. string line;
  10. fstream mi_archivo ("C:\\Users\\jona\\Desktop\\ejercicios dos\\8.5\\pepe.png",ios::in|ios::binary);
  11. if(mi_archivo.is_open())
  12. {
  13. while(! mi_archivo.eof())
  14. {
  15. getline(mi_archivo, line);
  16. cout << line << endl;
  17. }
  18. mi_archivo.close();
  19. }
  20. else cout << "Error al abrir el archivo" << endl;
  21. system("pause");
  22. return 0;
  23. }
  24.  
18  Programación / Programación C/C++ / Re: Punteros y arrays en: 14 Abril 2012, 19:32 pm
Gracias!
19  Programación / Programación C/C++ / Re: Punteros y arrays en: 14 Abril 2012, 12:44 pm
Me puedes explicar un poco lo de (valor -1).

Gracias!
20  Programación / Programación C/C++ / Punteros y arrays en: 14 Abril 2012, 09:31 am
Buenas!

Tengo este ejercicio en el que el usuario introuce cuantos numeros va a introducir...  luego pide los numeros y luego los muestra enorden inverso.
Código
  1. #include <iostream>
  2. #include <new>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int numero;
  8. int valor;
  9. int* puntero;
  10. cout << "Cuantos numeros desea introducir? " << endl;
  11. cin >> valor;
  12. puntero = new (nothrow) int[valor];
  13. if(puntero == 0)
  14. cout << " Error... no se pudieron introducir los valores..." << endl;
  15.  
  16. else
  17. {
  18. cout << "Introduzca los numero de uno en uno.. ejemplo( 1 (enter)... 2(enter)...)" << endl;
  19. for(numero= 0; numero < valor; numero++)
  20. {
  21. cout << "Introduzca el numero: " << endl;
  22.    cin >> puntero[numero];
  23. cout << endl;
  24. }
  25. for(int i = valor;  i > 0; i--)
  26. {
  27. cout << puntero[i] <<endl;
  28. }
  29.  
  30.  
  31. }
  32. system("pause");
  33. return 0;
  34. }

Da error en el primer numero que introduce para invertir.

Muchas gracias.
Páginas: 1 [2] 3 4 5 6 7 8 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines