Вы находитесь на странице: 1из 15

EJERCICIO SAT

#include <iostream>

#include <cstring>

#include <conio.h>

#include <stdio>

#include <dos.h>

struct Nodo{

int dato;

Nodo *siguiente;

};

void menu(Nodo *&);

void push(Nodo *&,int);

void pop (Nodo *);

void timer();

void mostrar(Nodo *);

void main()

Nodo *lista=NULL;

menu(lista);

getch();

void menu(Nodo *&lista)

int n,dato,op;

while(op!=2){

clrscr();

system("color F0");
gotoxy(10,10);cout<<"SAT";

gotoxy(10,11);cout<<"1.Comenzar simulación de entrada de clientes";

gotoxy(10,12);cout<<"2.Salir\n";

cin>>op;

if(op==1)

while(n!=4)

clrscr(); system("color 70");

cout<<"Comenzando simulacion\n";

cout<<"1.Nuevo cliente\n";

cout<<"2.Mostrar cola\n";

cout<<"3.Despachar a todos\n";

cout<<"4.Salir\n";

cin>>n;

switch(n){

case 1:

clrscr(); system("color 70");

cout<<"Ingrese codigo de cliente\n";

cin>>dato;

push(lista,dato);

break;

case 2:

clrscr(); system("color 70");

mostrar(lista);

break;

case 3:

clrscr(); system("color 70");

pop(lista);

break;

default:
clrscr(); system("color 70");

cout<<"Opcion invalida";

break;

}if(op==2)

op=2;

void timer()

for(int i=10;i>=0;i--)

if(i==10){

gotoxy(10,10);cout<<i;

sleep(1);}

if(i<10){

gotoxy(10,10);cout<<"0"<<i;

sleep(1);

void push(Nodo *&lista,int n)

Nodo*nuevo_nodo=new Nodo();

nuevo_nodo->dato=n;
Nodo *aux1=lista;

Nodo *aux2;

while(aux1!=NULL)

aux2=aux1;

aux1=aux1->siguiente;

if(lista==NULL)

lista=nuevo_nodo;

else{

aux2->siguiente=nuevo_nodo;

nuevo_nodo->siguiente=aux1;

cout<<"El cliente con codigo "<<n<<" ha sido agregado";

getch();

void mostrar(Nodo *lista)

Nodo *actual=new Nodo();

actual=lista;

while(actual!=NULL)

cout<<actual->dato<<endl;

actual=actual->siguiente;

getch();
}

void pop(Nodo *lista)

Nodo *actual=new Nodo();

Nodo *aux;

actual=lista;

while(actual!=NULL)

aux=actual;

timer();

cout<<" Cliente "<<actual->dato<<" despachado"<<endl;

actual=actual->siguiente;

delete aux;

getch();

}
El programa tiene un temporizador de 10 segundos para despachar cada
cliente
#include <iostream>

#include <conio.h>

void funcion(int a,int b,int result)

int aux;

if(b>0)

aux=result*a;

result=aux;

b-=1;

funcion(a,b,result);

else{

cout<<"El resultado es: "<<result;

void main()

int a,b;

cout<<"Ingrese el numero que desea elevar\n";

cin>>a;

cout<<"Ingrese la potencia para elevar el numero\n";

cin>>b;

funcion(a,b,1);

getch();

}
LISTA ENLAZADA
#include <iostream>
#include <conio.h>
#include <stdlib>
#include <fstream>

struct Nodo
{
int dato;
Nodo *siguiente;
};

void menu(Nodo *&);


void push(Nodo *&,int);
void busqueda(Nodo *,int);
void pop(Nodo *,int);
void mostrar(Nodo *);

void main()
{
Nodo *lista=NULL;
menu(lista);
}

void menu(Nodo *&lista)


{
int op;
while(op!=5)
{
clrscr();
system("color F0");
gotoxy(15,10);cout<<"MENU PRINCIPAL\n";
gotoxy(15,11);cout<<"1.Ingresar datos\n";
gotoxy(15,12);cout<<"2.Mostrar datos\n";
gotoxy(15,13);cout<<"3.Buscar datos\n";
gotoxy(15,14);cout<<"4.Eliminar datos\n";
gotoxy(15,15);cout<<"5.Salir\n";
cin>>op;
switch(op)
{
case 1:
clrscr();
system("color 70");
int dato;
cout<<"Numero:\n";
cin>>dato;
push(lista,dato); break;

case 2:
clrscr();
system("color 70");
mostrar(lista); break;
case 3:
clrscr();
system("color 70"); int n;
cout<<"Ingrese el dato para bscar\n";
cin>>n;
busqueda(lista,n); break;

case 4:
clrscr();
system("color 70"); int m;
cout<<"Ingrese el dato para eliminar\n";
cin>>m;
pop(lista,m); break;

case 5: getch(); break;

default: cout<<"Error\n"; break;


}getch();
}
}

void push(Nodo *&lista,int n)


{
Nodo*nuevo_nodo=new Nodo();
nuevo_nodo->dato = n;
Nodo *aux1 = lista;
Nodo *aux2;

while((aux1!=NULL)&&(aux1->dato<n))
{
aux2=aux1;
aux1=aux1->siguiente;
}

if(lista==aux1)
{
lista=nuevo_nodo;
}
else{
aux2->siguiente=nuevo_nodo;
}
nuevo_nodo->siguiente=aux1;
cout<<"Elemento "<<n<<" insertado a la lista correctamente\n";
getch();

void mostrar(Nodo *lista)


{
Nodo *actual= new Nodo();
actual=lista;
while(actual!=NULL)
{
cout<<actual->dato<<" ";
actual=actual->siguiente;
}
}

void busqueda(Nodo *lista,int n)


{
bool band=false;
Nodo *actual= new Nodo();
actual=lista;
while((actual!=NULL)&&(actual->dato <=n))
{
if(actual->dato==n)
{
band=true;
}
actual=actual->siguiente;
}
if(band==true){
cout<<"Dato encontrado: "<<n;
}
if(band==false){
cout<<"!Dato no encontrado";
}
getch();
}

void pop(Nodo *lista,int n)


{
if(lista!=NULL)
{
Nodo *aux_borrar= new Nodo();
Nodo *anterior= new Nodo();
aux_borrar=lista;
anterior=NULL; bool band;
while((aux_borrar!=NULL)&&(aux_borrar->dato <=n))
{
if(aux_borrar->dato==n)
{
aux_borrar=anterior;
cout<<"El dato a sido eliminado";
band=true;
}
}
if(band=false)
{
cout<<"El dato no ha sido encontrado";
}
}else{
cout<<"La lista esta vacia";}
getch();
}

Вам также может понравиться