회원관리 부분인데요 잘 모르는부분이 있어서 그런데 알려주세요 ㅜ.ㅜ
무지개
#include stdio.h
#include string.h
int i;
int j;
int k;
int all;
char member[20][50];
char find[10];
void menu()
{
printf(------------회원관리-------------\n);
printf(1. 회원 가입 \n);
printf(2. 회원 검색 \n);
printf(3. 회원 변경 \n);
printf(4. 회원 삭제 \n);
printf(5. 회원 목록 \n);
printf(6. 종료 \n);
scanf(%d, &i);
}
void join()
{
{
printf(이름을 입력 하세요 : );
scanf(%s, &member[j][0]);
printf(학번을 입력 하세요 : );
scanf(%s,&member[j][10]);
printf(주소를 입력 하세요: : );
scanf(%s,&member[j][20]);
printf( 이름 : %s \n 학번 : %s \n 주소 : %s \n 입력 되었습니다. \n\n, &member[j][0], &member[j][10], &member[j][20]);
j++;
}
all = j;
}
void search()
{
printf(찾으시는 학번을 입력하세요 : );
scanf(%s, &find[10]);
for (j=0;j20;j++)
{
for(k=0;k50;k++)
{
strcmp(find,&member[j][k]);
if (strcmp(find,&member[j][k]) == 0)
{
printf(찾으시는 학번과 일치하는 회원입니다. \n);
printf( 이름 : %s \n 학번 : %s \n 주소 : %s \n, &member[j][0], &member[j][10], &member[j][20]);
break;
}
else if (strcmp(&find[10],&member[j][k]) != 0)
{
printf(찾으시는 정보가 없습니다.\n\n); break;
}
}break;
}
}
void list()
{
for (j=0;jall;j++)
{
printf(이름 : %10s 학번 : %10s 주소 : %20s \n, &member[j][0], &member[j][10], &member[j][20]);
}
printf(\n\n);
}
int main()
{
do
{
menu();
if(i==1)
{
join();
}
else if(i==2)
{
search();
}
else if(i==5)
{
list();
}
}while(i!=6);
return 0;
}
일단 전체보기 만들어놓아서 1번 회원등록이 되다가 다른메뉴 몇번 눌렀더니 등록된것들이 다 지워져요
왜 지워지는지 원인을 모르겠어요 ㅠ.ㅠ
2번에서도 문제인데요 ㅠ.ㅠ
2명이상 등록했을땐 맨 처음것만 검색해내고, 다음부터는 없다고 나오네요 ㅜ.ㅜ
부탁드립니다 ㅠ.ㅠ
-
하람
char find[10];
이렇게 배열을 선언하면
find[0]부터 find[9]까지 10개를 사용하겠다는 뜻이 됩니다.
따라서 프로그램 안에서
scanf(\%s\ -
펴라
일단 문제되는게 변수 j의 초기값이 없네요 그런데 j++를 시키면 어떻게 될까요? 생각해 보세요 ㅎㅎ