/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

simulacion de cajero de supermercado en c++..Urgentee!!!!!!!

 
      Índice del Foro elrincondelc.com -> Trabajos de clase
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
sponky09



Registrado: 12 Dic 2008
Mensajes: 3

MensajePublicado: 12/12/2008 7:46 am
Título: simulacion de cajero de supermercado en c++..Urgentee!!!!!!!

hola me han puesto a hacer un programa en c++ con lo siguinte

un supermercado quiere simular una caja los tiempos de atencion al cliente a la hora de pasar por caja, los supuestos de que se parte para la simulacion son:

1-los clientes forman una unica fia. si alguno coja esta libre el rimer cliente de la fila es atendido. en caso de que haya mas de una caja libre la eleccion del numero de caja por parte del cliente es aleatoria.

2-el numero de cajas de que se dispone para la atencion a los clientes es 3 cajas salvo que hayan mas de 20 personas esperando en la fila, enotnces se habiliata una caja numero 4,este se cierra cuando no quedan mas clientes esperando en la fila. el tiempo de atencion de cada una de las cajas esta distribuido uniformemente la caja 1entre 1.5 y 2.5, la 2 entre 2 y 5, la 3 entre 2 y 4 minutos. la caja 4 2 y 4.5.

3- los clientes los clientes llegan a la salida en inteervalos de tiempos distribuidos uniformormemente, con un tiempo medio de 1 minuto.

esto se hace para 7 horas de trabajo, se desea obtener una estadistica con los siguinetes datos

-clientes atendidos durante la simulacion
-tamaño medio de la fila de clientes
-tamaño maxio de la fila de cliente
-espera maxima de espera de los clientes
-tiempo en que esta abierto la 4ta cja



esoty jodido asi que si me pueden ayudar,por favor
Volver arriba
Matteo



Registrado: 14 Nov 2008
Mensajes: 43
Ubicación: Argentina - Entre Rios

MensajePublicado: 16/12/2008 3:32 am
Título:

Postea el codigo que tenes aver si podemos ayudarte.
Que alguien te haga todo es poco probable
Volver arriba
sponky09



Registrado: 12 Dic 2008
Mensajes: 3

MensajePublicado: 16/12/2008 7:15 am
Título:

esto es lo que tengo hasta ahora



#include<conio.h>
#include<stdio.h>
#include<string.h>

template<class T>
class Nodo
{
private :
T dato;
Nodo<T> *siguiente ;
Nodo<T> *anterior ;
public :
Nodo(T adato , Nodo<T> *sig = 0,Nodo<T> *ant = 0 )
{
dato = adato ;
siguiente = sig ;
anterior = ant ;
}
void SetSiguiente(Nodo<T> *sig)
{
siguiente = sig ;
}
void SetAnterior(Nodo<T> *ant)
{
anterior = ant ;
}
T Getdato()
{
return dato;
}
Nodo<T> *GetSiguiente()
{
return siguiente ;
}
Nodo<T> *GetAnterior()
{
return anterior ;
}
};

//Clase Lista
template <class T>
class Lista
{
private:
Nodo<T> *cima;

public :
Lista()
{
cima = 0 ;
}

bool EstaVacia()
{
return cima == 0 ;
}
int Longitud()
{
if(EstaVacia()) return 0 ;
else
{
Nodo<T> *cursor = cima ;
int cantidad = 0 ;
while(cursor != 0)
{
cantidad++;
cursor = cursor->GetSiguiente();
}
return cantidad ;
}
}
}

//Funci¢n Para Inicializar la Cola de Longitud Parametrizada //

void Insertar(int longitud)
{
int pos,tam=longitud;
char data ;
if(pos > 0 && pos <= tam)
{
for(pos = 1 ; pos >= tam ; pos++)
{
Nodo<T> *nodo = new Nodo<T>(data, 0 , 0)
if (pos = 1)
{
nodo->SetSiguiente(cima);
cima->GetSiguiente()->SetAnterior(nodo);
cima = nodo ;
}
else
{
Nodo<T> *cursor = cima ;
int pos_cursor = 1 ;
while(cursor->GetSiguiente() != 0 && pos_cursor + 1 != pos)
{
cursor = cursor->GetSiguiente();
pos_cursor++ ;
}
nodo->SetSiguiente(cursor->GetSiguiente());
nodo->SetAnterior(cursor);
cursor->GetSiguiente()->SetAnterior(nodo);
cursor->SetSiguiente(nodo);
}
};
};
};

//Funci¢n Para Sacar de Cola al Cliente va a ser Atendido//

void Eliminar(int pos)
{
if(pos>0 && pos<= Longitud())
{
if(Longitud() == 1) delete [] cima ;
else
if(pos == 1)
{
Nodo<T> *temp = cima->GetSiguiente();
delete[]cima ;
cima = temp ;
cima->SetAnterior(0);
}
else
{
Nodo<T> *cursor = cima;
int pos_cursor = 1 ;
while(cursor->GetSiguiente()!= 0 && pos_cursor+1 != pos)
{
cursor = cursor->GetSiguiente();
pos_cursor++ ;
}
Nodo<T> *temp = cursor->GetSiguiente();
cursor->SetSiguiente(temp->GetSiguiente());
cursor->GetSiguiente()->SetAnterior(cursor);
delete []temp;
}
}
else
throw CErrorPosicionExceptions();
}

