로그인 기능과 중복가입방지 기능
앨런
질문 제목 : 로그인 기능과 중복가입방지기능로그인 기능과 중복가입방지기능인데요.. 돌리니깐 안되네요.ㅠㅠ질문 내용 : 구조체를 이용해서 파일에 저장을 하였다가 로그인 기능을 선택하면 아이디와 비밀번호를 치고 로그인이 되는건데
콘솔창 띄운상태서 회원가입을 하고 로그인을 하면되는데 회원가입을 하고 콘솔창을 닫았다가 다시띄운다음 로그인 할려고 하니깐 안되네요.ㅠㅠ 그리고 회원가입시 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);
}
/////////////////////////////// 로그인 함수 끝 //////////////////////////////////////////////////////////////////////////////////////
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |
2675356 | 2진수를 10진수로 바꾸려고 하는데 막히네요.. | 풀잎 | 2024-11-17 |
2675297 | Prity 비트 발생기 | 한란 | 2024-11-16 |
2675249 | C책 좀 추천해 주세요 (2) | 딸기우유 | 2024-11-16 |
2675193 | 연습문제 17-1 질문입니다. | 한별나라 | 2024-11-15 |
2675172 | 소스점 | 아이뻐 | 2024-11-15 |
2675146 | 단순 연결 리스트인데 출력결과가 이상하게 나와요. | 찬늘봄 | 2024-11-15 |