로그인 기능과 중복가입방지 기능
앨런
질문 제목 : 로그인 기능과 중복가입방지기능로그인 기능과 중복가입방지기능인데요.. 돌리니깐 안되네요.ㅠㅠ질문 내용 : 구조체를 이용해서 파일에 저장을 하였다가 로그인 기능을 선택하면 아이디와 비밀번호를 치고 로그인이 되는건데
콘솔창 띄운상태서 회원가입을 하고 로그인을 하면되는데 회원가입을 하고 콘솔창을 닫았다가 다시띄운다음 로그인 할려고 하니깐 안되네요.ㅠㅠ 그리고 회원가입시 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);
}
/////////////////////////////// 로그인 함수 끝 //////////////////////////////////////////////////////////////////////////////////////
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2697314 | fprintf와 fscanf 로 파일 입출력 할떄 | 밝음이 | 2025-06-06 |
2697293 | 툴 소스 뽑아내는법 | 도움 | 2025-06-06 |
2697264 | 소소한거 두어가지 질문할께요~ (8) | 별솔 | 2025-06-06 |
2697235 | scanf로 인풋 받을 때?! | 보담 | 2025-06-06 |
2697207 | 열혈강의 연습문제 질문이요~ (2) | 맥적다 | 2025-06-05 |
2697182 | strcmp, strtok - 어떤 기능을 하는지... | 루다 | 2025-06-05 |
2697129 | [질문] 아래 저축액을 계산하는 프로그램 ㅠ 추가 질문 (7) | 찬늘 | 2025-06-05 |
2697072 | 쌩초보 질문! (1) | 얀 | 2025-06-04 |
2697050 | 도움부탁드립니다.. | 화이트 | 2025-06-04 |
2697023 | gotoxy함수, 어떻게 사용하죠? (3) | 적송 | 2025-06-04 |
2696994 | c언어를 막 시작한 초보인데 질문이 있어용 ㅠㅠ (2) | 귀1여운렩 | 2025-06-03 |
2696944 | 윈도우 콘솔프로그램 질문드립니다 (2) | 꽃님이 | 2025-06-03 |
2696882 | c언어 입력받기 질문 입니다 (2) | 흰추위 | 2025-06-02 |
2696853 | 문자열은 정적메모리에 할당된다고 하는데 정적메모리가 뭡니까?? (6) | 다온 | 2025-06-02 |
2696799 | c c++언어입문전에 파이톤이나 자바스크립트배워두면.. (2) | 앨런 | 2025-06-02 |
2696747 | size of 연산자에 대해 질문이 있습니다. (3) | 유진공주 | 2025-06-01 |
2696721 | Char 타입의 2D array 기초에 대해 질문드립니다. | 벚꽃 | 2025-06-01 |
2696691 | 자릿수 이동방법좀 가르쳐주세요 (1) | 흰추위 | 2025-06-01 |
2696664 | 학생정보 구조체 질문 | 큰아 | 2025-05-31 |
2696619 | c언어에서는 논리형을 어떻게 표현하나요? | 은율 | 2025-05-31 |