//console void console() { int number; number = Number(); studentScoreList head; head = initNode(); while(number) { inputNumber(head); number--; } // int flag[3] = 0; compare(head, flag); // output(head); }
void DataTransformation::checkInput(const DataVector &input) const { Q_ASSERT(input.size() == inputNumber()); }
//회원 검색 void searchMember() { int i = 0; int choiceUser = 0; int selectMode = 0; int index = saveIndexNumber(); char inputsignNumber[80]; MemberInfo save[100]; //회원 정보 불러오기 FILE *fp; //파일 열기,에러 체크 if ((fp = _fsopen("memberInfo.txt", "r", _SH_DENYNO)) == NULL) { puts("memberInfo.txt 열기 샐패"); return; } //용도에 맞게 쓰기 fread(&save, sizeof(MemberInfo), index, fp); //파일 닫기 fclose(fp); printf("찾으실 회원의 주민등록번호 앞 6자리를 입력 하세요\n"); inputString(inputsignNumber); /*if (strlen(inputsignNumber) != 6) { printf("주민등록번호 앞자리는 6자리 입니다."); Sleep(1000); system("cls"); printUser(index); }*/ system("cls"); //입력받은 주민 등록 번호와 저장된 주민등록 번호가 일치 하면 화면에 출력 for (i = 0; i < index; i++) { if (strcmp(inputsignNumber, save[i].signNumber) == 0) { printf("회원 번호 : %d\n", save[i].id); printf("\t이름 : %s\n", save[i].name); printf("\t주소 : %s\n", save[i].address); printf("\t주민등록번호 : %s\n", save[i].signNumber); printf("\t휴대폰 번호 : %s\n", save[i].phoneNumber); printf("\t이메일 : %s\n", save[i].email); //printf("\t빌린책 : %d\n", save[i].bookList); } } printf("수정 또는 삭제하실 회원 번호를 입력 하세요\n"); choiceUser = inputNumber(); system("cls"); printf("수정 또는 삭제를 선택 하세요\n"); printf("1. 수정\n"); printf("2. 삭제\n"); printf("0. 이전 메뉴로\n"); printf("선택 : "); selectMode = inputNumber(); system("cls"); //메뉴 선택에 따라 기능 if (selectMode == 1) { fixMember(choiceUser, index); } if (selectMode == 2) { deleteMember(choiceUser, index); } if (selectMode == 0) { return; } }
//회원정보 수정 void fixMember(int num, int index) { MemberInfo save[100]; int selectNum; while (TRUE) { printf("바꿀 데이터를 입력 하세요\n"); printf("1. 주소\n"); printf("2. email\n"); printf("3. HP번호\n"); printf("0. 이전 메뉴로\n"); printf("선택 : "); selectNum = inputNumber(); system("cls"); if (selectNum == 1) { //파일 포인터 선언 FILE *fp; //파일 열기,에러 체크 if ((fp = _fsopen("memberInfo.txt", "r", _SH_DENYNO)) == NULL) { puts("memberInfo.txt 열기 샐패"); return; } //용도에 맞게 쓰기 fread(&save, sizeof(MemberInfo), index, fp); //파일 닫기 fclose(fp); printf("바꿀 주소 를 입력 하세요.\n"); inputString(save[num - 1].address); printf("주소 수정이 완료 되었습니다."); Sleep(1000); system("cls"); //파일 열기,에러 체크 if ((fp = _fsopen("memberInfo.txt", "w", _SH_DENYNO)) == NULL) { puts("memberInfo.txt 열기 샐패"); return; } //용도에 맞게 쓰기 fwrite(&save, sizeof(MemberInfo), index, fp); //파일 닫기 fclose(fp); continue; } if (selectNum == 2) { //파일 포인터 선언 FILE *fp; //파일 열기,에러 체크 if ((fp = _fsopen("memberInfo.txt", "r", _SH_DENYNO)) == NULL) { puts("memberInfo.txt 열기 샐패"); return; } //용도에 맞게 쓰기 fread(&save, sizeof(MemberInfo), index, fp); //파일 닫기 fclose(fp); printf("바꿀 email 주소를 입력 하세요.\n"); inputString(save[num - 1].email); printf("email 수정이 완료 되었습니다.\n"); Sleep(1000); system("cls"); //회원정보 저장 //파일 열기,에러 체크 if ((fp = _fsopen("memberInfo.txt", "w", _SH_DENYNO)) == NULL) { puts("memberInfo.txt 열기 샐패"); return; } //용도에 맞게 쓰기 fwrite(&save, sizeof(MemberInfo), index, fp); //파일 닫기 fclose(fp); continue; } if (selectNum == 3) { //파일 포인터 선언 FILE *fp; //파일 열기,에러 체크 if ((fp = _fsopen("memberInfo.txt", "r", _SH_DENYNO)) == NULL) { puts("memberInfo.txt 열기 샐패"); return; } //용도에 맞게 쓰기 fread(&save, sizeof(MemberInfo), index, fp); //파일 닫기 fclose(fp); printf("바꿀 HP번호를 입력 하세요.\n"); inputString(save[num - 1].phoneNumber); printf("HP번호 수정이 완료 되었습니다.\n"); Sleep(1000); system("cls"); //회원정보 저장 //파일 열기,에러 체크 if ((fp = _fsopen("memberInfo.txt", "w", _SH_DENYNO)) == NULL) { puts("memberInfo.txt 열기 샐패"); return; } //용도에 맞게 쓰기 fwrite(&save, sizeof(MemberInfo), index, fp); //파일 닫기 fclose(fp); continue; } if (selectNum == 0) { system("cls"); return; } } }
//< 회원 등록 void registrationMember(void) { //< 입력커맨드 int inputCommand; //< 인덱스; int maxIndex = 0, curIndex = 0; //< 구조체 MemberInfo member = { 0, }; //< 반복용 int i; //< 파일포인터(인덱스) FILE* indexFp = NULL; //< 파일포인터(회원정보) FILE* fp = NULL; //< 인덱스 읽어오기 if ((indexFp = fileOpen("index.txt", "r")) == NULL) { return; } else { //< 용도에 맞게(읽기) fread(&maxIndex, sizeof(int), 1, indexFp); fread(&curIndex, sizeof(int), 1, indexFp); //fscanf_s(indexFp, "%d", &index); //< 파일 닫기 fclose(indexFp); } //< 입력 while (TRUE) { //< 화면지우기 system("cls"); //< 출력 puts("1.가입"); puts("0.뒤로가기"); printf("입력 : "); //< 명령입력 inputCommand = inputNumber(); //< 뒤로가기 switch (inputCommand) { //< 종료 case END: { system("pause"); return; }break; //< 가입 case REGESTRATION: { /* ID : 고유ID관리(???)(자동관리하기) - 순차관리 이름 : 중복가능 주소 : 문자열관리(40자까지입력가능) 한글기준 주민번호 : 중복가능(6자 체크가입 - 000405(6자리확인) hp번호 : -를 제외한 번호입력(01044446666) email : 그냥 알아서 가입(문자열처리) 길이제한(40자) 빌린책정보 : 총 몇 10 권 (ID , 도서명 )(ID는 도서등록시 부여된ID) */ //< 정보입력 while (TRUE) { printf("이름 : "); limitInput(member.name, MAX_LENGTH); printf("주소 : "); limitInput(member.address, MAX_LENGTH); printf("주민번호 : "); limitInput(member.signNumber, MAXSIGN); printf("핸드폰번호 : "); limitInput(member.phoneNumber, MAX_LENGTH); printf("E-Mail : "); limitInput(member.email, MAX_LENGTH); } for (i = 0; i < MAXBOOK; i++) { member.bookList[i] = 0; } maxIndex++; curIndex++; member.id = maxIndex; } break; } //< 인덱스 저장 //< 파일 오픈 if ((indexFp = fileOpen("index.txt", "w")) == NULL) { return; } else { //< 용도에 맞게(읽기) fwrite(&maxIndex, sizeof(int), 1, indexFp); fwrite(&curIndex, sizeof(int), 1, indexFp); //< 파일 닫기 fclose(indexFp); } //< 회원정보 저장 //< 파일 오픈 if ((fp = fileOpen("memberInfo.txt", "a+")) == NULL) { return; } else { //< 용도에 맞게(쓰기) fwrite(&member, sizeof(MemberInfo), 1, fp); //< 파일 닫기 fclose(indexFp); } } }