猿问

出现不能使用本地函数和二进制操作的无效操作数怎么办?

代码 #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"); } } }
慕沐4487107
浏览 1450回答 1
1回答
随时随地看视频慕课网APP
我要回答