프로그래밍

 3198, 1/160 회원가입  로그인  
   짹잭이
   http://jack2.tistory.com
   [C언어] 현재 ubuntu에서 간단한 회원관리 프로그램을 작성 중인데요

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3422 [복사]


gcc 로 컴파일시에

jack2@Security:~/바탕화면/C/study_Cube/project$ gcc -o confirm conf
irm.c
confirm.c:10: warning: ‘index’ initialized and declared ‘extern’
confirm.c:10: error: ‘index’ redeclared as different kind of symbol

아래와 같은 오류가 생겨서 컴파일이 안되는데 구글링을 해도 이해가 안되서 그런데
혹시 아시는 분 있으시면 도와주세요? ㅠ.ㅠ

Error가 발생하는 부분은 extern int index=0; 인 것 같고요
코드 내용은 아래와 같습니다.

#include <stdio.h>
#include <stdio_ext.h> //__fpurge(stdin) 사용시 적용
#include <stdlib.h>
#include <string.h>

#define NAME_LEN 20 //회원명의 길이
#define PW_LEN 20 //비밀번호 길이
#define MEMBER_COUNT 100//회원수

extern int index=0;

typedef struct Member
{
char name[NAME_LEN]; //회원명
int number; //학번
char passwd[PW_LEN]; // 비밀번호

}MEMBER;

int Menu();
void Regist_Member(MEMBER *p);
void Display_MemberInfo(const MEMBER *p);
void Edit_Member(MEMBER *p);
void Sort_Member(MEMBER *p);
void Search_Member(MEMBER *p);
void Delete_Member(MEMBER *p);

int main()
{
MEMBER m[MEMBER_COUNT]={0};

while(1)
{
system("clear");
switch(Menu())
{
case 1: Regist_Member(m); break;
case 2: Display_MemberInfo(m); break;
case 3: Edit_Member(m); break;
case 4:
system("clear");
printf("\n\n\t\t** 도서정보 정렬 **\n\n");
Sort_Member(m);
printf("\n\n\t\t정렬 완료..!!\n\n");
system("pause");
break;
case 5: Search_Member(m); break;
case 6: Delete_Member(m); break;
case 0:
printf("\n\n\t\t 프로그램을 종료합니다.\n\n");
exit(0);
}
}

return 0;
}

// 회원관리 프로그램 시작 화면
int Menu()
{
int choice;

printf(

"\n\n\t\t** 회원관리 프로그램 **\n"
"\t\t-------------------------\n"
"\t\t1. 회원 가입\n"
"\t\t2. 회원 정보 출력\n"
"\t\t3. 회원 정보 수정\n"
"\t\t4. 회원 정보 정렬\n"
"\t\t5. 회원 정보 검색\n"
"\t\t6. 회원 탈퇴\n"
"\t\t0. 프로그램 종료\n"
"\t\t-------------------------\n"
"\t\t선택 : [ ]\b\b"

);
scanf("%d",&choice);
system("clear");

return choice;
}


// 1. 회원 가입
void Regist_Member(MEMBER *p)
{
int i;
char name[NAME_LEN];
char yn; //yes or no 선택시 받기
system("cls");

if(index<MEMBER_COUNT)
{
for(;index<MEMBER_COUNT;)
{
start:
system("cls");
printf("회원명 : ");
__fpurge(stdin); //fflush(stdin);
gets(name);
for(i=0;i<index;i++)
{
if(strcmp(p[i].name, name)==0)
{
printf("이미 등록된 회원입니다!!\n");
system("pause");
goto start;
}
}
strcpy(p[index].name, name);
printf("비밀번호: ");
__fpurge(stdin);
gets(p[index].passwd);
printf("학 번: ");
scanf("%d", &p[index].number);
index++;
printf("\n다음 회원이 가입되었습니다\n");
printf("회원명 : %s\n", p[index-1].name);
printf("학 번 : %d\n", p[index-1].number);
printf("\n추가 입력하시겠습니까(Y/N)? ");
__fpurge(stdin);
scanf("%c", &yn);
if(yn=='Y'||yn=='y')
{
if(index<MEMBER_COUNT)
{
continue;
}
else
{
system("clear");
printf("더 이상 회원을 등록할 수 없습니다. 관리자에게 문의하세요\n");
system("pause");
return;
}
}
else
{
return;
}
}
}
else
{
printf("더 이상 회원을 등록할 수 없습니다. 관리자에게 문의하세요\n");
system("pause");
}

}

void Display_MemberInfo(const MEMBER *p)
{
}

void Edit_Member(MEMBER *p)
{
}

void Sort_Member(MEMBER *p)
{
}

void Search_Member(MEMBER *p)
{
}

void Delete_Member(MEMBER *p)
{
}

  Hit : 6338     Date : 2012/05/23 12:05