• Viernes 8 de Noviembre de 2024, 19:45

Autor Tema:  Ayuda Por Favor. No Se Como Hacer Esto!!!!!!  (Leído 2709 veces)

Apendiz

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Ayuda Por Favor. No Se Como Hacer Esto!!!!!!
« en: Martes 6 de Marzo de 2007, 16:32 »
0
:huh:  por favor necesito ayuda amigos programadores.
Tengo un problema con un trabajo de asignacion en la Universidad , es un programa en C++, el problema es que en  mi vida e visto C++ y no se ni como hacerlo, e pasado mas tiempo leyendo libros tratando de aprender solo, pero se me hace un poco complicado , por lo cual no e podido avanzar en el proyecto y estoy tallado con el tiempo por el tarabajo, agradeceria si alguien me puede ayudar a realizar este proyecto.

este es el enunciado del trabajo:

El Banco Internacional Safe Money es un consolidada institución bancaria de capital extranjero. Ha incursionado en el mercado financiero nacional y se ha impuesto como misión el ofrecer un excelente servicio a sus clientes.

Como parte de su apertura y para lograr su objetivo, ha decidido contratarle a usted para la implementación de un sistema que permita controlar, mediante la utilización de distintos vectores y colas, el acceso de los clientes a cada una de sus cajas.

El Banco dispone de 5 cajas para la atención a sus clientes, los cuales mientras son atendidos esperan en una cola,

Por seguridad, el Banco ha dispuesto que en la cola de espera no se encuentren más de 20 personas

Cuando una persona abandona una de las cajas, la primera en la cola, tomará su lugar. Asimismo, cuando una persona abandona la cola, ya sea, porque es atendida en caja, o porque no puede esperar más y debe irse, el sistema deberá volver la posición en la cola como desocupada. De esta manera, podrá ingresar otra persona al Banco.

Como un valor agregado al sistema, usted podrá programar que un cliente no pueda permanecer más de un minuto en las cajas.

No podrá realizar el cierre del Banco, si algún cliente está en cajas o se encuentra en la cola de espera.

AnioN

  • Miembro MUY activo
  • ***
  • Mensajes: 339
    • Ver Perfil
Re: Ayuda Por Favor. No Se Como Hacer Esto!!!!!!
« Respuesta #1 en: Martes 6 de Marzo de 2007, 20:11 »
0
no lo veo demasiado complicado como para que no lo puedas resolver. Al menos postea lo que hiciste hasta ahora y te podremos orientar.

Bicholey

  • Moderador
  • ******
  • Mensajes: 1234
    • Ver Perfil
Re: Ayuda Por Favor. No Se Como Hacer Esto!!!!!!
« Respuesta #2 en: Martes 6 de Marzo de 2007, 21:05 »
0
:P  :P  :P  :P

Y bien que es lo que deseas ?

Que te hagamos la tarea, mmm pues no
os recomendaria buscar sobre pilas , colas o listas y ya con dudas màs especificas os podremos ayudar, vamos tìo ya dejad esa boludez y ponte a trabajar...
[size=109]LOS GATOS SIEMPRE CAEMOS DE PIE !!![/size]


Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Ayuda Por Favor. No Se Como Hacer Esto!!!!!!
« Respuesta #3 en: Martes 6 de Marzo de 2007, 23:26 »
0
Cita de: "Apendiz"
Tengo un problema con un trabajo de asignacion en la Universidad , es un programa en C++, el problema es que en  mi vida e visto C++ y no se ni como hacerlo
O lo que es lo mismo, ahorita les pongo mi tarea y me la hacen ¿no?
La imaginación es el límite.
Hardware & Software | Mexchip

Apendiz

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Ayuda Por Favor. No Se Como Hacer Esto!!!!!!
« Respuesta #4 en: Viernes 9 de Marzo de 2007, 17:29 »
0
:angry:   No, No señores estan equivocados.   :angry:
  No jueguen de saviondos y dejen el sarcasmo con esas respuestas gente, solo por que saben mucho no significa que tienen que responder asi , yo ya conosco esta pagina y el foro y se perfectamente que no se hacen tareas a nadie, yo estoy haciendola y no necesito que me la hagan lo que pasa como explique, es que mi conocimiento en C++ es uy poco y hay procesos dentro del programa que no se como realizarlos , por eso es que puse todo el enunciado en el mensaje para que se dieran una idea de como es el trabajo y me puedan ayudar de forma efectiva.

Hay dos proceso que no se como hacerlos si alguien me ayuda se lo agradeceria, cuando una persona pasa a caja tiene un tiempo de atencion , osea es atendido por un  maximo de 1 minuto y despues pasa la otra , como podria hacer eso??? me mencinaron que se puede hacer con una matriz con tiempo pero no se como seria eso. El otro procedimiento que no se como seria es el de darle un tiempo de atancion al programa, como dice en el enunciado el banco deja de atender a una hora X como hacer para que el programa cierre a esa hora y que de igual manera si hay todavia personas en fila a esa hora X que no cierre hasta que termine de atenderlos.

                                      gracias por su ayuda y tiempo.......... :D

AnioN

  • Miembro MUY activo
  • ***
  • Mensajes: 339
    • Ver Perfil
Re: Ayuda Por Favor. No Se Como Hacer Esto!!!!!!
« Respuesta #5 en: Viernes 9 de Marzo de 2007, 18:03 »
0
postea el codigo que tenes hasta ahora.

Bicholey

  • Moderador
  • ******
  • Mensajes: 1234
    • Ver Perfil
Re: Ayuda Por Favor. No Se Como Hacer Esto!!!!!!
« Respuesta #6 en: Viernes 9 de Marzo de 2007, 18:42 »
0
:P  :P  :P


mmm es una emulacion o es un sistema que correra sobre varias pc's y que cada pc funcionara como cajero y les dara 1 minuto para atender el cliente etc etc ...
????????????
[size=109]LOS GATOS SIEMPRE CAEMOS DE PIE !!![/size]


Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Ayuda Por Favor. No Se Como Hacer Esto!!!!!!
« Respuesta #7 en: Sábado 10 de Marzo de 2007, 00:57 »
0
Es una simulación, yo lo hice una vez en la facu cuando estábamos viendo teoría de cola en la materia Simulación.-

Deberías buscar el algoritmo en algún buscador, una vez que lo tengas no es tan difícil hacerlo.-

Saludos
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Apendiz

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Ayuda Por Favor. No Se Como Hacer Esto!!!!!!
« Respuesta #8 en: Sábado 10 de Marzo de 2007, 02:22 »
0
Es solo una emulacion en una computadora; se deben de emular las filas y como van  siendo atendidas las personas , las personas que van llegando a las filas son clientes que uno ingresa con una opcion de menu nisiquiera tiene que mostrarse graficamente solo simularse, son 5 filas y caben 20 personas por fila, si alguna persona de alguna de las filas se marcha la persona detras de ella debe de tomar su lugar, se que es con un vector y hay que irlo recorriendo para que cada vez que alguien salga y quede una posicion en el vector vacio lo reacomode.
Apenas tenga algo decente para postear y que e ayuden lo haré.


                                Gracias de nuevo..........

Apendiz

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Ayuda Por Favor. No Se Como Hacer Esto!!!!!!
« Respuesta #9 en: Sábado 10 de Marzo de 2007, 06:57 »
0
esto es lo que e hecho hasta el momento, me hace falta unos procedimientos y me esta dando hasta el momento 5 errores de los cuales uno no lo logro identificar e da un error en el while de cierre de la sentencia SWITCH:
les agradeceria cualquier ayuda que me puedan dar tomando en cuenta lo que dice en el enunciado del primer mensaje que puse, muchas gracias de nuevo.

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
int i;
char cola[20];
char cola2[20];
char cajas[5];
int frente,fin;
void imprimir_cola();
void ingresar_cola();
void ingresar_caja();
void pasarc_cola();
void abandonar_cola();
void cerrar_cola();
void cerrarb();
void eliminar_cola();

