로그인 기능과 중복가입방지 기능
앨런
질문 제목 : 로그인 기능과 중복가입방지기능로그인 기능과 중복가입방지기능인데요.. 돌리니깐 안되네요.ㅠㅠ질문 내용 : 구조체를 이용해서 파일에 저장을 하였다가 로그인 기능을 선택하면 아이디와 비밀번호를 치고 로그인이 되는건데
콘솔창 띄운상태서 회원가입을 하고 로그인을 하면되는데 회원가입을 하고 콘솔창을 닫았다가 다시띄운다음 로그인 할려고 하니깐 안되네요.ㅠㅠ 그리고 회원가입시 id를 입력하는데 id중복가입방지할려고 해놨는데.. 이것도 안먹히네요.ㅠㅠ
도와주세요.ㅠ 그리고 파일은 구조체는 헤더파일로 직접 만들었구요 메인소스파일하고 기능소스파일 총 3개로 돌리는 프로그램이에요. 빠른 답변부탁드릴께요.ㅠㅠ
구조체 소스
struct person{//회원 구조체
char name[10];//이름 멤버
char address[50];//주소 멤버
char id[10];//학번 멤버
char pass[10];//비밀번호 멤버
char major[20];//학부(과) 멤버
char sex[2];//성별 멤버
char age[3];//나이 멤버
}ps[10000];//회원 10000명까지 저장
소스
/////////////////////////////// 회원가입 함수 시작 /////////////////////////////////////////////////////////////////////////////////
void enter()
{
int i, index = 0;
char eid[10];
char fname[] = person.txt;
file*f;
//파일 개방
if((f = fopen(fname, a+)) == null)
{
printf(파일이 열리지 않습니다.\n);
exit(1);
}
printf(-------------------- 회원 가입 --------------------\n);
printf(이름: );
gets(ps[index].name);//이름 입력
printf(주소: );
gets(ps[index].address);//주소 입력
//중복 id검사
printf(id(학번): );
gets(eid);//id(학번)입력
for(i = 0;i 10000;i++)
{
if(strcmp(eid, ps[i].id) == 0)
{
printf(이미등록된 id입니다.\n);
break;
}
}
strcpy(ps[index].id,eid);//검사 후 값 복사
printf(비밀번호: );
gets(ps[index].pass);//비밀번호 입력
printf(학부(과): );
gets(ps[index].major);//학부(과) 입력
printf(성별: );
gets(ps[index].sex);//성별 입력
printf(나이: );
gets(ps[index].age);//나이 입력
//person.txt파일에 쓰기
fprintf(f, %s %s %s %s %s %s %s\n, ps[index].name, ps[index].address, ps[index].id, ps[index].pass, ps[index].major, ps[index].sex, ps[index].age);
//회원수 증가
index++;
//파일 닫기 / 저장
fclose(f);
fflush(stdin);
system(cls);
main();//메인으로 돌아가기
system(cls);
}
////////////////////////////// 회원가입 함수 끝 //////////////////////////////////////////////////////////////////////////////////////
////////////////////////////// 로그인 함수 시작 //////////////////////////////////////////////////////////////////////////////////////
void login()
{
int i, j, result = 0;
char id[10] = { 0 };//id입력받을 변수
char pass[10] = { 0 };//비밀번호 입력받을 변수
char fname[] = person.txt;
file*f;
//파일 개방
if((f = fopen(fname, r)) == null)
{
printf(파일이 열리지 않습니다.\n);
exit(1);
}
printf(id: );
gets(id);//id입력
printf(password: );
gets(pass);//비밀번호 입력
fflush(stdin);
system(cls);
 br
//id와 비밀번호 검사 시작
for( i = 0; i = 10000;i++)
{
if((strcmp(id, ps[i].id) == 0) && (strcmp(pass, ps[i].pass) == 0))
{
for(j = 0;j 10;j++)
{
if(id[j-1] == master)
{
fclose(f);
printf(관리자모드로 로그인되었습니다.\n);
result = 1;
master(result);//관리자모드
break;
}
else
{fclose(f);
printf(로그인되었습니다.\n);
result = 2;
student(result);//회원 모드
break;
}
}
}
else
{
printf(아이디와 비밀번호를 잘못입력하였습니다.\n);
fclose(f);
login();//다시 입력
break;
}
}
fclose(f); //파일 닫기
system(cls);
}
/////////////////////////////// 로그인 함수 끝 //////////////////////////////////////////////////////////////////////////////////////
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2698782 | 기초적인 함수 질문이요ㅠㅠㅠㅠ | 내담 | 2025-06-20 |
2698749 | 프로그램 짜던 도중 패닉입니다...ㅜ | 파랑 | 2025-06-19 |
2698719 | 조건부컴파일 질문입니다.~ (2) | 큐트 | 2025-06-19 |
2698693 | 재귀 함수 에러 | 바닐라 | 2025-06-19 |
2698673 | 고민이있는데 들어좀주세요!! (1) | 초코맛캔디 | 2025-06-19 |
2698644 | 1부터 n까지의 합을 구하는데 엄청긴숫자의 합을 구할때는 어떻게 해야하나요? (4) | 슬우 | 2025-06-18 |
2698616 | 다른 함수로 안넘어갑니다..;;; | 도1도캣 | 2025-06-18 |
2698587 | 배열하다 막혀서... (3) | WhiteCat | 2025-06-18 |
2698559 | 문자열을 비우는방법 (2) | 하늘 | 2025-06-18 |
2698528 | 착하고 친절한 선생씌구해염~ㅋㅋ (4) | 옆집언니야 | 2025-06-17 |
2698502 | 자료구조 큐 | 캔서 | 2025-06-17 |
2698477 | 실행화면 배경문의요 | 선아 | 2025-06-17 |
2698430 | 변수의 값이 저장이 않되네요;; (4) | 피네 | 2025-06-16 |
2698404 | C#을 배울려고 하는데 C나 C++을 알아야 하나요 ?? (1) | 신당 | 2025-06-16 |
2698342 | 프로그램 질문점녀 (4) | 데빌의눈물 | 2025-06-16 |
2698318 | 파일 입출력 질문입니다~ (2) | 꽃 | 2025-06-15 |
2698291 | 문자 출력 함수 : putchar, fputc에 관하여. | 으뜸 | 2025-06-15 |
2698261 | 씨언어 (1) | 마리 | 2025-06-15 |
2698212 | 구조체, 포인터가 같이 들어간 프로그램 소스코드 있으신분? (4) | 그림자 | 2025-06-14 |
2698184 | 간단한 C언어 인데 .. | 붕붕 | 2025-06-14 |