Banco - Aplicación con colas.

Para Windows

Requerimos el uso de las funciones básicas de colas, que están en estos links: colas.h colas.c Código fuente:
/* 
* File: main.cpp
* Author: Rodrigo y ToñoGates
*/

#include
#include "colas.h"

void imprimemenu();
void menu_transacciones();
int calcular_tiempo(int []);
int tiempo_espera(Cola *c);

int main(int argc, char** argv) {
char ch;
int num=0;
//clrscr();
printf("\n\t\t\t Toño&Rod´s Bank \n\n\n ¿Deseas hacer una Cola de clientes? S/N\n");
scanf("%c",&ch);
if((ch == 'N')||(ch == 'n')){
printf("Salgo del programa\n");
return (EXIT_SUCCESS);
}
int t_espera=0;
int i=0;

int trans[10]={0};
Cola *c;
c=crear();
TipoDato p1;
p1.nombre=(char *)calloc(100,sizeof(char));
do{
imprimemenu();
scanf("%d",&num);
switch (num)
{
case 1:
i=0;
printf("\n\tNombre:");
getchar();
gets(p1.nombre);
printf("\n\n\tTransaccion(es)a realizar(10 max):");
do{
menu_transacciones();
scanf("%d",&trans[i]);
printf("\n¿Desea realizar otra transacción? S/N");
getchar();
scanf("%c",&ch);
if((ch == 'N')||(ch == 'n')){
printf("Listo");
num=7;
}else i++;
}while(num!=7);
t_espera=tiempo_espera(c);
printf("\nFaltan %d",t_espera);
printf(" minutos.");
p1.tiempo=calcular_tiempo(trans);
if(insertar(c,p1))
printf("\n\n\nCliente introducido con éxito");
else
printf("\n\n\nLo sentimos tu Cliente no se pudo insertar...");
break;
case 2:
if(vacia(c)) printf("\nLa Cola esta vacía. \n");
else{
printf("\nAtendiendo a ...");
TipoDato dat=eliminar(c);
printf("\n %s",dat.nombre);
}
break;
case 3:
if(vacia(c)) printf("\nCola vacía");
else{
printf("\nEstos son tus clientes en espera...\n");
mostrar(c);
}
break;
}
}while (num!=4);
return EXIT_SUCCESS;
}
Las funciones básicas son desarrolladas:
int calcular_tiempo(int trans[]){
int t,suma=0;
for(int i=0;i<11;i++){
switch(trans[i]){
case 1: t=5; break;
case 2: t=6; break;
case 3: t=8; break;
case 4: t=4; break;
case 5: t=2; break;
default: t=0; break;
}
suma=suma+t;
}
return suma;
};

int tiempo_espera(Cola *c){
int suma=0;
Nodo *aux=c->frente;
while(aux!=NULL){
suma+=aux->dato.tiempo;
aux=aux->atras;
}
return suma;
};
¡Saludos! @fferegrino :)

1 comentario:

  1. exelente tu programa, no me mandarias en un zip el archivo .cpp y las librerias porfavor!!! seria de gran ayuda, .cpp porque estoy estudiando estructura de datos y programamos en borland c++, mi correo es fanstein@hotmail.com

    ResponderEliminar