为什么编译组建没有错误,不能运行
#include<stdio.h>#include<string.h>
#include <stdlib.h>
struct book //定义结构体lib
{char name[20];
int number;
int price;
char writer[20];
char state[20];
} lib[1000];
struct student //定义结构体stu
{char name[20];
char gender[20];
int edunum;
} stu[1000];
void main()
{
void input(int *all); //函数声明
void output();
void delet();
void add(int *als);
void lend();
void back();
int all=1,als=1;
int m;
int *a,*b;*a=all,*b=als;
printf("\n\n\n\n\n\t 沈阳工业大学图书管理系统\t\t\t\t\n");
printf(" \n\n ⊙⊙主⊙菜⊙单⊙⊙\n\n");
printf("\t\t**********************************************\n");
printf("\t\t* 1---------------------------录入图书信息 *\n");
printf("\t\t* 2---------------------------浏览图书信息 *\n");
printf("\t\t* 3---------------------------删除图书信息 *\n");
printf("\t\t* 4-----------------------------注册会员 *\n");
printf("\t\t* 5-----------------------------办理借书 *\n");
printf("\t\t* 6-----------------------------办理还书 *\n");
printf("\t\t**********************************************\n\n\n");
printf("\t\t请选择一个操作:");
scanf("%s",&m);
switch(m)
{case 1:input(a);break;
case 2:output();break;
case 3:delet();break;
case 4:add(b);break;
case 5:lend();break;
case 6:back();break;
}
}
void input(int *all) /*输入函数*/
{int i;
system("cls");
printf("欢迎进入图书信息录入菜单!\n");
printf("请按照提示输入:\n");
for(i=*all;i<1000;i++)
{*all++;printf("\t\t书号:");
scanf("%d",&lib[i].number);
printf("\n\t\t书名:");
scanf("%s",&lib[i].name);
printf("\n\t\t作者:");
scanf("%s",&lib[i].writer);
printf("\n\t\t价格:");
scanf("%s",&lib[i].price);
strcpy(lib[i].state,"未借");}
}
void output() /*输出函数*/
{ struct book n;
struct book m;
int i,j;
system("cls");
printf("欢迎进入图书信息查询菜单!\n");
printf("请按提示输入:\n");
printf("1:按书号查询\n");
printf("2:按书名查询\n");
scanf("%d",&j);
switch(j)
{
case 1:printf("请输入书号");
scanf("%d",&m.number);
for(i=0;i<1000;i++)
{if(m.number==lib[i].number)
printf("书名:%d\n书号:%s/n作者:%s/n价格:%d/n",lib[i].name,lib[i].number,lib[i].writer,lib[i].price);
printf("状态:%s/n",lib[i].state);
}
case 2:printf("请输入书名");
scanf("%d",&n.name);
for(i=0;i<1000;i++)
{if(strcmp(n.name,lib[i].name)==0)
printf("书名:%d\n书号:%s/n作者:%s/n价格:%d/n",lib[i].name,lib[i].number,lib[i].writer,lib[i].price);
printf("状态:%s/n",lib[i].state);
}}}
void delet() //删除函数
{struct book n;
struct book m;
int i,j,k;
system("cls");
printf("欢迎进入图书信息删除菜单!\n");
printf("请按提示删除:\n");
printf("1:按书号搜索\n");
printf("2:按书名搜索\n");
scanf("%d",&j);
switch(j)
{
case 1:printf("请输入书号");
scanf("%d",&m.number);
for(i=0;i<1000;i++)
if(m.number==lib[i].number)
{for(k=0;k<20;k++)
lib[i].name[k]='\0';
lib[i].number=0;
for(k=0;k<20;k++)
lib[i].writer[k]='\0';
lib[i].price=0;
}
case 2:printf("请输入书名");
scanf("%d",&n.name);
for(i=0;i<1000;i++)
if(strcmp(n.name,lib[i].name)==0)
{for(k=0;k<20;k++)
lib[i].name[k]='\0';
lib[i].number=0;
for(k=0;k<20;k++)
lib[i].writer[k]='\0';
lib[i].price=0;}
}
}
void add(int *als)
{int i;
system("cls");
printf("欢迎进入图书会员信息录入菜单!\n");
printf("请按照提示输入:\n");
for(i=*als;i<1000;i++)
{
*als++;
printf("\t\t姓名:");
scanf("%d",&stu[i].name);
printf("\n\t\t学号:");
scanf("%s",&stu[i].edunum);
printf("\n\t\t性别:");
scanf("%s",&stu[i].gender);
}
}
void lend()
{int i,j,n;
struct book m;
system("cls");
printf("欢迎进入图书会员借书菜单!\n");
printf("请按照提示输入:\n");
printf("请输入学号:\n");
scanf("%d",n);
for(i=0;i<1000;i++)
if(n==stu[i].edunum)
{
printf("1:按书号借取\n");
printf("2:按书名借取\n");
scanf("%d",&j);
switch(j)
{
case 1:
printf("请输入书号");
scanf("%d",&m.number);
for(i=0;i<1000;i++)
{if(m.number==lib[i].number)
strcpy(lib[i].state,"已借");
}
case 2:
printf("请输入书名");
scanf("%d",&m.name);
for(i=0;i<1000;i++)
{
if(strcmp(m.name,lib[i].name)==0)
strcpy(lib[i].state,"已借");}
}
}
}
void back()
{int i,j;
struct book n;
system("cls");
printf("欢迎进入图书会员还书菜单!\n");
printf("请按照提示输入:\n");
printf("1:按书号还书\n");
printf("2:按书名还书\n");
scanf("%d",&j);
switch(j)
{
case 1:
printf("请输入书号");
scanf("%d",&n.number);
for(i=0;i<1000;i++)
{
if(n.number==lib[i].number)
strcpy(lib[i].state,"未借");
}
case 2:
printf("请输入书名");
scanf("%d",&n.name);
for(i=0;i<1000;i++)
{
if(strcmp(n.name,lib[i].name)==0)
strcpy(lib[i].state,"未借");}
}}