|
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
|