出现不能使用本地函数和二进制操作的无效操作数怎么办?
代码
#include"stdio.h"
#define N 100
#include"string.h"
void a2();
void a3();
void a4();
void a1()
{
char s1[N][100],s2[N][100],s3[N][100],s4[N][100];
int a[N],b[N];
static int i=1;
printf("请输入书名为:");
getchar();
gets(s1[i]);
printf("请输入作者名为:");
gets(s2[i]);
printf("请输入出版单位为:");
gets(s4[i]);
printf("请输入ISBN为:");
gets(s3[i]);
printf("请输入价格:");
scanf("%d",&a[i]);
printf("请输入出版年份:");
scanf("%d",&b[i]);
printf("书名:");
puts(s1[i]);
printf("作者名:");
puts(s2[i]);
printf("出版单位:");
puts(s4[i]);
printf("出版年份:%d年\n",b[i]);
printf("价格:%d\n",a[i]);
printf("ISBN:");
puts(s3[i]);
i++;
void a2();
void a3();
void a4();
}
void a2()
{
char s1[N][100],s2[N][100],s3[N][100],s4[N][100];
int a[N],b[N],i,j;
char st[100],str[100];
printf("请输入要查询书的书名:");
gets(st);
for(i=1;i<=N;i++)
{
if(strcmp(st,s1[i])==0)
{
printf("书名:");
puts(s1[i]);
printf("作者名:");
puts(s2[i]);
printf("出版单位:");
puts(s4[i]);
printf("出版年份:%d年\n",b[i]);
printf("价格:%d\n",a[i]);
printf("ISBN:");
puts(s3[i]);
break;
}
}
for(j=1;j<N;j++)
for(i=0;i<N-j;i++)
{
if(strcmp(s1[i],s1[i+1])>0)
{
strcpy(str,s1[i]);
strcpy(s1[i],s1[i+1]);
strcpy(s1[i+1],str);
}
}
printf("书名按拼音顺序排序为:");
for(i=0;i<N-j;i++)
puts(s1[i]);
}
void a3()
{
char s1[N][100],s2[N][100],s3[N][100],s4[N][100];
int a[N],b[N],m,s,d,i;
char st1[100],st2[100],st3[100],st[100];
printf("1.ISBN:\n");
printf("2.作者名\n");
printf("3.出版单位\n");
printf("4.出版年份\n");
printf("5.价格\n");
printf("请输入要修改的信息的编号:");
scanf("%d",&m);
printf("请要修改书的名字:");
getchar();
gets(st);
for(i=1;i<=N;i++)
{
if(strcmp(st,s1[i])==0)
{
if(m==1) {printf("请输入修改后的ISBN:");gets(st1);strcpy(s3[i],st1);}
if(m==2) {printf("请输入修改后的作者名:");gets(st2);strcpy(s2[i],st2);}
if(m==3) {printf("请输入修改后的出版单位:");gets(st3);strcpy(s4[i],st3);}
if(m==4) {printf("请输入修改后的出版年份:");scanf("%d",&s);b[i]=s;}
if(m==5) {printf("请输入修改后的价格:");scanf("%d",&d);a[i]=d;}
break;
}
}
void a4()
{
char s1[N][100],s2[N][100],s3[N][100],s4[N][100];
int a[N],b[N];
}
int m()
{
int a;
printf("1.图书信息录入和浏览\n");
printf("2.查询和排序\n");
printf("3.修改图书信息\n");
printf("4.删除\n");
printf("5.退出\n");
printf("请输入你要选择操作的编号:");
scanf("%d",&a);
return a;
}
void main()
{
for(;;)
{
switch(m())
{
case 1:a1();break;
case 2:a2();break;
case 3:a3();break;
case 4:a4();break;
case 5:return 0;
default:printf("输入错误,请重新输入\n");
}
}
}