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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8] 9 10
71  Programación / Ejercicios / Re: Codigo sucesión de sumas en: 25 Octubre 2018, 03:41 am
No se hacen tareas.
Al menos muestra lo que has logrado hacer  :¬¬
72  Programación / Programación C/C++ / Optimizar este código en C++ en: 25 Octubre 2018, 02:50 am
Tengo este código, el cual funciona, pero tiene un error garrafal.

Código
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstdlib>
  4. #include <ctime>
  5.  
  6. typedef struct
  7. {
  8. int precio;
  9. int id;
  10. char name[255];
  11. char adc[512]; // caracteristicas adicionales
  12. } prod;
  13.  
  14. void addpr(prod *a);
  15. void db(prod *a);
  16.  
  17. unsigned int pos = 0;
  18. unsigned int nume = 0;
  19.  
  20. int main()
  21. {
  22. int op = 0;
  23.  
  24. // Necesitamos una estructura llamada pres y una llamada *punpress
  25. // la cual apuntara a pres.
  26. prod pres[512], *punpres; // <- creando 512 estructuras??? ineficiente!!!
  27. punpres = pres;
  28. do
  29. {
  30. printf("[1]A%cadir producto [3]Ver base de datos [4]Salir\n", 164);
  31. std::cout << "-> ";
  32. std::cin >> op;
  33. switch (op)
  34. {
  35. case 1:
  36. addpr(punpres);
  37. break;
  38. case 3:
  39. db(punpres);
  40. break;
  41. case 4:
  42. return 0;
  43. default:
  44. std::cout << "Opcion invalida!" << std::endl;
  45. break;
  46. }
  47.  
  48. } while (! std::cin.fail());
  49. return 0;
  50. }
  51.  
  52. void addpr(prod *estr)
  53. {
  54. fflush(stdin);
  55. srand(time(NULL));
  56. std::cout << "Inserte nombre del producto: ";
  57. std::cin.getline(estr[pos].name, 100, '\n');
  58. std::cout << "Inserte precio: ";
  59. std::cin >> estr[pos].precio;
  60. estr[pos].id = rand();
  61. ++pos;
  62. ++nume;
  63. }
  64.  
  65. void db(prod *a)
  66. {
  67. for (pos = 0; pos < nume; ++pos)
  68. {
  69. printf("Nombre: %s\n", a[pos].name);
  70. printf("Precio: $ %i\n", a[pos].precio);
  71. printf("ID: %i", a[pos].id);
  72. printf("\n------------------------\n");
  73. }
  74. }
  75.  
  76.  
En el mismo código se comenta el error, pues el cual es que estoy creando 512 estructuras, por lo cúal hay un límite de productos que se pueden ingresar. Pero me gustaría hacerlo dinámico, osea que el número de estructuras sea proporcional al número de productos. O(n)?
Ya le he tratado de hacer, con malloc, pero no era lo que buscaba...
Saludos :)
PD: Si compilo esto con g++, todo bien (también probé compilando con el standard C++11 y sigue funcionando), pero si compilo con cl (el compiler de VS Studio), al ejecutarlo y elegir la opción 1, se bugea y se salta el campo de ingresar nombre a ingresar precio.
73  Programación / Programación C/C++ / Re: COMO DIVIDIR MI CODIGO EN FUNCIONES(VOID) en: 25 Octubre 2018, 00:28 am
En que funciones querés dividir tu código?
Has intentado algo?
Por lo menos coloca lo que has intentado...
1. Nunca uses gets, usa fgets...
2. define el tipo de dato de la funcion main()...
3. deja de gritar
74  Programación / Programación C/C++ / Re: ¿Como compilo ejecutables en ubuntu? en: 24 Octubre 2018, 03:31 am
Los .o, .out, .elf, so o llanamente sin formato son ejecutables.
Todos ellos son ELF.
De hecho, puedes colocarle cualquier extensión a el ELF, ya que el archivo tiene en su interior algo llamado "número mágico"
en este caso el de el ELF dice ELF al comienzo del archivo, en los exe de Windows es un MZ.
Y para que se abra de un clic, creo que deberías crear un acceso directo.
Código
  1. g++ fuente.cpp -o ejecutable.elf
  2.  
