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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11
11  Programación / Programación C/C++ / Re: Duda de switch y problema al ejecutar en: 20 Mayo 2015, 15:45 pm
 Entonces en un while nunca se pone EOF porque terminaria el programa sin ejecutar lo que está después de la estructura while?

con respecto al switch mi duda es sobre los espacios, que no pide de nuevo la calificacion si se escribe " a"
12  Programación / Programación General / duda de repeat, o do..while en: 20 Mayo 2015, 04:58 am
 Hola gente, queria hacerles una pregunta, en la universidad el profesor de programación nos dijo que el ciclo repeat, o do while, no sirve, ya que no tenemos manejo de el, dijo que este ciclo es mortal y que no lo usemos.

Que piensan sobre esto? porque piensan eso?

Saludos! Espero respuestas!
13  Programación / Programación C/C++ / Re: Problema en for que no entra en: 20 Mayo 2015, 02:51 am
Código
  1. cout <<"entra";
  2. cout <<" ";

Y lo peor de todo es que no me tiraba error -.- muchas gracias!
14  Programación / Programación C/C++ / [Solucionado] Problema en for que no entra en: 20 Mayo 2015, 02:22 am
 Hola gente tengo este problema en un for, que no lo puedo hacer entrar.

Dejo El código

Código
  1. for (int c=10; c >= 1; c--) // FILAS
  2. {
  3. for (int espacios=c; espacios <= 20; espacios++)
  4. {
  5. cout <"entra";
  6. cout <" ";
  7. }
  8.  
  9. for (int puntos=1; puntos <= c; puntos++) // DIBUJA PUNTOS
  10. {
  11. cout <<"*";
  12. }
  13. cout <<endl;
  14. }
15  Programación / Programación C/C++ / Pregunta sobre variable integer en: 19 Mayo 2015, 17:13 pm
 Hola gente, me surgio una pregunta, hice un código que evalua los numeros factoriales del 1 al 20, la variable de tipo int resultado me muestra cada resultado de la multiplicación, se que una variable int si mal no recuerdo va desde -32768 a 32767, pero llega a valer: 2004189184.

Todo esto esta en un ciclo for... la viariable por si sola se transforma en una long int?
16  Programación / Programación C/C++ / Duda de switch y problema al ejecutar en: 18 Mayo 2015, 20:40 pm
 Hola gente, tengo unas dudas con un switch y quisiera saber como hacer para que al ingresar eof (ctrl + z en windows, ctrl + d en linux) no se me cierre el programa y se ejecuten las otras funciones miembro.


Mi duda del switch es la siguiente en la funcion miembro recibirCalificaciones
si se ingresa por ejemplo " a" (espacio,y letra a), toma calificacion como "a", y quisiera saber por que, porque creo yo que tendria que entrar en default y no, se que evita los saltos de lineas, espacios y espacios tabulares, pero quisiera saber que pasa en ese cuerpo cuando tenemos un espacio y letra a.


Desde ya muchas gracias y Saludos!

Bueno este es el código:

main.cpp
Código
  1. #include <iostream>
  2. using std::cin;
  3.  
  4. #include "LibroCalificaciones.h"
  5.  
  6. int main()
  7. {
  8. LibroCalificaciones miLibroCalificaciones("CS101 Programacion en C++");
  9.  
  10. miLibroCalificaciones.mostrarMensaje();
  11. miLibroCalificaciones.recibirCalificaciones();
  12. miLibroCalificaciones.mostrarReporteCalificaciones();
  13. cin.get();
  14. return 0;
  15. }

LibroCalificaciones.h
Código
  1. #include <string>
  2. using std::string;
  3.  
  4. class LibroCalificaciones
  5. {
  6. public:
  7. LibroCalificaciones(string);
  8. void establecerNombreCurso(string);
  9. string obtenerNombreCurso();
  10. void mostrarMensaje();
  11. void recibirCalificaciones();
  12. void mostrarReporteCalificaciones();
  13. private:
  14. string nombreCurso;
  15. int aCuenta;
  16. int bCuenta;
  17. int cCuenta;
  18. int dCuenta;
  19. int fCuenta;
  20. };
LibroCalificaciones.cpp
Código
  1. #include <iostream>
  2. using std::cout;
  3. using std::cin;
  4. using std::endl;
  5.  
  6. #include "LibroCalificaciones.h"
  7.  
  8. //CONSTRUCTOR
  9. LibroCalificaciones::LibroCalificaciones(string nombre)
  10. {
  11. establecerNombreCurso(nombre);
  12. aCuenta=0;
  13. bCuenta=0;
  14. cCuenta=0;
  15. dCuenta=0;
  16. fCuenta=0;
  17. }
  18.  
  19. void LibroCalificaciones::establecerNombreCurso(string nombre)
  20. {
  21. if (nombre.length() <= 25)
  22. {
  23. nombreCurso= nombre;
  24. }
  25. else
  26. {
  27. nombreCurso= nombre.substr(0,25);
  28.  
  29. cout <<"el nombre " <<nombre <<" excede la longitud maxima (25).\n"
  30. <<"Se limito nombreCurso a los primeros 25 caracteres.\n";
  31. }
  32. }
  33.  
  34. string LibroCalificaciones::obtenerNombreCurso()
  35. {
  36. return nombreCurso;
  37. }
  38.  
  39. void LibroCalificaciones::mostrarMensaje()
  40. {
  41. cout <<"Bienvenido al libro de calificaciones para " <<obtenerNombreCurso() <<"!\n";
  42. }
  43.  
  44. void LibroCalificaciones::recibirCalificaciones()
  45. {
  46. int calificacion;
  47.  
  48. cout <<"Escriba las calificaciones de letra." <<endl
  49. <<"Escriba el caracter EOF (fin de archivo) para terminar la entrada." <<endl;
  50.  
  51. while ((calificacion= cin.get()) != EOF)
  52. {
  53. switch (calificacion)
  54. {
  55. case 'A':
  56. case 'a':
  57. aCuenta++;
  58. break;
  59.  
  60. case 'B':
  61. case 'b':
  62. bCuenta++;
  63. break;
  64.  
  65. case 'C':
  66. case 'c':
  67. cCuenta++;
  68. break;
  69.  
  70. case 'D':
  71. case 'd':
  72. dCuenta++;
  73. break;
  74.  
  75. case 'F':
  76. case 'f':
  77. fCuenta++;
  78. break;
  79.  
  80. case '\t':
  81. case '\n':
  82. case ' ':
  83. break;
  84.  
  85. default:
  86. cout <<"Se introdujo una letra de calificacion incorrecta."
  87. <<"Escriba una nueva calificacion." <<endl;
  88. break;
  89. }
  90. }
  91. }
  92.  
  93. void LibroCalificaciones::mostrarReporteCalificaciones()
  94. {
  95. cout <<"\n\nNumero de estudiantes que recibieron cada Calificacion de letra:"
  96. <<"\nA: " <<aCuenta
  97. <<"\nB: " <<bCuenta
  98. <<"\nC: " <<cCuenta
  99. <<"\nD: " <<dCuenta
  100. <<"\nF: " <<fCuenta
  101. <<endl;
  102. }
17  Programación / Programación C/C++ / Re: problema en un for con variables en: 18 Mayo 2015, 18:34 pm
En la sección de inicialización del `for` solo puedes tener una declaración compuesta. Es decir, tantas variables como quieras, pero del mismo tipo, separadas por comas....

Muchas gracias, solucionado!, Saludos!
18  Programación / Programación C/C++ / [Codigo] Binario a Decimal en: 18 Mayo 2015, 18:18 pm
 Les dejo un código que hice, pasa un binario a decimal  :D

Saludos!

Código
  1. #include <iostream>
  2. using std::cin;
  3. using std::endl;
  4. using std::cout;
  5.  
  6. #include <cmath>
  7. using std::pow;
  8.  
  9. int main()
  10. {
  11. long int binario;
  12. long int decimal=0;
  13. long int auxBinario;
  14. int resto;
  15. bool respuesta= true;
  16.  
  17.  
  18. cout <<"Binario: ";
  19. cin  >> binario;
  20.  
  21. auxBinario= binario;
  22.  
  23. for (int contador=0; pow(10.,contador) < binario; contador++)
  24. {
  25. resto= auxBinario % 10;
  26. auxBinario/= 10;
  27.  
  28. switch (resto)
  29. {
  30. case 0:
  31. decimal+= (resto * pow(2.0,contador));
  32. break;
  33.  
  34. case 1:
  35. decimal+= (resto * pow(2.0,contador));
  36. break;
  37.  
  38. default:
  39. respuesta= false;
  40. break;
  41. }
  42.  
  43. }
  44.  
  45. if (respuesta == true)
  46. {
  47. cout <<"\nEl binario " <<binario <<" es " <<decimal <<endl;
  48. }
  49. else
  50. {
  51. cout <<"\nEl numero ingresado no es un binario!\n";
  52. }
  53. cin.get();
  54. cin.get();
  55. return 0;
  56. }
19  Programación / Programación C/C++ / [Solucionado] Problema en un for con variables en: 18 Mayo 2015, 17:10 pm
 Hola gente, tengo un problema en un for, dejo el codigo y el error que me tira :)

Código
  1. #include <iostream>
  2. using std::cin;
  3. using std::cout;
  4.  
  5. int main()
  6. {
  7. // Variables
  8. int palindromo;
  9. bool respuesta= true;
  10.  
  11.  
  12. cout <<"palindromo: ";
  13. cin >> palindromo;
  14.  
  15.  
  16. for(int divisorMayor=10000,int divisorMenor=10; divisorMenor <= 10000,divisorMayor >= 10; divisorMenor*=10, divisorMayor/=10)
  17. {
  18. if ((palindromo / divisorMayor) != (palindromo / divisorMenor))
  19. {
  20. respuesta= false;
  21. break;
  22. }
  23.  
  24. palindromo%= divisorMayor;
  25. palindromo/= divisorMenor;
  26. }
  27.  
  28. if (respuesta == true)
  29. {
  30. cout <<"\nEl numero es un palindromo.";
  31. }
  32.  
  33. else
  34. {
  35. cout <<"\nEl numero no es un palindromo.";
  36. }
  37.  
  38. cin.get();
  39. return 0;
  40. }

ERROR:

Citar
1>------ Operación Generar iniciada: proyecto: Deitel-Ejer4.26, configuración: Debug Win32 ------
1>  main.cpp
1>c:\users\mario\desktop\programacion c++\deitel-ejer4.26\deitel-ejer4.26\main.cpp(31): error C2062: tipo 'int' inesperado
1>c:\users\mario\desktop\programacion c++\deitel-ejer4.26\deitel-ejer4.26\main.cpp(31): error C2065: 'divisorMenor' : identificador no declarado
1>c:\users\mario\desktop\programacion c++\deitel-ejer4.26\deitel-ejer4.26\main.cpp(31): error C2065: 'divisorMenor' : identificador no declarado
1>c:\users\mario\desktop\programacion c++\deitel-ejer4.26\deitel-ejer4.26\main.cpp(31): error C2143: error de sintaxis : falta ';' delante de ')'
1>c:\users\mario\desktop\programacion c++\deitel-ejer4.26\deitel-ejer4.26\main.cpp(31): error C2143: error de sintaxis : falta ';' delante de ')'
1>c:\users\mario\desktop\programacion c++\deitel-ejer4.26\deitel-ejer4.26\main.cpp(32): error C2143: error de sintaxis : falta ';' delante de '{'
1>c:\users\mario\desktop\programacion c++\deitel-ejer4.26\deitel-ejer4.26\main.cpp(33): error C2065: 'divisorMenor' : identificador no declarado
1>c:\users\mario\desktop\programacion c++\deitel-ejer4.26\deitel-ejer4.26\main.cpp(36): error C2043: instrucción break no válida
1>c:\users\mario\desktop\programacion c++\deitel-ejer4.26\deitel-ejer4.26\main.cpp(40): error C2065: 'divisorMenor' : identificador no declarado
========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========
20  Programación / Programación C/C++ / [Aporte] fixedInteger.h en: 16 Mayo 2015, 23:15 pm
 Hola gente, estuve codeando un .h, el cual previene que cuando esperamos un valor de tipo integer y nos ingresan un valor de tipo string no nos tire error, y nos cierre el programa, les dejo un video, y el .h abajo, con un main.cpp para ejemplo de su uso de datos.




Main.cpp

Código
  1. #include <iostream>
  2. using std::cout;
  3. using std::endl;
  4. using std::cin;
  5.  
  6. #include <string>
  7. using std::string;
  8. using std::getline;
  9.  
  10. #include "fixedInteger.h"
  11.  
  12. int main()
  13. {
  14. string numero;
  15.  
  16. cout <<"numero: ";
  17. getline(cin,numero);
  18. cout <<endl;
  19.  
  20. fixedInteger aplicacion(numero);
  21.  
  22. cin.get();
  23. return 0;
  24. }

fixedInteger.h


Código
  1. /*
  2. <<<<<<<<<<<FIXED INTEGER>>>>>>>>>>>>>>>>
  3.                                                                                                                                     Creado por: Mario Olivera
  4. MISION:
  5. •Solucionar el error de cuando esperamos un integer y nos dan un string :)
  6.  
  7. USO:
  8. •Use un objeto desde un .cpp ejemplo: "fixedInteger objeto(una variable string);"
  9. • Para obtener el numero integer, solo ponga "objeto.obtenerInteger();" ejemplo: int numero= objeto.obtenerInteger();
  10.  
  11. Atencion: si usted esta esperando un numero integer positivo podria poner un if en su .cpp, ejemplo: si el numero es negativo
  12. entonces ejecuto de nuevo las funciones de fixedInteger;
  13.  
  14. Nada Mas que decir, saludos! Mario Olivera.
  15. */
  16.  
  17.  
  18.  
  19. /////////////////////////////////////////////CODIGO ////////////////////////////////////////
  20.  
  21. #include <iostream>
  22. using std::cout;
  23. using std::endl;
  24. using std::cin;
  25.  
  26. #include <string>
  27. using std::string;
  28.  
  29. class fixedInteger
  30. {
  31. public:
  32. fixedInteger(string numero)
  33. {
  34. convertidor(numero);
  35. }
  36.  
  37. int obtenerInteger()
  38. {
  39. return numeroInteger;
  40. }
  41.  
  42.  
  43.  
  44.  
  45. void convertidor(string numero)
  46. {
  47. int ladoDelCuadrado=0;
  48. int cantidadDeCaracteres;
  49. int resultado=1;
  50. int i=1;
  51. string auxNumero= numero;
  52. string caracter;
  53. string primerCaracter;
  54. string aux;
  55. bool interruptor= false;
  56. bool negativo= false;
  57.  
  58.  
  59. cantidadDeCaracteres= (auxNumero.length());
  60.  
  61. auxNumero= "f" + auxNumero;
  62.  
  63. while (interruptor == false)
  64. {
  65. interruptor= true;
  66. if (cantidadDeCaracteres == 1)
  67. {
  68. caracter= auxNumero[1];
  69.  
  70. if (caracter == "0")
  71. {
  72. ladoDelCuadrado= 0;
  73. }
  74. else
  75. {
  76. if (caracter == "1")
  77. {
  78. ladoDelCuadrado= 1;
  79. }
  80. else
  81. {
  82. if (caracter == "2")
  83. {
  84. ladoDelCuadrado= 2;
  85. }
  86. else
  87. {
  88. if (caracter == "3")
  89. {
  90. ladoDelCuadrado= 3;
  91. }
  92. else
  93. {
  94. if (caracter == "4")
  95. {
  96. ladoDelCuadrado= 4;
  97. }
  98. else
  99. {
  100. if (caracter == "5")
  101. {
  102. ladoDelCuadrado= 5;
  103. }
  104. else
  105. {
  106. if (caracter == "6")
  107. {
  108. ladoDelCuadrado= 6;
  109. }
  110. else
  111. {
  112. if (caracter == "7")
  113. {
  114. ladoDelCuadrado= 7;
  115. }
  116. else
  117. {
  118. if (caracter == "8")
  119. {
  120. ladoDelCuadrado=8;
  121. }
  122. else
  123. {
  124. if (caracter == "9")
  125. {
  126. caracter= 9;
  127. }
  128. else
  129. {
  130. interruptor= false;
  131. }
  132. }
  133. }
  134. }
  135. }
  136. }
  137. }
  138. }
  139. }
  140. }
  141.  
  142. }
  143.  
  144.  
  145.  
  146. else
  147. {
  148. primerCaracter= auxNumero[1];
  149. aux= auxNumero[1];
  150. while (i < cantidadDeCaracteres)
  151. {
  152.  
  153. if ((aux == "+") || (aux == "-"))
  154. {
  155.  
  156. }
  157. else
  158. {
  159. resultado*= 10;
  160. }
  161. ++i;
  162. }
  163. i= 1;
  164.  
  165. caracter= auxNumero[i];
  166.  
  167. if (caracter == "+")
  168. {
  169. i++;
  170. }
  171. if (caracter == "-")
  172. {
  173. i++;
  174. negativo= true;
  175. }
  176.  
  177. while (i < cantidadDeCaracteres)
  178. {
  179. caracter= auxNumero[i];
  180. if (caracter == "0")
  181. {
  182.  
  183. if ((primerCaracter != "+") || (primerCaracter != "-"))
  184. {
  185. if (i > 1)
  186. {
  187. ladoDelCuadrado= ladoDelCuadrado + ( 0 * resultado);
  188. }
  189.  
  190. }
  191. else
  192. {
  193. if (i > 2)
  194. {
  195. ladoDelCuadrado= ladoDelCuadrado + ( 0 * resultado);
  196. }
  197. }
  198. resultado/= 10;
  199. }
  200. else
  201. {
  202. if (caracter == "1")
  203. {
  204. ladoDelCuadrado= ladoDelCuadrado + ( 1 * resultado);
  205. resultado/= 10;
  206. }
  207. else
  208. {
  209. if (caracter =="2")
  210. {
  211. ladoDelCuadrado= ladoDelCuadrado + ( 2 * resultado);
  212. resultado/= 10;
  213. }
  214. else
  215. {
  216. if (caracter == "3")
  217. {
  218. ladoDelCuadrado= ladoDelCuadrado + ( 3 * resultado);
  219. resultado/= 10;
  220. }
  221. else
  222. {
  223. if (caracter == "4")
  224. {
  225. ladoDelCuadrado= ladoDelCuadrado + ( 4 * resultado);
  226. resultado/= 10;
  227. }
  228. else
  229. {
  230. if (caracter == "5")
  231. {
  232. ladoDelCuadrado= ladoDelCuadrado + ( 5 * resultado);
  233. resultado/= 10;
  234. }
  235. else
  236. {
  237. if (caracter == "6")
  238. {
  239. ladoDelCuadrado= ladoDelCuadrado + ( 6 * resultado);
  240. resultado/= 10;
  241. }
  242. else
  243. {
  244. if (caracter == "7")
  245. {
  246. ladoDelCuadrado= ladoDelCuadrado + ( 7 * resultado);
  247. resultado/= 10;
  248.  
  249. }
  250. else
  251. {
  252. if (caracter == "8")
  253. {
  254. ladoDelCuadrado= ladoDelCuadrado + ( 8 * resultado);
  255. resultado/= 10;
  256. }
  257. else
  258. {
  259. if (caracter == "9")
  260. {
  261. ladoDelCuadrado= ladoDelCuadrado + ( 9 * resultado);
  262. resultado/= 10;
  263. }
  264. else
  265. {
  266. interruptor= false;
  267. }
  268. }
  269. }
  270. }
  271. }
  272. }
  273. }
  274.  
  275. }
  276. }
  277.  
  278.  
  279. }
  280. ++i;
  281.  
  282.  
  283. }
  284.  
  285. }
  286.  
  287. if (cantidadDeCaracteres != 1)
  288. {
  289. caracter= auxNumero.substr(2,cantidadDeCaracteres);
  290.  
  291. if ((caracter != "0") && (caracter != "1") && (caracter != "2")  && (caracter != "3")  && (caracter != "4")  && (caracter != "5")  && (caracter != "6")  && (caracter != "7")  && (caracter != "8")  && (caracter != "9"))
  292. {
  293. interruptor= false;
  294. }
  295.  
  296. if (interruptor == true)
  297. {
  298. caracter= auxNumero.substr(cantidadDeCaracteres);
  299.  
  300. if (caracter == "1")
  301. {
  302. ladoDelCuadrado= ladoDelCuadrado + 1;
  303. }
  304. else
  305. {
  306. if (caracter == "2")
  307. {
  308. ladoDelCuadrado= ladoDelCuadrado + 2;
  309. }
  310. else
  311. {
  312. if (caracter == "3")
  313. {
  314. ladoDelCuadrado= ladoDelCuadrado + 3;
  315. }
  316. else
  317. {
  318. if (caracter == "4")
  319. {
  320. ladoDelCuadrado= ladoDelCuadrado + 4;
  321. }
  322. else
  323. {
  324. if (caracter == "5")
  325. {
  326. ladoDelCuadrado= ladoDelCuadrado + 5;
  327. }
  328. else
  329. {
  330. if (caracter == "6")
  331. {
  332. ladoDelCuadrado= ladoDelCuadrado + 6;
  333. }
  334. else
  335. {
  336. if (caracter == "7")
  337. {
  338. ladoDelCuadrado= ladoDelCuadrado + 7;
  339. }
  340. else
  341. {
  342. if (caracter == "8")
  343. {
  344. ladoDelCuadrado= ladoDelCuadrado + 8;
  345. }
  346. else
  347. {
  348. ladoDelCuadrado= ladoDelCuadrado + 9;
  349. }
  350. }
  351. }
  352. }
  353. }
  354. }
  355. }
  356. }
  357.  
  358. }
  359. else
  360. {
  361.  
  362. cout <<"ingrese el valor nuevamente: ";
  363. getline(cin, auxNumero);
  364.  
  365. ladoDelCuadrado=0;
  366. resultado=1;
  367. i=1;
  368. interruptor= false;
  369. cantidadDeCaracteres= (auxNumero.length());
  370. auxNumero= "f" + auxNumero;
  371. }
  372.  
  373. }
  374. else
  375. {
  376. if (interruptor == false)
  377. {
  378. cout <<"ingrese el valor nuevamente: ";
  379. getline(cin, auxNumero);
  380.  
  381. ladoDelCuadrado=0;
  382. resultado=1;
  383. i=1;
  384. interruptor= false;
  385. cantidadDeCaracteres= (auxNumero.length());
  386. auxNumero= "f" + auxNumero;
  387. }
  388. }
  389. }
  390.  
  391. if (negativo == true)
  392. {
  393. ladoDelCuadrado= ladoDelCuadrado * -1;
  394. }
  395.  
  396. numeroInteger= ladoDelCuadrado;
  397. }
  398.  
  399. private:
  400. string mensajeError;
  401. int numeroInteger;
  402.  
  403. };
Páginas: 1 [2] 3 4 5 6 7 8 9 10 11
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines