#define _CRT_SECURE_NO_WARINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <conio.h>
typedef struct person
{
char Name[20];
int AGE;
char ID[20];
char PW[20];
}PI;
void Input(PI *pMember,int *count); // 1번
void Output(PI *pMember,int *cont); // 2번
void FileSave(PI *pMember, int *count); //3번
void FileRead(PI *pMember,int *count); //4번
void Login(PI *pMember); // 5번
//6번
//──────────────────────────────────────────────────────────────
void main()
{
int check;
int count=0;
printf("회원 수 입력 하세요");
scanf("%d",&count);
PI *member=(PI *)malloc(count*sizeof(PI) );
for(;;)
{
printf("1.회원 입력 | 2.회원 출력 | 3. 파일 저장 | 4. 파일 출력 | 5.로그인 | 7.종료\n\n");
scanf("%d",&check);
if(check==1)// 회원 입력
{Input(member,&count);}
else if (check==2)// 회원 출력
{Output(member,&count);}
else if (check==3) // 파일 저장
{FileSave(member,&count);}
// else if (check==4) // 파일 정보 출력
// {--}
else if (check==5) // 로그인
{Login(member);}
else if (check==7)
{break;} // 종료
}
}
//──────────────────────────────────────────────────────────────
//──────────────────────────────────────────────────────────────
void Input(PI *pMember,int *count)
{
int i;
for(i=0;i<*count;i++)
{
printf("\n이름을 입력하세요 : \n");
scanf("%s", pMember[i].Name);getchar();
printf("나이를 입력하세요 : \n");
scanf("%d", &pMember[i].AGE);getchar();
printf("아이디를 입력하세요 : \n");
scanf("%s", pMember[i].ID);getchar();
printf("패스워드를 입력하세요 : \n");
scanf("%s", &pMember[i].PW);getchar();
}
}
//──────────────────────────────────────────────────────────────
//──────────────────────────────────────────────────────────────
void Output(PI *pMember,int *count)
{
int i;
for(i=0;i<*count;i++)
{
printf("이름 : %s \n", pMember[i].Name);
printf("나이 : %d \n", pMember[i].AGE);
printf("아이디 : %s \n", pMember[i].ID);
printf("패스워드 : **** \n\n", &pMember[i].PW);
}
}
//──────────────────────────────────────────────────────────────
//──────────────────────────────────────────────────────────────
void Login(PI *pMember)
{
int i;
int IDCheck = 0;
int PassCheck = 0;
int LogCheck = 0;
person Log;
printf("입력하세요. 아이디\n");
scanf("%s",Log.ID);
printf("입력하세요. 비밀번호\n");
scanf("%s",Log.PW);
for(i=0;i<3;i++)
{
if(0==strcmp(Log.ID,pMember[i].ID))
{IDCheck = 1;}
if((strcmp(Log.PW,pMember[i].PW) ==0) && (0== strcmp(Log.ID,pMember[i].ID)) )
{PassCheck = 1;}
if((IDCheck==1)&&(1==PassCheck))
{LogCheck = 1;}
}
if(0==IDCheck)
{printf("아이디가 맞지 않습니다.\n");}
else if(0==PassCheck)
{printf("비밀번호가 맞지 않습니다.\n");}
else if(1==LogCheck)
{printf("로그인 성공!\n");}
}
//──────────────────────────────────────────────────────────────
//──────────────────────────────────────────────────────────────
void FileSave(PI *pMember,int *count)
{
FILE *pFile = fopen("..\\data.txt","wb");
if (pMember==NULL)
{printf("파일을 생성하지 못함\n");}
else
{
fwrite(pMember, sizeof(PI),*count,pFile);
fclose(pFile);
printf("저장 되었습니다\n");
}
}
//──────────────────────────────────────────────────────────────
//──────────────────────────────────────────────────────────────
void FileRead(PI *pMember,int *count)
{
int i;
FILE *pFile = fopen("..\\data.txt","rb");
if (pMember==NULL)
{printf("파일이 없음\n");}
else
{
fread(pMember, sizeof(PI),*count,pFile);
fclose(pFile);
}
for(i=0;i<*count;i++)
{
printf("i번 회원 이름 : %s\n",i,pMember[i].Name);
printf("i번 회원 나이 : %d\n",i,pMember[i].AGE);
}
}
//──────────────────────────────────────────────────────────────
댓글 0