void main()
{
 frente=-1;
 fin=-1;

 char opcion;
 int c;
 for(c=0;c<=19;c++)
 {
    cola[c]=' ';
 }

do
{
  clrscr();
  gotoxy(10,4);cout<<"Elija una Opcion";
  gotoxy(10,6);cout<<"'1'. Ingresar a cola";
  gotoxy(10,8);cout<<"'2'. Ingresar a caja";
  gotoxy(10,10);cout<<"'3'. Abandonar cola";
  gotoxy(10,12);cout<<"'4'. Cerrar cajas";
  gotoxy(10,14);cout<<"'5'. Cerrar Banco";
  gotoxy(10,16);cout<<"'6'. Salir";
  gotoxy(10,18);cout<<"Su opcion es [ ]";
  gotoxy(2,20);cout<<"Solo podra introducir datos de un solo caracter alfanumericos, simbolos, etc";
  gotoxy(24,12);cin>>opcion;
   switch(opcion){
    case '1':
     {
      ingresar_cola();
      imprimir_cola();
     }
    break;

    case '2':
    {
     ingresar_caja();
     }
    break;

    case '3':
     {
      abandonar_cola();
      }
    break;

    case '4':
     {
      cerrar_cola();
     }
    break;
    case '5':
     {
      cerrarb();
    break;
    }
}while((opcion!='6'));
}

void imprimir_cola()
{
int c;
int cc;
cc=10;
gotoxy(10,3);cout<<"Posiciones de arreglo";
gotoxy(10,5);cout<<"-----------------------------------------------------------";
for(c=0;c<20;c++)
{
gotoxy(cc,4);cout<<c;
gotoxy(cc,6);cout<<cola[c];
cc+=3;
}
gotoxy(10,8);cout<<"Datos en el arreglo";
gotoxy(10,10);cout<<"Pulse cualquier tecla para continuar";
getch();
}

void ingresar_cola(){
char ldato;
clrscr();
 if (fin < 19)
 {
    fin=fin+1;
    gotoxy(10,2);
    cout<<"Dato a introducir ";
    cin>>ldato;
    cola[fin]=ldato;
      if (fin== 0)
      {
   frente=0;
       }
 }
 else
 {
    cout<<"La cola esta llena";
 }
}

void abandonar_cola()
{
 char temp;
 clrscr();
  if (frente==-1)
  {
   gotoxy(10,2);
   cout<<"La cola esta vacia";
   }
  else
  {
   i=0;
   gotoxy(10,2);
   cout<<cola[frente]<<" Es el dato eliminado";
   getch();
   temp=cola[frente];
   cola[frente]=' ';
   while (i<=4)
    {
     if (cajas==' ')
    cajas=temp;

     i++;
    }
   if (frente == fin)
   {
    frente=-1;
    fin=-1;
   }
    else
      {
      frente+=1;
      }
  }
imprimir_cola();
}


void ingresar_caja();
{
If (fin<19)

AnioN

  • Miembro MUY activo
  • ***
  • Mensajes: 339
    • Ver Perfil
Re: Ayuda Por Favor. No Se Como Hacer Esto!!!!!!
« Respuesta #10 en: Sábado 10 de Marzo de 2007, 13:46 »
0
uno de los errores esta aca:

Código: Text
  1. void ingresar_caja();
  2. {
  3. If (fin&#60;19)
  4.  

no se que quisiste hacer pero mas o menos la estructura seria asi:

Código: Text
  1. void ingresar_caja()
  2. {
  3. if (fin&#60;19) {
  4. //aca lo que queres que hace
  5. }
  6. }
  7.  

C tanto como C++ son sensibles a las mayusculas y minusculas. El If seria if. Otro error es que la cabecera de las funciones no son sentencias, por lo tanto no terminan con ;

AnioN

  • Miembro MUY activo
  • ***
  • Mensajes: 339
    • Ver Perfil
Re: Ayuda Por Favor. No Se Como Hacer Esto!!!!!!
« Respuesta #11 en: Sábado 10 de Marzo de 2007, 13:56 »
0
No tengo mucho tiempo ahora, pero mas o menos algo pude arreglar. Otra cosa, primero trata de indentar el cidigo sino es mas dificil de leer, y segundo la el haeder stdio.h no es necesario incluirlo porque nunca lo usas. Consejo: trata siempre de evitar el uso de variables globales.
Aca esta el codigo indentado.
Código: Text
  1. #include&#60;iostream.h&#62;
  2. #include&#60;conio.h&#62;
  3.  
  4. int i;
  5. char cola[20];
  6. char cola2[20];
  7. char cajas[5];
  8. int frente,fin;
  9. void imprimir_cola();
  10. void ingresar_cola();
  11. void ingresar_caja();
  12. void pasarc_cola();
  13. void abandonar_cola();
  14. void cerrar_cola();
  15. void cerrarb();
  16. void eliminar_cola();
  17.  
  18. void main()
  19. {
  20.   frente=-1;
  21.   fin=-1;
  22.  
  23.   char opcion;
  24.   int c;
  25.  
  26.   for(c=0;c&#60;=19;c++)
  27.   {
  28.     cola[c]=' ';
  29.   }
  30.  
  31.   do
  32.   {
  33.     clrscr();
  34.     gotoxy(10,4);cout&#60;&#60;&#34;Elija una Opcion&#34;;
  35.       gotoxy(10,6);cout&#60;&#60;&#34;'1'. Ingresar a cola&#34;;
  36.     gotoxy(10,8);cout&#60;&#60;&#34;'2'. Ingresar a caja&#34;;
  37.     gotoxy(10,10);cout&#60;&#60;&#34;'3'. Abandonar cola&#34;;
  38.     gotoxy(10,12);cout&#60;&#60;&#34;'4'. Cerrar cajas&#34;;
  39.     gotoxy(10,14);cout&#60;&#60;&#34;'5'. Cerrar Banco&#34;;
  40.     gotoxy(10,16);cout&#60;&#60;&#34;'6'. Salir&#34;;
  41.     gotoxy(10,18);cout&#60;&#60;&#34;Su opcion es [ ]&#34;;
  42.     gotoxy(2,20);cout&#60;&#60;&#34;Solo podra introducir datos de un solo caracter alfanumericos, simbolos, etc&#34;;
  43.     gotoxy(24,12);cin&#62;&#62;opcion;
  44.  
  45.       switch(opcion){
  46.       case '1':
  47.         ingresar_cola();
  48.         imprimir_cola();
  49.         break;
  50.  
  51.       case '2':
  52.         ingresar_caja();
  53.         break;
  54.  
  55.       case '3':
  56.         abandonar_cola();
  57.         break;
  58.  
  59.       case '4':
  60.        // cerrar_cola();
  61.         break;
  62.  
  63.       case '5':
  64.        // cerrarb();
  65.         break;
  66.     }
  67.  
  68.   }while((opcion!='6'));
  69. }
  70.  
  71. void imprimir_cola()
  72. {
  73.   int c;
  74.   int cc = 10;
  75.  
  76.   gotoxy(10,3);cout&#60;&#60;&#34;Posiciones de arreglo&#34;;
  77.   gotoxy(10,5);cout&#60;&#60;&#34;-----------------------------------------------------------&#34;;
  78.  
  79.   for(c=0;c&#60;20;c++)
  80.   {
  81.     gotoxy(cc,4);cout&#60;&#60;c;
  82.     gotoxy(cc,6);cout&#60;&#60;cola[c];
  83.     cc+=3;
  84.   }
  85.  
  86.    gotoxy(10,8);cout&#60;&#60;&#34;Datos en el arreglo&#34;;
  87.   gotoxy(10,10);cout&#60;&#60;&#34;Pulse cualquier tecla para continuar&#34;;
  88.   getch();
  89. }
  90.  
  91. void ingresar_cola(){
  92.   char ldato;
  93.  
  94.   clrscr();
  95.   if (fin &#60; 19)
  96.   {
  97.     fin+=1;
  98.  
  99.     gotoxy(10,2);
  100.     cout&#60;&#60;&#34;Dato a introducir &#34;;
  101.     cin&#62;&#62;ldato;
  102.     cola[fin]=ldato;
  103.     if (fin== 0)
  104.     {
  105.       frente=0;
  106.     }
  107.   }
  108.   else
  109.   {
  110.     cout&#60;&#60;&#34;La cola esta llena&#34;;
  111.   }
  112. }
  113.  
  114. void abandonar_cola()
  115. {
  116.   char temp;
  117.   clrscr();
  118.  
  119.    if (frente==-1)
  120.   {
  121.     gotoxy(10,2);
  122.     cout&#60;&#60;&#34;La cola esta vacia&#34;;
  123.   }
  124.   else
  125.   {
  126.     i=0;
  127.     gotoxy(10,2);
  128.     cout&#60;&#60;cola[frente]&#60;&#60;&#34; Es el dato eliminado&#34;;
  129.     getch();
  130.     temp=cola[frente];
  131.     cola[frente]=' ';
  132.  
  133.     while (i&#60;=4)
  134.       {
  135.       if (cajas[i]==' ')
  136.       cajas[i]=temp;
  137.       i++;
  138.     }
  139.  
  140.       if (frente == fin)
  141.     {
  142.       frente=-1;
  143.       fin=-1;
  144.     }
  145.     else
  146.     {
  147.       frente+=1;
  148.     }
  149.   }
  150.   imprimir_cola();
  151.   }
  152.  
  153.  
  154. void ingresar_caja()
  155. {
  156.   if (fin&#60;19);
  157. }
  158.