#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct regis //책 등록
{
 char name[100]; //책 제목
 char person[100]; //저자
 char position[100]; //위치
}regis[300]; //300개 책등록가능

struct member //회원등록
{
 char name1[20]; //이름
 char grade[20]; //학년
} member[100]; //100명 회원등록가능

int size=0; //파일에서 데이터 불러올때 씀
int i=0;

void prog(); //프로그램 메인
void add(); //책등록
void list(); //책 목록
void memberadd(); //회원등록
void revise(); //수정
void del(); //삭제

int main(void)
{
 prog();
}

void prog() //프로그램 메인
{
 int a=0;

 while(1) //무한 반복 루프
 {
  printf("\n\n ======UBS 도서 관리 프로그램======\n\n\n");
  printf("\t메뉴 \n\n");
  printf("\t1. 책등록 \n");
  printf("\t2. 책 검색 \n");
  printf("\t3. 회원 등록 \n");
  printf("\t4. 회원 수정 \n");
  printf("\t5. 삭제 \n");
  printf("ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ\n");
 
  printf("\t원하는 목록를 입력하세요 : ");
  scanf("%d", &a); //원하는 목록

  if(a>5) //목록에 없는 숫자를 눌렸을때
  {
   printf("목록이 없습니다.\n");
   do
   {
    printf("다시 원하는 숫자를 입력하세요 : ");
    scanf("%d", &a);
   }while (a>5);
  }

  switch(a) //원하는 목록으로 들어갈때
  {
   case 1 :
    add();
     break;

   case 2 :
    list();
    break;

   case 3 :
    memberadd();
    break;

   case 4 :
    revise();
    break;

   case 5 :
    del();
    break;
  }
 }
 
}

void add() //책등록
{
 system("cls");

 printf("등록 권수 : ");
 scanf("%d", &size);

 for(i=1; i<=size; i++)
 {
 FILE *re = fopen("reg.txt", "at"); //데이터 추가

 printf("1. 책 등록\n");
 printf("책 제목 : ");
 scanf("%s", regis[i].name);
 printf("저자 : ");
 scanf("%s", regis[i].person);
 printf("위치 : ");
 scanf("%s", regis[i].position);

 fprintf(re, "%s\t%s\t%s\n", regis[i].name, regis[i].person, regis[i].position); //텍스트에 저장
 fclose(re); //데이터 추가 끝
 system("cls"); //화면창만 지움
 }

}

void list() //책 목록
{
 
 
 FILE *re = fopen("reg.txt", "r");
 system("cls");
  if(re==NULL)
  {
   printf("ERROR!");
  }    
  while(!feof(re)) //파일의 끝을 확인 하는 문구
   {
    fscanf(re,"%d %s %s %s %d\n", regis[i].name, regis[i].person, regis[i].position);
    i++;

    for(i=1; i<=size; i++)
    {
    printf("책 제목 : %s\n", regis[i].name);
    printf("저자 : %s\n", regis[i].person);
    printf("위치 : %s\n", regis[i].position);
    printf("아무키나 눌러주세요.");
    break;
   
    }
   }
 fclose(re);
}

 

void memberadd() //회원 등록
{
 int j=0;
 int a=0;

 FILE *me = fopen("member.txt", "at"); //데이터 추가

 printf("이름 : ");
 scanf("%s", member[j].name1);
 printf("학년 : ");
 scanf("%s", member[j].grade);

 fprintf(me, "%s\t%s\n", member[j].name1, member[j].grade); //텍스트에 저장
 fclose(me); //데이터 추가 끝

 printf("아무키나 눌러주세요.==>");
 scanf("%d", a);

 system("cls"); //화면창만 지움

}

void revise() //회원 수정
{
 char *memre;
 int i;
 int j;
 char name2[100];
 char grade1[100];

 FILE *re = fopen("member.txt", "r");

 while(!feof(re))
 {
  fscanf(re, "%s %s", member[i].name1, member[i].grade);
 }

 fclose(re);

 re = fopen("member.txt", "wt");
 
 printf("회원 이름 : ");
 scanf("%s", memre);

 for(i=0; i<size; i++)
 {
  if (strcmp(member[i].name1, memre) == 0)
  {
   printf("이름 : %s\t학년 : %s", member[i].name1, member[i].grade);

   printf("이름 : ");
   scanf("%s", name2);
   strcpy(member[i].name1, name2);

   printf("이름 : ");
   scanf("%s", grade1);
   strcpy(member[i].grade, grade1);
  }
 
 }

 for(j=0; j<size; j++)
 {
  fprintf(re, "%s %s\n", member[i].name1, member[i].grade);
 }
 system("cls");
}

void del() //삭제
{

 char delbook = 0;
 char name1 = NULL;
 char person1 = NULL;
 char position1 = NULL;
 int i;

 FILE *re = fopen("reg.txt", "r");

 while (!feof(re))
 {
  fscanf(re, "%s %s %s", regis[i].name, regis[i].person, regis[i].position);
 }
 fclose(re);

 re = fopen("reg.txt", "wt");

 printf("삭제할 책 제목을 입력하세요 : ");
 scanf("%s", delbook);
 

 for(i=1;i<size;i++)
 {
  if(strcmp(delbook,regis[i].name)==0)
  {
   strcpy(name1, regis[i].name);
   strcpy(person1, regis[i].person);
   strcpy(position1, regis[i].position);
   printf("삭제되었습니다.\n");
  }
 }

 system("cls");
}


여기서 제가 안되는거는요
텍스트파일에 저장되어있는 리스트 안불러와져요....
그리고 삭제 부분이 빌드가 안되고요...
삭제부분에서 중복된 도서가 있으면 중복된도서중 한권만 삭제되고 만들어주시면 감사해요~~~
다른곳도 갠찬게했는지 봐주세요~~~