#include void menu(); void addelem(int x); void delelem(); void seelist(int x,int y); void savelefile(); void getlefile(); struct snum { int num; struct snum *next; }*nue,*act,*fin; FILE *colasfile; main () { nue=act=fin=NULL; menu(); system("CLS"); } void menu() { char opc; int num; do { system("CLS"); textcolor(1); //cambiando color en letra textbackground(7); //cambiando color de fondo letra gotoxy(0,10); //posicionando cursor cprintf("ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ");printf("\n"); cprintf("ÛÛÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ0ÍXÍ»ÛÛÛÛÛÛÛÛ");printf("\n"); cprintf("ÛÛº --> Colas ºÛÛÛÛÛÛÛÛ");printf("\n"); cprintf("ÛÛº ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍ»ÛÛ");printf("\n"); cprintf("ÛÛº [1] º > Introducir un elemento º | ºÛÛ");printf("\n"); cprintf("ÛÛº [2] º > Eliminar un elemento º | ºÛÛ");printf("\n"); cprintf("ÛÛº [3] º > Buscar un elemento º | ºÛÛ");printf("\n"); cprintf("ÛÛº [4] º > Mostrar cola º | ºÛÛ");printf("\n"); cprintf("ÛÛº [5] º > Almacenar cola en file º | ºÛÛ");printf("\n"); cprintf("ÛÛº [6] º > Recuperar cola del file º | ºÛÛ");printf("\n"); cprintf("ÛÛº º º ºÛÛ");printf("\n"); cprintf("ÛÛº [*] º >> Salir del programa º | ºÛÛ");printf("\n"); cprintf("ÛÛÈÍÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍ͹ÛÛ");printf("\n"); cprintf("ÛÛÛÛÛÛÛÛº Introduce una opci¢n...[ ] ºÛÛ");printf("\n"); cprintf("ÛÛÛÛÛÛÛÛÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼÛÛ");printf("\n"); cprintf("ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ");printf("\n"); gotoxy(45,22); opc=getch(); //tratamiento de opciones posibles switch (opc) { case '1':{system("CLS");printf("\nNumero a introducir: ");scanf("%d",&num);addelem(num);break;} case '2':{system("CLS");delelem();break;} case '3':{system("CLS");printf("\nNumero a buscar: ");scanf("%d",&num);seelist(1,num);break;} case '4':{system("CLS");seelist(0,0);break;} case '5':{system("CLS");savelefile();break;} case '6':{system("CLS");getlefile();break;} case '*':{break;} default:{system("CLS");printf("\nIntroduce una opci¢n valida");getch();} } }while(opc!='*'); } void addelem(int x){ nue=(struct snum*)malloc(sizeof(struct snum)); nue->num=x; nue->next=NULL; if(fin==NULL){fin=act=nue;} else{fin->next=nue;fin=nue;} } void delelem() { if(act==NULL){return;} nue=act; act=act->next; free(nue); } void seelist(int x,int y){ int result=0; nue=act; while (nue!=NULL){ if(x==0){printf("\nNumero:[%d]",nue->num);} if(x==1&&nue->num==y){result=nue->num;break;} nue=nue->next; } if(x==1){ if(result>0){printf("\nNumero encontrado: [%d]",result);} else{printf("\nNumero no encontrado");} } getch(); } void savelefile(){ nue=act; colasfile=fopen("colas-file.txt","w"); while(nue!=NULL){ printf("\nGrabando[%d]...",nue->num); fprintf(colasfile,"\n%d",nue->num); sleep(1); nue=nue->next; } printf("\nFin de grabado en fichero"); fclose(colasfile); getch(); } void getlefile() { int var; printf("\nObteniendo datos del fichero...\n"); colasfile=fopen("colas-file.txt","r"); while(feof(colasfile)==0){ fscanf(colasfile,"%d",&var); printf("\nNumero: %d",var); } fclose(colasfile); getch(); }