int runMapAdjustments(void (*callback)(int, float, float)) { int total = 0; for (int i = 0; i < AVG_TAB_SIZE; i++) { for (int j = 0; j < AVG_TAB_SIZE; j++) { total += adjustCell(i, j, callback); } } return total; }
int adjustInfo(Member_t *id, int i) { int j, IDnum = 0, valid = -1, count = 0; int choice = 0; char tempname[NAME_MAXCHAR]; // 이름 수정 정보를 되돌리기 위한 temp 변수 char tempaddress[ADDRESS_MAXCHAR]; // 주소 수정 정보를 되돌리기 위한 temp 변수 char tempcellphone[CELLPHONE_MAXCHAR]; // 전화번호 수정 정보를 되돌리기 위한 temp 변수 if (i != -1){ while (choice != -1){ choice = adjustInfoMenuChoice(); switch (choice) { case '1': adjustCell(count); gotoxy(6, 17); printf("① 학번 : "); IDnum = insertStudentNum(23, 17, 1); if (IDnum > -1) IDnum = repeatStudentIDCheck(id, IDnum); if (IDnum > -1) adjustInfoInputStudentID(id, IDnum, i); break; case '2': while (valid == -1){ adjustCell(count); gotoxy(6, 17); printf("② 이름 : "); strcpy(tempname, id[i].Name); valid = insertName(23, 17, id[i].Name, 1); if (valid > -1) adjustInfoInputName(id, i); else strcpy(id[i].Name, tempname); count++; } valid = -1; count = 0; break; case '3': while (valid == -1){ adjustCell(count); gotoxy(6, 17); printf("③ 주소 : "); strcpy(tempaddress, id[i].Address); valid = insertAddress(23, 17, id[i].Address, 1); if (valid > -1) adjustInfoInputAddress(id, i); else strcpy(id[i].Address, tempaddress); count++; } valid = -1; count = 0; break; case '4': while (valid == -1){ adjustCell(count); gotoxy(6, 17); printf("④ 전화번호 : "); gotoxy(26, 17); printf(" - - "); strcpy(tempcellphone, id[i].Cellphone); valid = insertCellphone(23, 17, id[i].Cellphone, 1); if (valid > -1){ // 전화번호 중복 Check for (j = 1; id[j].Studentnum != 0; j++){ if (i == j); else if (strcmp(id[j].Cellphone, id[i].Cellphone) == 0) { // 전화 번호가 같다면 -1을 반환 repeatCellphoneErrorOn(1); valid = -1; break; } } } if (valid != -1) { adjustInfoInputCellphone(id, i); break; } else strcpy(id[i].Cellphone, tempcellphone); count++; } break; } gotoxy(0, 16); lineClear(); gotoxy(0, 17); lineClear(); gotoxy(0, 18); lineClear(); } } return -1; }