int main() { while(1) //执行算法 { switch(chooseMenu()) { case 0:exit(0); case 1:searchMain();break; case 2:sortMain();break; case 3:shortPathMain();break; case 4:KNAPMain();break; case 5:greedyJobMain();break; case 6:nQueenMain();break; case 7:sumOfSubMain();break; case 8:scientificComputingMain();break; case 9:binatTreeMain();break; case 10:diagramTraversalMain();break; case 11:minimumSpanningTreeMain();break; } } system("PAUSE"); return 1; }
int main(void) { system("mode con lines=25 cols=80"); //콘솔 창 크기 초기화 UserInfo *userInfo = NULL; FILE *readFile = NULL; FILE *writeFile = NULL; int input = 1, menu = 1, choice; int *ptr = &menu; char *menu_num[MENU_NUM]; puts("\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t = 시작하는 중 = \n\n\n\n\n\n\n\n\n\n\n"); userInfo = setUserInfo(userInfo, readFile); //구조체 배열에 파일 데이터 저장 if (userInfo == (UserInfo*)-1) return 0; //오류 났을 경우 바로 종료 startSound(); //로딩 완료 효과음 printMainSub(menu, menu_num); //메인 메뉴 구성 while(1) { printMain(menu, menu_num); //메인 화면 출력 input = getch(); //입력 if (input == ARROW_BUFFER) //방향키는 입력 시 아스키확장 값이 먼저 들어온 후 값이 들어옴 input = getch(); //그래서 이 경우 버퍼를 한번 비우도록 하였음 switch (input) { case UP_ARROW_KEY: //상 방향키 if (menu > 1) menu--; moveSound(); break; case DOWN_ARROW_KEY: //하 방향키 if (menu < 6) menu++; moveSound(); break; case ENTER_KEY: //enter키 inSound(); switch (menu) { case 1: //출력 printList(userInfo); break; case 2: //등록 addUser(userInfo); break; case 3: //삭제 searchMain(userInfo, _DELETE, "삭제", "Delete"); break; case 4: //수정 searchMain(userInfo, MODIFY, "수정", "Modify"); break; case 5: //검색 searchMain(userInfo, SEARCH, "검색", "Search"); break; case 6: //저장 saveInfo(userInfo, writeFile); break; } //switch(menu) out break; case ESC_KEY: //esc키 inSound(); choice = closeProgram(); if (choice == SAVE) choice = saveInfo(userInfo, writeFile); if (choice == SAVE || choice == EXIT){ printClose(); free(userInfo); closeSound(); printClose_sub(); return 0; } else break; default: warningMessage(input - '0', 6, ptr); break; } //switch(input) out } free(userInfo); return 0; }