各位高手们 帮我看看这个程序吧 快崩溃了
#include<stdio.h>#include<string.h>
#include<stdlib.h>
#include<conio.h>
#define size 100
void print_num0();
void print_num1();
void print_num2();
void print_num3();
void print_num4();
void print_num5();
void print_num6();
void print_num7();
void print_num8();
void print_num9();
void print_num11();
int main()
{
printf("******************************************************************************\n");
printf(" 欢迎进入图书管理系统\n");
printf("********************************************************************************\n");
char name[]="admin",passw[]="aaa";
char pname[]="guibin",ppassw[]="aaa";
char usern[10];
char userp[10];
char c;
int j=0;
int l=0;
int getch();
printf("请输入您的姓名:");
gets(usern);
printf("请输入您的密码:");
for(j=0;j!=10;++j);
{userp[j]='\0';}
while((c=getch())!=13)
{
userp[l++]=c;
passw[j++]=c;
putchar('*');
}
userp[l]='\0';
l=0;
printf("\n");
if(strcmp(name,usern)==0&&strcmp(userp,passw)==0)
{printf("登陆成功!\n你是管理员\n");
print_num1();
}
else if(strcmp(name,pname)==0&&strcmp(userp,ppassw)==0)
{printf("登陆成功!\n你是普通会员\n");print_num2();}
else printf("登录失败\n");
return 0;
}
void print_num0()
{
system("cls");
printf(" ==================================================\n");
printf(" = =\n");
printf(" = =\n");
printf(" = 欢 迎 进 入 图 书 浏 览 界 面 =\n");
printf(" = =\n");
printf(" = =\n");
printf(" ==================================================\n\n");
printf(" ==========1.输入图书名浏览相应图书信息========\n\n");
printf(" ================2.浏览结束====================\n\n");
char grade;
printf(" 您的选择:");
scanf("%s",&grade);
switch(grade)
{case'1':printf("输入图书名浏览相应图书信息\n");print_num11();
case'2':printf("浏览结束\n");break;
}
}
void print_num1()
{
printf("==1.初始化图书信息=========2.增加图书信息=====================\n");
printf("==3.修改图书信息===========4.删除图图书信息===================\n");
printf("==5.按普通价格从高到低浏览图书信息============================\n");
printf("==6.增加会员信息==============================================\n");
printf("==7.删除会员信息===========8.按名字浏览会员信息===============\n");
printf("================0.程序结束====================================\n");
char n;
printf("请输入您的选择:");
scanf("%s",&n);
switch(n)
{
case'1':printf("初始化图书信息\n");print_num3();break;
case'2':printf("增加图书信息\n");print_num4();break;
case'3':printf("修改图书信息\n");print_num5();break;
case'4':printf("删除图书信息\n");print_num6();break;
case'5':printf("按普通价格从高到低浏览图书信息\n");print_num7();break;
case'6':printf("增加会员信息\n");print_num8();break;
case'7':printf("删除会员信信息\n");print_num9();break;
case'8':printf("按名字浏览会员信息\n");print_num0();break;
case'0':printf("程序结束\n");break;
}
}
typedef struct
{
long number;
char name[100];
float price;
}Book;
typedef struct
{ long number;
char name[9];
char mpass[7];
}memeber;
void print_num3()
{
FILE *fp;
Book boo,show;
char bookdat[40]="Book";
int count=0;
fp=fopen("bookdat","wb+");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
printf("请输入图书的序号、名称、价格\n");
while(count<=size)
{
printf("\n请输入图书的序号:");
scanf("%ld",&boo.number);
if(boo.number==0)
break;
printf("请输入图书的名称:");
scanf("%s",boo.name);
printf("请输入图书的价格:");
scanf("%f",&boo.price);
if(fwrite(&boo,sizeof(Book),1,fp)!=1)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
count++;
}
if(count>size)
printf("输入数据已满\n");
fclose(fp);
printf("所输入图书信息如下:\n");
fp=fopen("bookdat","rb");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
printf("序号\t名称\t价格\n");
while(fread(&show,sizeof(Book),1,fp)!=0)
printf("%ld\t%s\t%.1f\t%.1f\n",show.number,show.name,show.price);
fclose(fp);
}
void print_num4()
{
FILE *fp;
Book boo,show;
char bookdat[40]="Book";
int n;
int count=0;
fp=fopen("bookdat","wb+");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
printf("请输入图书的序号,查询是否存在\n");
scanf("%d,&n");
if(n==boo.number)
{
printf("此号已存在!!!请重新输入\n");
}
else
printf("此号不存在.请输入图书的序号、名称、价格\n");
while(count<=size)
{
printf("\n请输入图书的序号:");
scanf("%ld",&boo.number);
if(boo.number==0)
break;
printf("请输入图书的名称:");
scanf("%s",boo.name);
printf("请输入图书的价格:");
scanf("%f",&boo.price);
if(fwrite(&boo,sizeof(Book),1,fp)!=1)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
count++;
}
if(count>size)
printf("输入数据已满\n");
fclose(fp);
printf("所输入图书信息如下:\n");
fp=fopen("bookdat","rb");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
printf("序号\t名称\t价格\n");
while(fread(&show,sizeof(Book),1,fp)!=0)
printf("%ld\t%s\t%.1f\t%.1f\n",show.number,show.name,show.price);
fclose(fp);
}
void print_num5()
{
FILE *fp;
Book boo,s[size],show,temp;
char name[9],next,bookdat[40]="Book";
int recnumber,i,result=0;
float price;
begin:
printf("请输入要修改图书价格的名称");
scanf("%s",name);
fp=fopen(bookdat,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
while(feof(fp)==0)
{
if(fread(&temp,sizeof(Book),1,fp)!=0)
{
if(strcmp(temp.name,name)==0)
result=1;
}
}
if(result==0)
{
printf("要修改的图书%s不存在\n",name);
fclose(fp);
goto begin;
}
fp=fopen(bookdat,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
recnumber=0;
while((fread(&boo,sizeof(Book),1,fp))!=0)
{
if(strcmp(boo.name,name)==0)
{
printf("请输入要修改图书%s的价格",name);
scanf("%f",&price);
s[recnumber].number=boo.number;
strcpy(s[recnumber].name,boo.name);
s[recnumber].price=price;
recnumber++;
}
else
{
s[recnumber].number=boo.number;
strcpy(s[recnumber].name,boo.name);
s[recnumber].price=boo.price;
recnumber++;
}
}
fclose(fp);
fp=fopen(bookdat,"wb+");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
for(i=0;i<recnumber;i++)
{
if(fwrite(&s[i],sizeof(Book),1,fp)!=1)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
}
fclose(fp);
printf("修改成功!\n");
printf("是否继续修改(y/n)\n");
next=getchar();
if(next=='y'||next=='Y')
goto begin;
printf("所修改图书信息如下:\n");
fp=fopen(bookdat,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
printf("序号\t名称\t价格\t会员价\t\n");
while(fread(&show,sizeof(Book),1,fp)!=0)
printf("%ld\t%s\t%.1f\t%.1f\n",show.number,show.name,show.price);
fclose(fp);
}
void print_num6()
{
FILE *fp;
Book boo,s[size],show,temp;
char name[10],next,bookdat[40]="Book";
int recnumber,i,result=0;
begin:
printf("请输入要删除图书的名字");
scanf("%s",name);
fp=fopen(bookdat,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
while(feof(fp)==0)
{
if(fread(&temp,sizeof(Book),1,fp)!=0)
{
if(strcmp(temp.name,name)==0)
result=1;
}
}
if(result==0)
{
printf("要删除的图书%s不存在\n",name);
fclose(fp);
goto begin;
}
fclose(fp);
fp=fopen(bookdat,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
recnumber=0;
while((fread(&boo,sizeof(Book),1,fp))!=0)
{
if(strcmp(boo.name,name)!=0)
{
s[recnumber].number=boo.number;
strcpy(s[recnumber].name,boo.name);
s[recnumber].price=boo.price;
recnumber++;
}
}
fclose(fp);
fp=fopen(bookdat,"wb+");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
for(i=0;i<recnumber;i++)
{
if(fwrite(&s[i],sizeof(Book),1,fp)!=1)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
}
fclose(fp);
printf("删除成功!\n");
printf("是否继续删除(y/n)\n");
next=getchar();
if(next=='y'||next=='Y')
goto begin;
printf("删除要删除的图书后如下:\n");
fp=fopen(bookdat,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
printf("序号\t名称\t价格\t会员价\n");
while(fread(&show,sizeof(Book),1,fp)!=0)
printf("%ld\t%s\t%.1f\t%.1f\n",show.number,show.name,show.price);
fclose(fp);
}
void print_num7()
{
FILE *fp;
char bookdat[40]="Book";
Book boo,s[size],show;
int recnumber,i,j,k;
fp=fopen(bookdat,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
recnumber=0;
while(fread(&boo,sizeof(Book),1,fp)!=0)
{
s[recnumber].number=boo.number;
strcpy(s[recnumber].name,boo.name);
s[recnumber].price=boo.price;
recnumber++;
}
fclose(fp);
if(recnumber>1)
{
for(i=0;i<recnumber-1;i++)
{
k=i;
for(j=i+1;j<recnumber;j++)
if(s[k].price<s[j].price)
k=j;
boo.number=s[k].number;
strcpy(boo.name,s[k].name);
boo.price=s[k].price;
s[k].number=s[i].number;
strcpy(s[k].name,s[i].name);
s[k].price=s[i].price;
s[i].number=boo.number;
strcpy(s[i].name,boo.name);
s[i].price=boo.price;
}
}
fp=fopen(bookdat,"wb+");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
for(i=0;i<recnumber;i++)
{
if(fwrite(&s[i],sizeof(Book),1,fp)!=1)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
}
fclose(fp);
printf("浏览图书信息如下:\n");
fp=fopen(bookdat,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
printf("序号\t名称\t价格\t会员价\n");
while(fread(&show,sizeof(Book),1,fp)!=0)
printf("%ld\t%s\t%.1f\t%.1f\n",show.number,show.name,show.price);
fclose(fp);
}
void print_num8()
{
FILE *fp;
memeber boo,show;
char bookdat[40]="memeber";
int count=0;
fp=fopen(bookdat,"ab+");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
printf("请输入会员的序号、名字、密码、权限\n");
while(count<=size)
{
printf("\n请输入会员的序号:");
scanf("%ld",&boo.number);
if(boo.number==0)
break;
printf("请输入会员的名字:");
scanf("%s",boo.name);
printf("请输入会员密码:");
scanf("%s",boo.mpass);
if(fwrite(&boo,sizeof(memeber),1,fp)!=1)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
count++;
}
if(count>size)
printf("输入数据已满\n");
fclose(fp);
printf("所输入图书信息如下:\n");
fp=fopen(bookdat,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
printf("序号\t姓名\t密码\n");
while(fread(&show,sizeof(memeber),1,fp)!=0)
printf("%ld\t%s\t%s\t%d\n",show.number,show.name,show.mpass);
fclose(fp);
}
void print_num9()
{
FILE *fp;
memeber boo,s[size],show,temp;
char name[10],next,bookdat[40]="memeber";
int recnumber,i,result=0;
begin:
printf("请输入要删除会员信息的名字");
scanf("%s",name);
fp=fopen(bookdat,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
while(feof(fp)==0)
{
if(fread(&temp,sizeof(memeber),1,fp)!=0)
{
if(strcmp(temp.name,name)==0)
result=1;
}
}
if(result==0)
{
printf("要删除的会员%s不存在\n",name);
fclose(fp);
goto begin;
}
fclose(fp);
fp=fopen(bookdat,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
recnumber=0;
while((fread(&boo,sizeof(memeber),1,fp))!=0)
{
if(strcmp(boo.name,name)!=0)
{
s[recnumber].number=boo.number;
strcpy(s[recnumber].name,boo.name);
strcpy(s[recnumber].mpass,boo.mpass);
recnumber++;
}
}
fclose(fp);
fp=fopen(bookdat,"wb+");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
for(i=0;i<recnumber;i++)
{
if(fwrite(&s[i],sizeof(memeber),1,fp)!=1)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
}
fclose(fp);
printf("删除成功!\n");
printf("是否继续删除(y/n)\n");
next=getchar();
if(next=='y'||next=='Y')
goto begin;
printf("删除信息后会员信息如下:\n");
fp=fopen(bookdat,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
printf("序号\t姓名\t密码\n");
while(fread(&show,sizeof(memeber),1,fp)!=0)
printf("%ld\t%s\t%s\t%d\n",show.number,show.name,show.mpass);
fclose(fp);
}
void print_num11()
{
FILE *fp;
char bookdat[40]="memeber";
memeber boo,s[size],show;
int recnumber,i,j,k;
fp=fopen(bookdat,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
recnumber=0;
while(fread(&boo,sizeof(memeber),1,fp)!=0)
{
s[recnumber].number=boo.number;
strcpy(s[recnumber].name,boo.name);
strcpy(s[recnumber].mpass,boo.mpass);
recnumber++;
}
fclose(fp);
if(recnumber>1)
{
for(i=0;i<recnumber-1;i++)
{
k=i;
for(j=i+1;j<recnumber;j++)
if(strcmp(s[k].name,s[j].name)>0)
k=j;
boo.number=s[k].number;
strcpy(boo.name,s[k].name);
strcpy(boo.mpass,s[k].mpass);
s[k].number=s[i].number;
strcpy(s[k].name,s[i].name);
strcpy(s[k].mpass,s[i].mpass);
s[i].number=boo.number;
strcpy(s[i].name,boo.name);
strcpy(s[i].mpass,boo.mpass);
}
}
fp=fopen(bookdat,"wb+");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
for(i=0;i<recnumber;i++)
{
if(fwrite(&s[i],sizeof(memeber),1,fp)!=1)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
}
fclose(fp);
printf("浏览会员信息如下:\n");
fp=fopen(bookdat,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",bookdat);
exit(1);
}
printf("序号\t姓名\t密码\t权限\n");
while(fread(&show,sizeof(memeber),1,fp)!=0)
printf("%ld\t%s\t%s\t%d\n",show.number,show.name,show.mpass);
fclose(fp);
}我怎么运行不了 求调试 小弟跪求啊