//Programa Principal//

void main()
{
int tamfila;
clrscr();
printf("Favor ingresar el tama¤o de la fila:");
scanf("%d",&tamfila);
void Insertar(int tamfila);
getch();
if ( tamfila > 20)
printf("Hay 4 cajas habilitadas");
else
{
if (tamfila >= 3)
printf("Hay 3 cajas habilitadas");
else
printf("hay",%d,"cajas habilitadas",&tamfila);
};
}
Volver arriba
Matteo



Registrado: 14 Nov 2008
Mensajes: 43
Ubicación: Argentina - Entre Rios

MensajePublicado: 16/12/2008 3:04 pm
Título:

No soy el indicado para ayudarte porq no tengo buen manejo de los templates, pero a simple vista tiene errores como la declaracion de las funciones y uno que otro de sintaxis que corregi, depaso lo dejo aca por si alguien mas quiere ayudar esta ordenado (acordate de usar la etiqueta Code):
Código:
#include<conio.h>
#include<stdio.h>
#include<string.h>

template<class T>
class Nodo {
    private :
        T dato;
        Nodo<T> *siguiente ;
        Nodo<T> *anterior ;
    public :
        Nodo(T adato , Nodo<T> *sig = 0,Nodo<T> *ant = 0 ) {
            dato = adato ;
            siguiente = sig ;
            anterior = ant ;
        }
        void SetSiguiente(Nodo<T> *sig) {
            siguiente = sig ;
            }
        void SetAnterior(Nodo<T> *ant) {
            anterior = ant ;
        }
        T Getdato() {
           return dato;
        }
        Nodo<T> *GetSiguiente() {
           return siguiente ;
        }
        Nodo<T> *GetAnterior() {
           return anterior ;
        }
};

//Clase Lista
template <class T>
class Lista
{
    private:
        Nodo<T> *cima;
   
    public :
        Lista()
        {
          cima = 0 ;
        }
       
        bool EstaVacia()
        {
          return cima == 0 ;
        }
        int Longitud()
        {
          if(EstaVacia()) return 0 ;
          else
          {
            Nodo<T> *cursor = cima ;
            int cantidad = 0 ;
            while(cursor != 0)
            {
                cantidad++;
                cursor = cursor->GetSiguiente();
            }
            return cantidad ;
          }
        }
};

//Funci¢n Para Inicializar la Cola de Longitud Parametrizada //

void Insertar(int longitud);


//Funci¢n Para Sacar de Cola al Cliente va a ser Atendido//

void Eliminar(int pos);


//////////////////Programa Principal////////////////////////

int main()
{
  int tamfila;
  //clrscr();
  printf("Favor ingresar el tama¤o de la fila:");
  scanf("%d",&tamfila);
  void Insertar(int tamfila);
  getch();
  if ( tamfila > 20)
  printf("Hay 4 cajas habilitadas");
  else
  {
  if (tamfila >= 3)
  printf("Hay 3 cajas habilitadas");
  else
       printf("hay %d cajas habilitadas",&tamfila);
  };
}

////////////////////EOM//////////////////////////////
/////////////////////////////////////////////////////

void Insertar(int longitud)
{
    int pos,tam=longitud;
    char data ;
    if(pos > 0 && pos <= tam)
        {
            for(pos = 1 ; pos >= tam ; pos++)
            {
                Nodo<T> *nodo = new Nodo<T>(data, 0 , 0)
                if (pos = 1)
                {
                    nodo->SetSiguiente(cima);
                    cima->GetSiguiente()->SetAnterior(nodo);
                    cima = nodo ;
                }
                else
                {
                    Nodo<T> *cursor = cima ;
                    int pos_cursor = 1 ;
                    while(cursor->GetSiguiente() != 0 && pos_cursor + 1 != pos)
                    {
                        cursor = cursor->GetSiguiente();
                        pos_cursor++ ;
                    }
                    nodo->SetSiguiente(cursor->GetSiguiente());
                    nodo->SetAnterior(cursor);
                    cursor->GetSiguiente()->SetAnterior(nodo);
                    cursor->SetSiguiente(nodo);
                }
            };
        };
};

void Eliminar(int pos)
{
    if(pos>0 && pos<= Longitud())
    {
        if(Longitud() == 1) delete [] cima ;
        else
        if(pos == 1)
        {
            Nodo<T> *temp = cima->GetSiguiente();
            delete[]cima ;
            cima = temp ;
            cima->SetAnterior(0);
        }
        else
        {
            Nodo<T> *cursor = cima;
            int pos_cursor = 1 ;
            while(cursor->GetSiguiente()!= 0 && pos_cursor+1 != pos)
            {
                cursor = cursor->GetSiguiente();
                pos_cursor++ ;
            }
            Nodo<T> *temp = cursor->GetSiguiente();
            cursor->SetSiguiente(temp->GetSiguiente());
            cursor->GetSiguiente()->SetAnterior(cursor);
            delete []temp;
        }
    }
    else
    throw CErrorPosicionExceptions();
}
Volver arriba
sponky09



Registrado: 12 Dic 2008
Mensajes: 3

MensajePublicado: 18/12/2008 8:15 am
Título:

hellp me please aunque no sea con templates, es para mañana Confused
Volver arriba
      Índice del Foro elrincondelc.com -> Trabajos de clase
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com