me gustaria que me dijeran como va este proyecto en visual c++

Iniciado por eduardo17445, 19 Junio 2012, 22:43 PM

0 Miembros y 1 Visitante están viendo este tema.

eduardo17445


UGMA - Universidad Gran Mariscal de Ayacucho
PROGRAMACIÓN II
Profesor: Othswaid Perdomo.
Proyecto (Simulación de Supermercado)
Puerto Ordaz, 22 de mayo de 2012.
Descripción del problema.
Un importante supermercado necesita su ayuda para desarrollar una simulación del
comportamiento de sus clientes y cajeros, lo que le permitirá tomar decisiones para mejorar
el servicio que presta.
Al supermercado le interesa obtener datos respecto al tiempo promedio que esperan los
clientes en la caja, y quiere a su vez dar los primeros pasos en la dirección de implementar un
completo sistema de control financiero y de inventario.
Para esto, Usted debe implementar una simulación del comportamiento de los clientes en el
supermercado, empezando con la selección de los productos que van a comprar, y eligiendo
una caja en la cual pagar. Asimismo, el simulador debe llevar registro de las boletas
generadas a cada cliente de modo que se puedan conocer datos como el producto más
vendido en un día, el monto vendido por cada caja, y el monto total vendido por el
supermercado.
La lista de los productos disponibles en el supermercado se encuentra en un archivo de texto
en el que en cada línea aparece el código del producto, su descripción y su precio unitario
(opcional).
Cada cliente generado debe simular aleatoriamente la selección de los productos (tipo y
cantidad) que va a comprar. Estos productos los llevará a la caja de su elección para proceder
al pago. Los clientes eligen la caja con la cola más corta.
Durante el proceso de cobro, el cajero construye una boleta con el detalle de los productos
comprados, y el monto total a pagar. Estas boletas son acumuladas en la caja para poder
generar reportes posteriormente.
En esta tarea Ud. debe formar un equipo de trabajo con máximo 3 integrantes e implementar
un programa en C++ que satisfaga los requerimientos del supermercado.
Co nsideraciones especiales:
1. Los Clientes se pueden cambiar de caja, si la caja del lado derecho o izquierdo tiene
menos carritos que en la caja donde está ubicado.
2. Los valores tales como: selección del producto, cantidad de productos, tiempo de un
nuevo cliente y tiempo de permanencia del cliente en la caja serán generados
aleatoriamente.
3. El supermercado tiene 8 cajas, las cuales al iniciar el día se abren solo las requeridas por
el dueño.
4. El supermercado siempre debe tener abierta en todo momento una caja rápida y una caja
normal.
5. La caja rápida solo atenderá a clientes con un número de productos no mayor a 6.
Página 1 de 2
UGMA - Universidad Gran Mariscal de Ayacucho
PROGRAMACIÓN II
Profesor: Othswaid Perdomo.
Proyecto (Simulación de Supermercado)
6. Los clientes se pueden cambiar a una caja rápida, si y solo si, no haya clientes que
cumplan con la consideración anterior.
7. Los valores de cada cliente, tales como: cantidad de productos, tiempo de permanencia
en la cola deben ser visualizado en todo momento, así como también el TIMER o RELOJ de
la simulación.
Los informes de avance que Usted debe entregar para la evaluación de este sistema deben
tener la siguiente estructura:
1era. Entrega (07/06/2012).
- Análisis detallado del problema.
- Definición y detalle de los datos a utilizar.
- Definición y detalle de las clases a utilizar.
- Prototipo de interfaz del programa.
2da. Entrega (Última semana del semestre).
- Correcciones de la 1era. entrega.
- Pantallas definitivas del programa.
- Código fuente.
- Revisión de la implementación de los requerimientos solicitados en el programa.
La 2da. Entrega del proyecto debe suministrarse en formato electrónico grabado en CD o
DVD.
Página 2 de 2


#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <string.h>
using namespace std;
class producto{
   double codigo;
     char nombre;
     double precio;
   public:
   void codigo();
   void nombre();
   void precio();
};
void producto::codigo_precio()
{
   cout<<"ingresar codigo";
   cin>>codigo;
    cout<<"ingresar precio";
   cin>>precio;
}
   void producto::nombre()
   {
     cout<<"ingresar nombre";
    cin>>nombre;
   }
   class clientes_cajas{
      
      int info,posi,*lista_clientes,nodo,sig,aux,null,nuevo;
      public:
      void insertar lista_cajascajas();
      void imprimir ();
      void eliminar();
      void liberar();
      void insertar lista_clientes();
      void imprimir();
      void eliminar();
      void liberar();
   };
   void clientes_cajas::lista_de_cajas
   {
      if(posi==0||*lista_cajas==null)
      {
         nuevo->sig=*lista_cajas;
         *lista_cajas=nuevo;
      }
      else
         nodo*aux=*lista_cajas;
      while(posi>1 && aux && aux->sig)
         {
         posi--;
         aux=aux->sig;
      }
         nuevo->sig=aux->sig;
         aux->sig=nuevo;
    }
}
void clientes_cajas::eliminar()
{
if(posi==0&&*lista_cajas)
   {
      nodo*aux=*lista_cajas;
      *lista_cajas=aux->sig;
      free(aux);
   }
   else
   {
      nodo*aux=*lista_cajas;
      
      while(aux&&pos>1)
      {
         posi--;
         aux=aux->sig;
      }
      
      if(aux&&aux->sig)
      {
         nodo*elim=aux->sig;
         aux->sig=elim->sig;
         free(elim);
      }
   }
}
void clientes_cajas::imprimir()
{    int lista_clientes;
 
   while(lista_clientes)
   {
      printf("%d ",lista_clientes->info);
      lista_clientes=lista_clientes->sig;
   }
}
void clientes_cajas::liberar()
{
   while(lista_clientes)
   {
      printf("%d ",lista_cajas->info);
      lista_cajas=lista_cajas->sig;
   }
}
void clientes_cajas::lista_clientes()
{
   if(posi==0||*lista_clientes==null)
      {
         nuevo->sig=*lista_clientes;
         *lista=nuevo;
      }
      else
         nodo*aux=*lista_clientes;
      while(posi->1 && aux && aux->sig)
        {
         posi--;
         aux=aux->sig;
      }
         nuevo->sig=aux->sig;
         aux->sig=nuevo;
    }
void clientes_cajas::eliminar()
{  int elim;
  if(posi==0&&*lista_clientes)
  {
      nodo*aux=*lista_clientes;
      *lista_clientes=aux->sig;
      free(aux);
   }
   else
      nodo*aux=*lista_clientes;
      
      while(aux&&posi>1)
      {
         posi--;
         aux=aux->sig;
      }
      
      if(aux&&aux->sig)
      {
         nodo*elim=aux->sig;
         aux->sig=elim->sig;
         free(elim);
      }
   }