这是程序的一部分,求大神解释一下为什么运行到void read() 时出错,显示 type 'void' unexpected
#include <stdio.h>#include <stdlib.h>
#include <string.h>
#define STU struct Book
#define SIZE 100
void write();
void search();
void read();
void del();
void fdel();
void fmod();
void borrow();
void gback();
int load();
void printf_back();
void save(int n,STU*);
int modify_data(int,int);
void menu();
STU {char name[20];
char num[20];
float price;
char author[20];
int state;
char loader[20];
int sex;
long stn;
/*图书名*/ /*图书编号*/ /*价格*/ /*作者*/ /*状态 未借 1 ;借出 0 */ /*借书人姓名*/ /*性别 男 1 ; 女 0*/ /*学号*/
}book[SIZE];
void main()
{
int n,w;
do { puts("*****************************图书馆管理系统*************************\n\n");
puts("\t\t\t 1.录入信息 "); puts("\t\t\t 2.浏览图书信息 "); puts("\t\t\t 3.图书信息查询 ");
puts("\t\t\t 4.删除与改写信息 "); puts("\t\t\t 5.办理借书手续"); puts("\t\t\t 6.办理还书手续");
puts("\t\t\t 0.退出"); printf("选择功能(0~6):[ ]\b\b"); scanf("%d",&n); if(n<0||n>6) { } else w=0; w=1; getchar(); }while(w==1); switch(n) { case 1:write();break;
case 3:search();break; case 4:del();break; case 5:borrow();break; case 6:gback();break; case 0:exit(0); }
}
void write()
{ int i,m,k,n;
FILE*fp; n=load(); printf("要追加的记录个数:\n "); scanf("%d",&m); k=m+n; if((fp=fopen("book.txt","a"))==NULL) { } for(i=n;i<k;i++) {
printf("请输入第%d本图书的信息",i-n+1); printf("\n图书信息:图书名 编号 价格 作者 状态 借书人 性别 学号 \n"); printf("\n无法打开文件\n");
scanf("%s %s %f %s %d %s %d %ld",book[i].name,book[i].num,&book[i].price,book[i].author,&book[i].state,book[i].loader,&book[i].sex,&book[i].stn);
}
}
void search()
{ int i,n,k,w1=1;
FILE *fp;
STU fbook;
n=load();
do { k=-1;
printf("\n请输入查询书目名称:\n"); for(i=n;i<k;i++) if(fwrite(&book[i],sizeof(STU),1,fp)!=1) printf("文件写入错误!");
fclose(fp); printf_back();
scanf("%s", fbook.name);
for(i=0;i<n;i++) if(strcmp(fbook.name,book[i].name)==0) { k=i;
printf("\n图书信息:图书名 编号 价格 作者 状态 借书人 性别 学号 \n");
printf("%s %s %4.2f %s %d %s %d %ld\n",book[i].name,book[i].num,book[i].price,book[i].author,book[i].state,book[i].loader,book[i].sex,book[i].stn);
printf_back(); break;
if(k==-1) { }} while(k==-1&&w1==1);
printf("\n不存在这个书名的信息\n"); printf("\n1).继续 2).返回\n"); scanf("%d",&w1); if(w1==2) printf_back();
}
void read()
{
int i,n;
n=load();
printf("图书名 编号 价格 作者 状态 借书人姓名 性别 学号 \n");
for(i=0;i<n;i++)
printf("%s %s %4.2f %s %d %s %d %ld
\n",book[i].name,book[i].num,book[i].price,book[i].author,book[i].state,book[i].loader,book[i].sex,book[i].stn);
printf_back();
}