Saludos
75  Programación / Programación C/C++ / Multiples instancias de una estructura en: 23 Octubre 2018, 04:06 am
Tengo este código:
Código
  1. #include <iostream>
  2.  
  3. void add();
  4. void db();
  5.  
  6. typedef struct {
  7. int price;
  8. int id;
  9. char name[50];
  10. }prod;
  11.  
  12. prod a;
  13.  
  14. int main()
  15. {
  16. int op;
  17.  
  18. do
  19. {
  20. std::cout << "[1]A&#241;adir [2]Remover [3]Ver base de datos [4]Salir" << std::endl;
  21. std::cout << "Opcion: ";
  22. std::cin >> op;
  23. switch (op)
  24. {
  25. case 1:
  26. add();
  27. break;
  28.  
  29. case 3:
  30. db();
  31. break;
  32. case 4:
  33. return 0;
  34. }
  35. }while (1 < 5);
  36.  
  37. return 0;
  38. }
  39.  
  40. void add()
  41. {
  42. std::cout << "Inserte precio del producto: ";
  43. std::cin >> a.price;
  44. std::cout << "Inserte ID del producto: ";
  45. std::cin >> a.id;
  46. std::cout << "Inserte nombre del producto: ";
  47. std::cin >> a.name;
  48. }
  49.  
  50. void db()
  51. {
  52. std::cout << "Precio del producto: " << a.price << std::endl;
  53. std::cout << "ID del producto: " << a.id << std::endl;
  54. std::cout << "Nombre del producto: " << a.name << std::endl;
  55. }
  56.  
Funciona, pero quiero poder añadir más de un producto, ya que si una vez añadido un producto, y se vuelve a añadir otro completamente diferente este se sobreescribe.
Alguna idea?
Saludos :)
y... perdón por mi ignorancia.  :silbar:

También, si se llega a insertar un char en el precio, el programa se bugea, como evito eso?
76  Programación / Java / Re: [Aporte] Mi primer programa java en: 23 Octubre 2018, 01:32 am
disculpa tienes el el archivo de tu programa
me lo puedes mandar a mi correo, mi correo es: joejos2805@gmail.com
te lo agredeceria gracias 
el mensaje tiene como 4 años inactivo... no te has leído las reglas del foro???
y el usuario no se ha conectado desde el febrero de 2015...
77  Programación / Programación C/C++ / Re: Dudas con C++ en: 23 Octubre 2018, 01:13 am
1,2,3: Cuando sea necesario
4: Con la funcion tolower(letra) de la libreria ctype.h o puedes crear tu propia funcion para eso;
Gracias, pero pregunto en que situaciones es necesario... xD
78  Programación / Programación C/C++ / Dudas con C++ en: 22 Octubre 2018, 23:36 pm
Buenas, tengo un par de dudas con C++ que necesitan un poco de aclaración.
1: unsigned
He visto en algunos códigos que algunas variables tienen un unsigned antes de declarar el tipo de dato.
Por lo que se unsigned es que no tenga signo (vaya), a si que un integer regular tendría un rango de -2147483648 al 2147483647 y un unsigned de 0 al 4294967295.
Pero para que se utilizan? En que momento se utilizan? No solo lo he visto en integers, si no en chars también.

2: std::string o char[]
En C un string se declara usando char[], pero en C++ usando std::string.
He visto códigos de C++ usando char[], pero para operar con ellos se usaba cstring.
Cúal de los dos debo usar en C++?

3: Cuando se deben usar los punteros?
Se que los punteros son variables que usan la misma dirección de memoria que otra variable y que si esta otra variable cambia, la variable puntero también cambia.
Pero en que ocasiones de deben usar, y que utilidades prestan?

4: Como puedo convertir un std::string a minúscula?
Saludos.  :)
79  Programación / Scripting / Re: [PYTHON]Ejecutar Python en otros equipos. en: 21 Octubre 2018, 22:40 pm
Si, PyInstaller se encarga de todo eso, no debería por que fallarte.
Ojo, PyInstaller crea un montón de carpetas y archivos.
ejecuta:
Código
  1. pyinstaller --onefile scriptprincipal.py
  2.  
De ahí te genera una carpeta llamada dist, ahí está el .exe generado
80  Programación / Programación C/C++ / Re: funcion gotoxy en: 21 Octubre 2018, 22:29 pm
Bueno, en tu código no hay ninguna llamada a system("pause")
Estas compilando desde el IDE? Si es así, por eso te aparece el mensaje de Presione un tecla...
Pero si lo ejecutas desde la terminal no aparecerá.
Y una recomendación:
Código
  1. if(arbol == NULL){
  2. return;
  3. }
  4. X += 5;
  5. mostrar(arbol-> izq, Y + 2);
  6. gotoxy(10 + X - Y, 15 + Y);
  7. cout << arbol -> dato << endl;
  8. mostrar(arbol -> der, Y + 2);
  9.  
No aglutines los operadores con lo demás, hace que el código sea mas difícil de leer, y se ve feo...
Saludos
y respondiendo eso de que el mensaje ese no se queda en un lugar fijo es por que el mensaje se imprime en el ultimo lugar dónde posicionaste el cursor con gotoxy
Páginas: 1 2 3 4 5 6 7 [8] 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines