int ponerEnCola(t_cola *p,const t_empleado *d) { if(colaLlena(p)) //puede haber problemas return 0; p->ult++; if(p->ult==TAM) p->ult=0; p->cola[p->ult]=*d; return 1; }
int main(void) { t_cola cola; t_info info; crearCola(&cola); while(!colaLlena(&cola) && ingresar(&info)) { ponerEnCola(&cola, &info); } if(!colaVacia(&cola)) { printf("Hay elementos en la cola, el primero es: "); if(verPrimeroCola(&cola, &info)) mostrar(&info); printf("\nSi vacio la cola"); vaciarCola(&cola); if(!sacarDeCola(&cola, &info)) printf("\nNo hay nada en la cola."); } return 0; }
void guardar_arch_bin(const char * path_bin,t_cola *cola,t_cola * cola2,t_empleado * emp) { FILE * pf; if(!(pf=fopen(path_bin,"wb"))) printf("No se pudo abrir el archivo %s\n",path_bin); else{ while(!colaVacia(cola)) { sacarDeCola(cola,emp); if(!colaLlena(cola2)) ponerEnCola(cola2,emp); } while(!colaVacia(cola2)) { sacarDeCola(cola2,emp); ponerEnCola(cola,emp); fwrite(cola,sizeof(t_cola),1,pf); } printf("%s se grabo correctamente\n",path_bin); fclose(pf); } }
void ejecutar(int opcion, t_cola *cola,t_cola *cola2,t_empleado *info) { switch(opcion) { case 1: puts("Cargar registro"); if(!colaLlena(cola)) { while(!colaLlena(cola)) { puts("Ingrese un registro: \n"); cargarInfo(info); //mostrarInfo(&info); if(ponerEnCola(cola,info)) puts("Se agrego un registro\n"); } }else puts("La cola ya esta cargada.\n\n"); break; case 2: if(!colaVacia(cola)) { while(!colaVacia(cola)) { //if(verPrimero(cola,info)) // mostrarInfo(info); if(sacarDeCola(cola,info)) { mostrarInfo(info); puts("\nSaque de Cola\n"); } } }else puts("La cola esta vacia.\n\n"); break; case 3: if(!colaVacia(cola)) { vaciarCola(cola); puts("cola vacia.\n\n"); } break; case 4: if(!colaVacia(cola)) { if(verPrimero(cola,info)); { puts("Primero: \n"); mostrarInfo(info); } }else puts("La cola esta vacia.\n\n"); break; case 5: if(!colaVacia(cola)){ guardar_arch_bin("cola.bin",cola, cola2,info); }else puts("La cola esta vacia.\n\n"); break; case 6: cargar_arch_bin("cola.bin",cola,info); break; case 7: if(TODO_OK==binario_a_texto("cola.bin","cola.txt")) puts("Se convirtio de binario a texto\n"); else puts("Error al querer convertir de binario a texto\n"); break; case 8: if(TODO_OK==texto_a_binario("cola.txt", "cola.bin")) puts("Se convirtio de texto a binario\n"); else puts("Error al querer convertir de texto a binario\n"); break; } system("pause"); }