밑에 search 함수에서 fscanf를 저따위로 썼는데 ... 코딩을하게되면
그 오류보고 알지??? 오류보고 가 뜨는데 어떻게해야되요?




#include <stdio.h>
int input(void);
int output(void);
int reset(void);
void search(void);

FILE* file;
struct excess
{
 int mynumber;
 char myname[20];
 char *grade;
 int point1;
 int point2;
 int point3;
 int point4;
 int point5;
}ex[100];
typedef struct excess exx;
exx ex[100];
exx * ptr;


//----------------------------------------------------------------------------------
int main(void)
{
 int a;
 while(1)
 {
  printf(\"\\n\\n============================MENUUU!!!!!!!!!!============================\\n\");
  printf(\"1. input   2. load info    3. Reset   4.search   5. Out //choose one : \");
  scanf(\"%d\", &a);
  printf(\"========================================================================\\n\");
 if(a==5)
 {
  printf(\"==============================GET===OUT!!!==============================\\n\");
  break;
 }
  switch(a)
  {
  case 1:
   input();
   break;
  case 2:
   output();
   break;
  case 3:
 reset();
 break;
  case 4:
 search();
 break;
  default : printf(\"you\'ve got the wrong number!!\");
  }
 }
 return 0;
}

//-------------------------------------------------------------------------------------------------

 

int input(void)
{
 int i = 0;
 
 
 printf(\"학번에 0을 입력시 Input종료\\n\");
while(1)
{
 printf(\"학번 : \");
 scanf(\"%d\", &ex[i].mynumber);
 if(ex[i].mynumber==0)
 {break;}
 printf(\"이름 : \");
 scanf(\"%s\", ex[i].myname);
 printf(\"과목(1) : \");
 scanf(\"%d\", &ex[i].point1);
 printf(\"과목(2) : \");
 scanf(\"%d\", &ex[i].point2);
 printf(\"과목(3) : \");
 scanf(\"%d\", &ex[i].point3);
 printf(\"과목(4) : \");
 scanf(\"%d\", &ex[i].point4);
 
 ex[i].point5 = (ex[i].point2+ex[i].point2+ex[i].point3+ex[i].point4)/4;

 file=fopen(\"excess.txt\", \"a+\");
 printf(\"=================%d명 입력!!!!학번에 0을 입력시 Input종료================\\n\",i+1);

 
 if(ex[i].point5>=90)
 {
  ex[i].grade=\"A+\";
 }
 if(ex[i].point5>=80 && ex[i].point5<90)
 {
  ex[i].grade=\"B+\";
 }
 if(ex[i].point5>=70 && ex[i].point5<80)
 {
  ex[i].grade=\"C+\";
 }
if(ex[i].point5>=60 && ex[i].point5<70)
 {
  ex[i].grade=\"D+\";
 }
 if(ex[i].point5>=50 && ex[i].point5<60)
 {
  ex[i].grade=\"E+\";
 }
 if(ex[i].point5<50)
 {
  ex[i].grade=\"F\";
 }
 if(file == NULL)
 {
  printf(\"==============file open error!!===============\\n\\n\\n\\n\\n\");
  return 1;
 }
 fprintf(file, \"%-10d%10s%10d%10d%10d%10d%10s\\n\", ex[i].mynumber, ex[i].myname, ex[i].point1, ex[i].point2, ex[i].point3, ex[i].point4,ex[i].grade);
 fclose(file);
 i++;
}
 return 0;
}


//-----------------------------------------------------------------------------------------------------


int reset(void)
{
 
 FILE* fil;
 fil=fopen(\"excess.txt\", \"w+\");
 fprintf(fil, \"\");
 fclose(fil);
 printf(\"==============================!!!RESET!!!==============================\\n\");
 return 0;
}


//---------------------------------------------------------------------------------------------------


void search(void)
{
 int f=0;
 int i=0;
 int b=0;
 int c=0;
 char * a[20];
file=fopen(\"excess.txt\",\"r\");

  while(fscanf(file,\"%d %s %d %d %d %d %s\", ex[f].mynumber, ex[f].myname, ex[f].point1, ex[f].point2, ex[f].point3, ex[f].point4, ex[f].grade)!=feof(file))
 {
 
   fprintf(file, \"%-10d%10s%10d%10d%10d%10d%10s\\n\", ex[f].mynumber, ex[f].myname, ex[f].point1, ex[f].point2, ex[f].point3, ex[f].point4,ex[f].grade);
 
  f++;
 }
 fclose(file);

 printf(\"학번 검색은 1번, 이름 검색은 2번, 등급 검색은 3번 : \");
 scanf(\"%d\",&b);


 switch(b)
 {
 case 2 :
 printf(\"\\n이름을 입력 : \");
 scanf(\"%s\",a);
 *a=(*ex).myname;
 ptr=&ex;
 printf(\"\\n    학번      이름         과목1     과목2     과목3     과목4     등급\\n\");
 printf(\"%-10d%10s%10d%10d%10d%10d%10s\\n\", (*ptr).mynumber, (*ptr).myname, (*ptr).point1, (*ptr).point2, (*ptr).point3, (*ptr).point4, (*ptr).grade);
 break;

 case 1 :
 printf(\"\\n학번을 입력 : \");
 scanf(\"%d\",&c);
 c=(*ex).mynumber;
 ptr=&ex;
 printf(\"\\n    학번      이름         과목1     과목2     과목3     과목4     등급\\n\");
 printf(\"%-10d%10s%10d%10d%10d%10d%10s\\n\", (*ptr).mynumber, (*ptr).myname, (*ptr).point1, (*ptr).point2, (*ptr).point3, (*ptr).point4, (*ptr).grade);
 break;

 case 3 :
 printf(\"\\n등급 입력 : \");
 scanf(\"%s\",a);
 *a=(*ex).grade;
 ptr=&ex;
 printf(\"\\n    학번      이름         과목1     과목2     과목3     과목4     등급\\n\");
printf(\"%-10d%10s%10d%10d%10d%10d%10s\\n\", (*ptr).mynumber, (*ptr).myname, (*ptr).point1, (*ptr).point2, (*ptr).point3, (*ptr).point4, (*ptr).grade);
break;
 }
 
/*scanf(\"%d\",&i);
 i=i--;
 ptr=&ex[i];
 */

}

 

 

//------------------------------------------------------------------------------------------------------

 

int output(void)
{
 FILE* file;
 char kkk;
 file = fopen(\"excess.txt\", \"rt\");
 if(file==NULL)
 {
  printf(\"file open error!!\\n\");
   return 1;
 }
 printf(\"\\n    학번      이름         과목1     과목2     과목3     과목4     등급\\n\");

 while(1)
 {
  if(kkk ==EOF)
  {
   printf(\"\\n\");
   break;
  }
 
  kkk = fgetc(file);
  printf(\"%c\", kkk);
 }
 return 0;
}