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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Simulacion Banco
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Simulacion Banco  (Leído 11,083 veces)
Gerik

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Simulacion Banco
« en: 4 Octubre 2010, 04:11 am »

Este programa crea o atiende clientes (lo hace random) lo maximo a crear o atender son 4 clientes ejem;

Se crearon n clientes (los muestra)
se atendieron n clientes (borra los atendidos de acuerdo TDA Cola)

 ahora lo que intento hacer en modo grafico es mostar pero cuando intento mostrar con outtextxy (x,y,"string") siempre se sobreescribe ejem:
se crearon # clientes
# es donde se sobreescriba obviamente al llmar a la funcion
como podria borrar solo esa parte
no se si me hice entender (dejo el codigo asi es mas facil de entender lo que quiero hacer xD)


Código
  1. #include <conio.h>
  2. #include <iostream.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <time.h>
  6.  
  7. class Nodo
  8.  {Nodo *sig;
  9.   int id;
  10.   public:
  11.   Nodo()
  12.       {sig=NULL;}
  13.   Nodo(int id)
  14.       {sig=NULL;
  15.        setId(id);}
  16.   Nodo* getNodo()
  17.       {return sig;}
  18.   void setNodo(Nodo *siguiente)
  19.       {sig=siguiente;}
  20.   int getId()
  21.    {return id;}
  22.   void setId(int valor)
  23.    {id=valor;}
  24.   };
  25.  
  26. class Lista
  27.   {Nodo *inicio, *final;
  28.    int  cantidad;
  29.    public:
  30.    Lista()
  31.         {inicio=NULL;
  32.          final=NULL;
  33.          cantidad=0;}
  34.   Nodo * getinicio()
  35.       {return inicio;}
  36.   Nodo * getfinal()
  37.       {return final;}
  38.   int cantidadNodos()
  39.       {return cantidad;}
  40.   bool insertar(Nodo *nodo)
  41.       {if(inicio==NULL)
  42.          {inicio=nodo;
  43.           final=nodo;}
  44.        else
  45.          {final->setNodo(nodo);
  46.           final=nodo;}
  47.        cantidad++;
  48.        return true;}
  49.   void mostrar()
  50.       {if(inicio==NULL)
  51.          {exit;}
  52.        else
  53.          {Nodo *p;
  54.           p=inicio;
  55.           int conta=1;
  56.           int miprioridad=-1;
  57.           cout<<endl;
  58.           while(p!=NULL && conta<=cantidad)
  59.               {cout<<"C"<<p->getId()<<"\t";
  60.       p=p->getNodo();
  61.                conta++;};
  62.          }
  63.       }
  64.   void mostrarNodosDirecciones()
  65.       {if(inicio==NULL)
  66.          {exit;}
  67.        else
  68.          {Nodo *p;
  69.           p=inicio;
  70.           int conta=1;
  71.           int miprioridad=-1;
  72.           cout<<endl;
  73.           while(p!=NULL && conta<=cantidad)
  74.                {cout<<"Nodo C"<<p->getId()<<" Direccion --> "<< p <<" Nodo Sig-->  "<<p->getNodo()<<endl;
  75.        p=p->getNodo();
  76.                 conta++;};
  77.           }
  78.       }
  79.   bool eliminarNodo(int total) //cantidad de nodos a eliminar
  80.      {if(inicio==NULL ||  cantidad==0)
  81.         {cout<<"Lista vacia "<<endl;
  82.          return false;}
  83.       else
  84.         {if(total>cantidad)
  85.            {cout<<endl<<"Solo puede eliminar como maximo "<< cantidad  <<" nodos."<<endl;
  86.             return false;}
  87.             int conta=1;
  88.             Nodo *p;
  89.             p=inicio;
  90.             while(p!=NULL && total>0 && cantidad>0)
  91.               {inicio=inicio->getNodo();
  92.                   total--;
  93.                   cantidad--;
  94.                   delete p;
  95.                   p=inicio;};
  96.             if (cantidad==0)
  97.                inicio=NULL;
  98.             return true;
  99.         }
  100.      }
  101.   bool eliminarNodo()
  102.       {if(inicio==NULL || cantidad==0)
  103.           return false;
  104.        else
  105.          {Nodo *p;
  106.           p=inicio;
  107.     inicio=inicio->getNodo();
  108.           delete p;
  109.           cantidad --;
  110.           return true;}
  111.       }
  112.   };
  113.  
  114. class Simulacion
  115.  {Lista servidor;
  116.   Lista clientes;
  117.   int  codigo;
  118.   public:
  119.   Simulacion()
  120.      {codigo=0;}
  121.   generarClientes(int cantidad)
  122.      {for(int x=1;x<=cantidad;x++)
  123.    {codigo++;
  124.     Nodo *minodo=new Nodo(codigo);
  125.     clientes.insertar(minodo);}
  126.       }
  127.   int cantidadClientes()
  128.      {return clientes.cantidadNodos();}
  129.   int atenderClientes()
  130.      {int valor;
  131.       if(clientes.cantidadNodos()==0)
  132.          return 0;
  133.       valor=random(4);
  134.       clientes.eliminarNodo(valor);
  135.       return valor;
  136.      }
  137.   mostrarClientes()
  138.     {//clientes.mostrarNodosDirecciones() ;
  139.      clientes.mostrar();}
  140.   mostrarServidor()
  141.      {}
  142.   };
  143.  
  144. int main()
  145.   {Simulacion lab;
  146.    bool activo=true;
  147.    int canti=0;
  148.    randomize();
  149.    int c=0;
  150.    int turno=-1;
  151.    c=getch();
  152.    cout<<"Presione ENTER para continuar la simulacion y ESC para salir..."<<endl;
  153.    while(c!=27)
  154.         {//determinar si llegan clientes o si atienden
  155.          turno=random(2);
  156.          if(turno==1)
  157.            {//crear clientes
  158.             int cuantos=0;
  159.             cuantos=random(5);
  160.             lab.generarClientes(cuantos);
  161.             cout<<endl<<"Se crearon  "<<cuantos<<"  clientes."<<endl;
  162.             lab.mostrarClientes();}
  163.          else
  164.            {//atender clientes
  165.             canti=lab.atenderClientes();
  166.             cout<<endl<<"Cantidad a atender "<<canti<<endl;
  167.             if (canti>0)
  168.                 lab.mostrarClientes();
  169.            }
  170.          c=getch();
  171.         }
  172.  clrscr();
  173.  cout<<endl<<"El servidor no admite mas clientes..."<<endl;
  174.  if(lab.cantidadClientes()>0)
  175.    {cout<<"Clientes pendientes por atender... "<< lab.cantidadClientes() <<endl;
  176.     lab.mostrarClientes();
  177.     while(lab.cantidadClientes()>0) //si quedan clientes atenderlos
  178.      {canti=lab.atenderClientes();
  179.          cout<<endl<<"Cantidad a atender "<<canti<<endl;
  180.          lab.mostrarClientes();}
  181.     cout<<endl<<"Se atendieron todos clientes..."<<endl;
  182.    }
  183.  getch();
  184.  }
  185.  



En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: Simulacion Banco
« Respuesta #1 en: 4 Octubre 2010, 05:38 am »

Evita utilizar 'conio.h' no es del standard.


En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Simulacion Banco
« Respuesta #2 en: 4 Octubre 2010, 06:44 am »

Tampoco lo es iostream.h.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
hilos simulacion
Java
bengy 3 3,195 Último mensaje 20 Julio 2012, 07:06 am
por leogtz
Crean Banco Nacional de Cerebros
Noticias
WHK 0 1,507 Último mensaje 25 Septiembre 2012, 15:19 pm
por WHK
Duda con simulacion de un cirucito con TINA / EDISON 4
Electrónica
dito3 2 3,404 Último mensaje 30 Marzo 2013, 18:20 pm
por Firos
Ayuda banco del tiempo
Desarrollo Web
txus93 0 1,711 Último mensaje 21 Noviembre 2013, 00:58 am
por txus93
pagina de geo simulacion
Dudas Generales
marcasmal 5 3,379 Último mensaje 19 Noviembre 2014, 03:09 am
por Wickown
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines