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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 ... 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 [130] 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 ... 161
1291  Programación / Programación C/C++ / Re: AYUDA!! Práctica universidad c++ en: 26 Abril 2016, 16:49 pm
Estupendo.
Ahora tienes que resolver dos cosas:
1. Como recibes un coche y lo despachas en 10 minutos, al siguiente turno, no hay nunca una cola llena. Puedes hacer que un vehículo tarde, almenos 20 minutos (2 turnos en ser despachado) o, mejor aun, que cada tipo de vehículos tenga un tiempo diferente.

2. Prescindir de queue y hacerlo todo a mano como has aprendido.

Una cosa más. Cuando insertes código selecciónalo, ve al desplegable GeSHi y selecciona el lenguaje con que lo has escrito. Debería rodearse entre dos etiquetas BBS [code=cpp] y [/code] (también puedes escribirlas a mano).
1292  Programación / Programación C/C++ / Re: AYUDA!! Práctica universidad c++ en: 26 Abril 2016, 14:09 pm
No deja implementar librerías de colas,  porqué tendrás que hacerlas tú, pero las otras seguro que sí.
Crea un struct, o clase, que pueda guardar los datos que han dicho y prepárala para que sea un miembro de una cola.
Crea 4 punteros diferentes para soportar sendas colas. Si ya has trabajado con ellas no será difícil manejarlas.
En main genera un número aleatorio entre el 0 y el 3 a.i. y según lo que salga generas un vehículo u otro  y lo encolas. Al mismo tiempo liberas el último elemento de una de las colas, por ejemplo el vehículo que más tiempo lleva esperando.
Mediante funciones time haces un segundo de espera y repites todo el proceso.
1293  Programación / Programación C/C++ / Re: AYUDA C++ en: 26 Abril 2016, 02:04 am
Podría poner una opción para salir si no se quisiera marcar un fabricante o uno de los productos en posterioridad. Pero ya es muy tarde, las 2 de la mañana  :laugh:.
Eso sí, el programa te dejará seguir si eliges una opción correcta.
1294  Programación / Programación C/C++ / Re: AYUDA C++ en: 26 Abril 2016, 01:45 am
No es infinito. Pruébalo :)
1295  Programación / Programación C/C++ / Re: AYUDA C++ en: 26 Abril 2016, 01:35 am
No entiendo esa afirmación :-(
1296  Programación / Programación C/C++ / Re: Reemplazar la función free por una propia. en: 26 Abril 2016, 01:34 am
La cosa es que si intentas acceder a un puntero liberado por free, pero que no se ha llevado a NULL, nadie se va a quejar y el programa puede seguir corriendo y puedes ver los efectos de una cascada de errores más adelante, difícil de depurar si el error se ha ido transmitiendo bastante lejos. Pero si llevas a NULL el puntero, al siguiente acceso que hagas a él para escribir te tirará error con lo que ya sabrás que ese puntero se ha liberado antes de lo previsto, así puedes localizar el error con más precisión.
1297  Programación / Programación C/C++ / Re: Problema accediendo a puntero de matriz bidimensional, ¿Como hago esto....? en: 26 Abril 2016, 01:22 am
Y digo yo: y si en vez de usar malloc y después un for para recorrer la tabla y ponerla a 0, ¿porqué no usas calloc y haces todo el trabajo de una tacada?
1298  Programación / Programación C/C++ / Re: Reemplazar la función free por una propia. en: 26 Abril 2016, 01:10 am
En verdad C es de por sí inseguro y solo le interesa la velocidad y la libertad del programador. A parte del ensamblador es, seguramente, el lenguaje más libre_de_hacer_lo_que_quieras que haya circulando por el mundo.
Es como un gran muscle car sin control de derrape, ni abs, ni de tracción activa: o eres un buen piloto o no le sacas todo el partido al coche o, peor aún, te estrellas.
1299  Programación / Programación C/C++ / Re: AYUDA C++ en: 26 Abril 2016, 01:03 am
Lástima que el trabajo sea en C++, porqué sé muy poco de ese lenguaje, pero aquí te enseño un código en C el cuál tienes los datos separados de la lógica, una función menú genérica y un main limpio.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4.  
  5. /* Estas tablas facilitan los posteriores cambios en las opciones */
  6. /* En las opciones de menú poner siempre al final un NULL, ya que
  7.  * es lo que espera la función para trabajar con estos argumentos.
  8.  */
  9. const char *fabricantes[] = {"Microsoft", "Apple", "Linux", NULL};
  10. const char *productos[] = {"Sistema operativo", "Lenguaje de programación", NULL};
  11. const char *dispositivo[] = {"Celulares", "Tablas", "Otros", NULL};
  12.  
  13. const int precios_microsoft[] = {
  14.            /* Sistema operativo */ 1500,
  15.            /* Lenguaje de Programación */
  16.            /*    Celulares */      1800,
  17.            /*    Tablas    */      1200,
  18.            /*    Otros     */       900};
  19.  
  20. const int precios_apple[] = {
  21.            /* Sistema operativo */ 2500,
  22.            /* Lenguaje de Programación */
  23.            /*    Celulares */      1900,
  24.            /*    Tablas    */      1800,
  25.            /*    Otros     */      1600};
  26.  
  27. const int precios_linux[] = {
  28.            /* Sistema operativo */ 1000,
  29.            /* Lenguaje de Programación */
  30.            /*    Celulares */       100,
  31.            /*    Tablas    */       150,
  32.            /*    Otros     */        50};
  33.  
  34. int menu(const char *titulo, const char *empresa, const char **opciones) {
  35.    int i = 0;
  36.    int respuesta;
  37.  
  38.    do {
  39.        /* Imprimiendo el título del menú */
  40.        printf("%s ", titulo);
  41.        if(empresa)
  42.            printf("%s", empresa);
  43.        printf(":\n\n");
  44.        /* Imprimiendo opciones del menú */
  45.        while(opciones[i] != NULL) {
  46.            printf("    %2i. %s\n", i + 1, opciones[i]);
  47.            ++i;
  48.        }
  49.        --i;
  50.        /* Adquiriendo la opción deseada */
  51.        printf("\n    Opcion >> ");
  52.        respuesta = getchar();
  53.        /* Control de errores de la entrada por teclado */
  54.        while(getchar() != '\n');
  55.        if(isdigit(respuesta))
  56.            respuesta -= '0' + 1;
  57.        else
  58.            respuesta = -1;
  59.        if(respuesta > i)
  60.            respuesta = -1;
  61.        if(respuesta == -1) {
  62.            i = 0;
  63.            printf("*** OPCION INCORRECTA ***\n");
  64.            while(getchar() != '\n');
  65.        }
  66.    } while(respuesta == -1);
  67.  
  68.    /* Un poco bonito, que también puede formar parte del menú... */
  69.    putchar('\n');
  70.  
  71.    /* Devuelvo la opción elegida */
  72.    return respuesta;
  73. }
  74.  
  75. int main() {
  76.    int respuesta;
  77.    const char *fabricante;
  78.    const int *lista_de_precios;
  79.  
  80.    respuesta = menu("Elija fabricante", NULL, fabricantes);
  81.    fabricante = fabricantes[respuesta];
  82.    switch(respuesta) {
  83.        case 0:
  84.            lista_de_precios = precios_microsoft;
  85.            break;
  86.        case 1:
  87.            lista_de_precios = precios_apple;
  88.            break;
  89.        case 2:
  90.            lista_de_precios = precios_linux;
  91.            break;
  92.    }
  93.  
  94.    respuesta = menu("Elija el producto de", fabricante, productos);
  95.  
  96.    if(respuesta == 1)
  97.        respuesta = menu("Elija el dispositivo de", fabricante, dispositivo) + 1;
  98.  
  99.    printf("El precio del producto es: %i", lista_de_precios[respuesta]);
  100.  
  101.    return 0;
  102. }
1300  Programación / Programación C/C++ / Re: Programando Arreglos en: 25 Abril 2016, 18:24 pm
C++ y C a partir del estándar del 99 sí se puede declarar el array con variables.
Páginas: 1 ... 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 [130] 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 ... 161
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines