lunes, 9 de julio de 2012

FILAS Y APUNTADORES II

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct cola{
int cedula;
char nombre[20];
struct cola *sig;
}*princ, *fin;
int j=0;
void acolar(){
struct cola *nuevo;
nuevo=(struct cola *)malloc(sizeof(struct cola));
printf("INTRODUCIR CÉDULA:\n ");
scanf("%d",&nuevo->cedula);
printf("INTRODUCIR NOMBRE:\n");
scanf("%s",nuevo->nombre);
nuevo->sig=NULL;
if(princ==NULL){
princ=nuevo;
fin=nuevo;
}else{
fin->sig=nuevo;
fin=nuevo;
}
j++;
}
void mostrar(){
struct cola *aux;
aux=princ;
if(aux==NULL){
printf("COLA VACIA\n");
}else{
while(aux!=NULL){
printf("CÉDULA: %d\nNOMBRE: %s\n\n", aux->cedula,aux->nombre);
aux=aux->sig;
}
}
}
void desacolar(){
struct cola *aux;
struct cola *aux1;
int cont;
aux=princ;
aux1=princ;
cont=0;
while(aux!=NULL){
if(aux->cedula==aux1->cedula){
if(cont==0){
princ=princ->sig;
}
}
aux=aux->sig;
aux1=aux;
cont=1;
}
}
main(){
int opc;
do{
printf("\n\n\n\t\tREGISTRO DE PERSONAS ***TELEVISORA TUTV\t\t\t\t\n");
printf("\n\t\t\t1. INGRESAR DATOS A LA COLA\n\t\t\t2. MOSTRAR DATOS DE LA COLA\n\t\t\t3. RETIRAR DATOS EN LA COLA\n\t\t\t4. SALIR\n\t\t\t");
scanf("%d", &opc);
system("cls");
switch (opc){
case 1:
acolar();
break;
case 2:
mostrar();
break;
case 3:
desacolar();
break;
default:
printf("SALIR DEL SISTEMA\n");
break;
}
}while(opc!=4);
}