int main(int argc, char** argv) { bucketmap* bucket = new_bucket(10, dumb, NULL); char* line = read(); bucket = bucketify_file(argv[1], bucket, ':'); for ( ; ; ) { if (compare(line, GET_OPTION) == EQUAL) line = get_option(bucket); else if (compare(line, ADD_OPTION) == EQUAL) line = add_option(bucket); else if (compare(line, DEL_OPTION) == EQUAL) line = del_option(bucket); else if (compare(line, QUIT_OPTION) == EQUAL) break; else line = NULL; if (line) printf("%s\n", line); else printf("...\n"); line = read(); } save_bucket(bucket, "new_index.txt"); return 0; }
int main() { int totalTime; totalTime = 0; int quantum; int op; int cpp = 0; pcbCtrl *ctrl; pcbStates *states; groupsCtrl *ctrlG; usersCtrl *ctrlU; ctrl = malloc(sizeof(pcbCtrl)); states = malloc(sizeof(pcbStates)); states->readys = malloc(sizeof(pcbCtrl)); states->waiting = malloc(sizeof(pcbCtrl)); states->sleeping = malloc(sizeof(pcbCtrl)); ctrlG = malloc(sizeof(groupsCtrl)); ctrlU = malloc(sizeof(usersCtrl)); printf("\n"); quantum = set_int("Quantum del programa", 1); if(val_npos(quantum, 1) != FAIL) { do { printf("\n \t\t<< SIMULACION DE ALGORITMO DE DESPACHO RONUD-ROBIN >>\n"); print_options(0); printf("\n>"); scanf("%i",&op); getchar(); switch(op) { case 1: printf("\n"); create_group(ctrlG); break; case 2: printf("\n"); create_user(ctrlU); break; case 3: printf("\n"); create_process(cpp,ctrl,states,ctrlG,ctrlU); cpp++; break; case 4: printf("\n"); state_change(ctrl,states); break; case 5: printf("\n"); show_everything(ctrl,states,ctrlG,ctrlU); break; case 6: printf("\n"); rr(states, ctrl, quantum, &totalTime); break; case 7: printf("\n"); del_option(ctrl,states,ctrlG,ctrlU); break; case 8: break; default: printf("Opcion invalida, vuelva a intentarlo.\n"); } }while(op != 8); if(ctrl->front != NULL) { pcb *aux = ctrl->front; while( next_pcb(&aux,ctrl->front) != FAIL ) free(aux); } if(ctrlG->front != NULL) { groups *aux = ctrlG->front; while( next_group(&aux,ctrlG->front) != FAIL ) free(aux); } if(ctrlU->front != NULL) { users *aux = ctrlU->front; while( next_user(&aux,ctrlU->front) != FAIL ) free(aux); } free(ctrl->front); free(ctrlG->front); free(ctrlU->front); free(ctrl); free(ctrlG); free(ctrlU); } return 0; }