#include <stdio.h>
#include <string.h>
#define NUM 100/*전역변수 설정*/
/*학생의 학번 이름 비밀번호 구조체 생성*/
typedef struct student_mem{
char student_id[NUM];
char student_name[NUM];
int student_pw;
}mem;
/*회원가입 함수*/
int join(student_mem mem[], int a){
int b = 0;
printf("학번을 입력하세요. <10자 이내>.\n");
printf("\n입력 : ");
scanf_s("%s", &(mem + b)->student_id);/*(mem + b)->student_????와 같은 형식으로 간접참조를 사용하였음.. 따라서, scnaf로입력받은학생의 학번을 student_id에 기입.*/
printf("비밀번호를 입력하세요. <숫자만 입력>\n");
printf("입력 ");
scanf_s("%d", &(mem + b)->student_pw);/*같은 방법으로 비밀번호를 student_pw에 기입.*/
printf("\n이름을 입력하세요. <5자 이내>\n");
printf("입력 : ");
scanf_s("%s", &(mem + b)->student_name);/*같은 방법으로 이름을 studnet_name에 기입.*/
printf("%s님 회원가입이 완료되었습니다!\n", (mem + b)->student_id);/*회원가입완료를 알림.*/
printf("환영합니다 ^^ 로그인을 해주세요.\n");
return a++; /*회원가입정보를 저장하기위함.*/
}
void login(student_mem mem[]){
char id_Check[NUM];/*학번 체크를위한 변수*/
int pw_Check;/*비밀번호 체크를위한 변수*/
int repeat = 0;/*반복문사용을 위한 변수*/
int Check = 0;/*밑에보이는 if (Check == 6)
printf("로그인성공.\n");
else
printf("없는회원이거나 비밀번호가 다릅니다.\n");
함수를 호출하기 위한 변수*/
printf("학번 : ");
scanf_s("%c", &id_Check);
printf("\n비밀번호 :");
scanf_s("%d", &pw_Check);
for (repeat = 0; repeat<100; repeat++){
if (strcmp((mem + repeat)->student_id, id_Check) && ((mem + repeat)->student_pw == pw_Check))
/*strcmp를 통해 학번비교, == 연산자를 통한 비밀번호비교*/
Check = 6;
/*앞서 언급한 Check변수에 임의의 값을 저장*/
else
Check = 66;
/*앞서 언급한 Check변수에 임의의 값을 저장*/
}
if (Check == 6)
printf("로그인성공.\n");
else
printf("없는회원이거나 비밀번호가 다릅니다.\n");
}
int main(){
printf("=====================================\n\n");
printf("1.회원가입 하기\n");
printf("2.로그인 하기\n");
printf("3.종료\n\n");
printf("\n\n원하는 메뉴를 선택하세요 : ");
int number = 0;/*switch문 사용을 위한 변수*/
scanf_s("%d", &number);/*직접적으로 메뉴(회원가입,로그인,종료)를 호출*/
while (1){
switch (number)
{
case 1:
join(mem[], int a);
break;
case 2:
login(mem[]);
break;
case 3:
break;
}
break;
}
return 0;
}
메인함수에서 오류가뜨는데 잘모르겟네요;; 미칠지경;
에러메시지를 줘요 이 컴파일러보다 불친절하신 님아
가라
사람이 문제다
로하이 알라딘 통계분석 정보 공유 사요나라오대영
w88/피나 축구/야구/농구 양방플 문의줘라 nete77