图书管理系统实训.docx
- 文档编号:23901979
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:29
- 大小:18.15KB
图书管理系统实训.docx
《图书管理系统实训.docx》由会员分享,可在线阅读,更多相关《图书管理系统实训.docx(29页珍藏版)》请在冰豆网上搜索。
图书管理系统实训
#include
#include
#include
#definesize100
typedefstruct
{
longnumber;//会员的序号
charname[9];//会员的名字
charps[7];//会员的密码
intpower;//会员的权限
}huiyuan;
typedefstruct
{
longnumber;//图书的序号
charname[100];//图书的名称
floatprice;//图书的价格
floatmemberprice;//图书的会员价
}books;
voidinitbooks()
{
FILE*fp;
bookstmps,show;
chardatafile[40]="books";
intcount=0;
fp=fopen(datafile,"wb+");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
printf("请您输入图书的序号、名称、价格\n");
while(count<=size)
{
printf("\n请您输入图书的序号:
");
scanf("%ld",&tmps.number);
if(tmps.number==0)
break;
printf("请您输入图书的名称:
");
scanf("%s",tmps.name);
printf("请您输入图书的价格:
");
scanf("%f",&tmps.price);
tmps.memberprice=tmps.price*0.8f;
if(fwrite(&tmps,sizeof(books),1,fp)!
=1)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
count++;
}
if(count>size)
printf("输入数据已满\n");
fclose(fp);
printf("所输入图书信息如下:
\n");
fp=fopen(datafile,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
printf("序号\t名称\t价格\t会员价\n");
while(fread(&show,sizeof(books),1,fp)!
=0)
printf("%ld\t%s\t%.1f\t%.1f\n",show.number,show.name,show.price,show.memberprice);
fclose(fp);
}
voidaddbooks()
{
FILE*fp;
bookstmps,show;
chardatafile[40]="books";
intcount=0;
fp=fopen(datafile,"ab+");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
printf("请输入图书的序号、名称、价格\n");
while(count<=size)
{
printf("\n请输入图书的序号:
");
scanf("%ld",&tmps.number);
if(tmps.number==0)
break;
printf("请输入图书的名称:
");
scanf("%s",tmps.name);
printf("请输入图书的价格:
");
scanf("%f",&tmps.price);
tmps.memberprice=tmps.price*0.8f;
if(fwrite(&tmps,sizeof(books),1,fp)!
=1)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
count++;
}
if(count>size)
printf("输入数据已满\n");
fclose(fp);
printf("所输入图书信息如下:
\n");
fp=fopen(datafile,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
printf("序号\t名称\t价格\t会员价\n");
while(fread(&show,sizeof(books),1,fp)!
=0)
printf("%ld\t%s\t%.1f\t%.1f\n",show.number,show.name,show.price,show.memberprice);
fclose(fp);
}
voidmodifybooks()
{
FILE*fp;
bookstmps,s[size],show,temp;
charname[9],next,datafile[40]="books";
intrecnumber,i,result=0;
floatprice;
begin:
printf("请输入要修改图书价格、会员价的名称");
scanf("%s",name);
fp=fopen(datafile,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
while(feof(fp)==0)
{
if(fread(&temp,sizeof(books),1,fp)!
=0)
{
if(strcmp(temp.name,name)==0)
result=1;
}
}
if(result==0)
{
printf("要修改的图书%s不存在\n",name);
fclose(fp);
gotobegin;
}
fp=fopen(datafile,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
recnumber=0;
while((fread(&tmps,sizeof(books),1,fp))!
=0)
{
if(strcmp(tmps.name,name)==0)
{
printf("请输入要修改图书%s的价格",name);
scanf("%f",&price);
s[recnumber].number=tmps.number;
strcpy(s[recnumber].name,tmps.name);
s[recnumber].price=price;
s[recnumber].memberprice=price*0.8f;
recnumber++;
}
else
{
s[recnumber].number=tmps.number;
strcpy(s[recnumber].name,tmps.name);
s[recnumber].price=tmps.price;
s[recnumber].memberprice=tmps.price*0.8f;
recnumber++;
}
}
fclose(fp);
fp=fopen(datafile,"wb+");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
for(i=0;i { if(fwrite(&s[i],sizeof(books),1,fp)! =1) { printf("文件%s打不开\n",datafile); exit (1); } } fclose(fp); printf("修改成功! \n"); printf("是否继续修改(y/n)\n"); next=getchar(); if(next=='y'||next=='Y') gotobegin; printf("所修改图书信息如下: \n"); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } printf("序号\t名称\t价格\t会员价\t\n"); while(fread(&show,sizeof(books),1,fp)! =0) printf("%ld\t%s\t%.1f\t%.1f\n",show.number,show.name,show.price,show.memberprice); fclose(fp); } voiddelbooks() { FILE*fp; bookstmps,s[size],show,temp; charname[10],next,datafile[40]="books"; intrecnumber,i,result=0; begin: printf("请输入要删除图书的名字"); scanf("%s",name); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } while(feof(fp)==0) { if(fread(&temp,sizeof(books),1,fp)! =0) { if(strcmp(temp.name,name)==0) result=1; } } if(result==0) { printf("要删除的图书%s不存在\n",name); fclose(fp); gotobegin; } fclose(fp); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } recnumber=0; while((fread(&tmps,sizeof(books),1,fp))! =0) { if(strcmp(tmps.name,name)! =0) { s[recnumber].number=tmps.number; strcpy(s[recnumber].name,tmps.name); s[recnumber].price=tmps.price; s[recnumber].memberprice=tmps.price*0.8f; recnumber++; } } fclose(fp); fp=fopen(datafile,"wb+"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } for(i=0;i { if(fwrite(&s[i],sizeof(books),1,fp)! =1) { printf("文件%s打不开\n",datafile); exit (1); } } fclose(fp); printf("删除成功! \n"); printf("是否继续删除(y/n)\n"); next=getchar(); if(next=='y'||next=='Y') gotobegin; printf("删除要删除的图书后如下: \n"); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } printf("序号\t名称\t价格\t会员价\n"); while(fread(&show,sizeof(books),1,fp)! =0) printf("%ld\t%s\t%.1f\t%.1f\n",show.number,show.name,show.price,show.memberprice); fclose(fp); } voidshowbooks() { FILE*fp; chardatafile[40]="books"; bookstmps,s[size],show; intrecnumber,i,j,k; fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } recnumber=0; while(fread(&tmps,sizeof(books),1,fp)! =0) { s[recnumber].number=tmps.number; strcpy(s[recnumber].name,tmps.name); s[recnumber].price=tmps.price; s[recnumber].memberprice=tmps.price*0.8f; recnumber++; } fclose(fp); if(recnumber>1) { for(i=0;i { k=i; for(j=i+1;j if(s[k].price k=j; tmps.number=s[k].number; strcpy(tmps.name,s[k].name); tmps.price=s[k].price; tmps.memberprice=s[k].price*0.8f; s[k].number=s[i].number; strcpy(s[k].name,s[i].name); s[k].price=s[i].price; s[k].memberprice=s[i].price*0.8f; s[i].number=tmps.number; strcpy(s[i].name,tmps.name); s[i].price=tmps.price; s[i].memberprice=tmps.memberprice; } } fp=fopen(datafile,"wb+"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } for(i=0;i { if(fwrite(&s[i],sizeof(books),1,fp)! =1) { printf("文件%s打不开\n",datafile); exit (1); } } fclose(fp); printf("浏览图书信息如下: \n"); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } printf("序号\t名称\t价格\t会员价\n"); while(fread(&show,sizeof(books),1,fp)! =0) printf("%ld\t%s\t%.1f\t%.1f\n",show.number,show.name,show.price,show.memberprice); fclose(fp); } voidaddhuiyuan() { FILE*fp; huiyuantmps,show; chardatafile[40]="huiyuan"; intcount=0; fp=fopen(datafile,"ab+"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } printf("请输入会员的序号、名字、密码、权限\n"); while(count<=size) { printf("\n请输入会员的序号: "); scanf("%ld",&tmps.number); if(tmps.number==0) break; printf("请输入会员的名字: "); scanf("%s",tmps.name); printf("请输入会员密码: "); scanf("%s",tmps.ps); tmps.power=0; if(fwrite(&tmps,sizeof(huiyuan),1,fp)! =1) { printf("文件%s打不开\n",datafile); exit (1); } count++; } if(count>size) printf("输入数据已满\n"); fclose(fp); printf("所输入图书信息如下: \n"); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } printf("序号\t姓名\t密码\t权限\n"); while(fread(&show,sizeof(huiyuan),1,fp)! =0) printf("%ld\t%s\t%s\t%d\n",show.number,show.name,show.ps,show.power); fclose(fp); } voiddelhuiyuan() { FILE*fp; huiyuantmps,s[size],show,temp; charname[10],next,datafile[40]="huiyuan"; intrecnumber,i,result=0; begin: printf("请输入要删除会员信息的名字"); scanf("%s",name); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } while(feof(fp)==0) { if(fread(&temp,sizeof(huiyuan),1,fp)! =0) { if(strcmp(temp.name,name)==0) result=1; } } if(result==0) { printf("要删除的会员%s不存在\n",name); fclose(fp); gotobegin; } fclose(fp); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } recnumber=0; while((fread(&tmps,sizeof(huiyuan),1,fp))! =0) { if(strcmp(tmps.name,name)! =0) { s[recnumber].number=tmps.number; strcpy(s[recnumber].name,tmps.name); strcpy(s[recnumber].ps,tmps.ps); s[recnumber].power=tmps.power; recnumber++; } } fclose(fp); fp=fopen(datafile,"wb+"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } for(i=0;i { if(fwrite(&s[i],sizeof(huiyuan),1,fp)! =1) { printf("文件%s打不开\n",datafile); exit (1); } } fclose(fp); printf("删除成功! \n"); printf("是否继续删除(y/n)\n"); next=getchar(); if(next=='y'||next=='Y') gotobegin; printf("删除信息后会员信息如下: \n"); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } printf("序号\t姓名\t密码\t权限\n"); while(fread(&show,sizeof(huiyuan),1,fp)! =0) printf("%ld\t%s\t%s\t%d\n",show.number,show.name,show.ps,show.power); fclose(fp); } voidshowhuiyuan() { FILE*fp; chardatafile[40]="huiyuan"; huiyuantmps,s[size],show; intrecnumber,i,j,k; fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } recnumber=0; while(fread(&tmps,sizeof(huiyuan),1,fp)! =0) { s[recnumber].number=tmps.number; strcpy(s[recnumber].name,tmps.name); strcpy(s[recnumber].ps,tmps.ps); s[recnumber].power=tmps.power; recnumber+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统