首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

高手C++做的一个数据管理系统报错

2012-11-10 
高手求教:C++做的一个数据管理系统报错void Deleteone ()//删除一个学生数据{FILE *fpchar n[13]struct

高手求教:C++做的一个数据管理系统报错
void Deleteone () //删除一个学生数据
{  
  FILE *fp;
  char n[13];
  struct imfo aa[N],b;
  int i,j;
  fp=fopen("stu.txt","r");
  cout<<"输入要删除的学生的学号:"<<endl;
  cin>>n;
  for(i=0;fread(&aa,LEN1,1,fp)==1;) // 把要保留的数据读入aa数组
  {
  if(strcmp(n,aanum)==0) fread(&b,LEN1,1,fp); // 把要删除的学生读入b
  else i++;
}  

这段报错,说没有定义类型,num的问题。最下面的两段:
--------------------Configuration: stu - Win32 Debug--------------------
Compiling...
stu.cpp
D:\Program Files\Microsoft Visual Studio\MyProjects\student\stu.cpp(109) : error C2228: left of '.num' must have class/struct/union type
D:\Program Files\Microsoft Visual Studio\MyProjects\student\stu.cpp(141) : error C2228: left of '.num' must have class/struct/union type
执行 cl.exe 时出错.

但是已经定义了啊:
truct imfo //要存入文件学生信息
{  
  char num[13];
  char name[16];
  float English;
  float Math;
  float Computer;
  float ave;
  float total;
};

[解决办法]

C/C++ code
//------------------------------void Deleteone ()                        //删除一个学生数据{      FILE *fp;    char n[13];    struct imfo aa[N],b;    int i,j;    fp=fopen("stu.txt","r");    cout<<"输入要删除的学生的学号:"<<endl;    cin>>n;    for(i=0;fread(&aa,LEN1,1,fp)==1;)                        //  把要保留的数据读入aa数组    {           if(strcmp(n,aa[i].num)==0) fread(&b,LEN1,1,fp);         /* 把要删除的学生读入b*/           else i++;    }                fclose(fp);    fp=fopen("stu.txt","w");    for(j=0;j<i;j++)       fwrite(&aa[j],LEN1,1,fp);    fclose(fp);}//另外,那些需要返回值的函数都没有return 

热点排行