c语言大作业 图书管理.docx
- 文档编号:7528052
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:11
- 大小:16.05KB
c语言大作业 图书管理.docx
《c语言大作业 图书管理.docx》由会员分享,可在线阅读,更多相关《c语言大作业 图书管理.docx(11页珍藏版)》请在冰豆网上搜索。
c语言大作业图书管理
#include
#include
#include
#include
#defineMAX200
structStudent
{
intnum;/*登录号*/
charname[100];/*书名*/
charauthor[100];/*作者名*/
charfn[100];/*分类号*/
charplace[100];/*出版单位*/
chartime[100];/*出版时间*/
floatmoney;/*价格*/
}stu[MAX];
main()/*主函数*/
{
voidInput();/*输入*/
voidOutput();/*输出*/
voidSeek();/*查找*/
voidDelete();/*删除*/
voidRevise();/*修改*/
intn;
for(;;)
{
printf("\n");
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");
printf("@@@@\n");
printf("@@您好,图书管理系统为您服务@@\n");
printf("@@@@\n");
printf("@@主菜单@@\n");
printf("@@@@\n");
printf("@@**1.图书信息录入**@@\n");
printf("@@@@\n");
printf("@@**2.图书信息浏览**@@\n");
printf("@@@@\n");
printf("@@**3.图书信息查询**@@\n");
printf("@@@@\n");
printf("@@**4.图书信息删除**@@\n");
printf("@@@@\n");
printf("@@**5.图书信息修改**@@\n");
printf("@@@@\n");
printf("@@**6.退出系统**@@\n");
printf("@@@@\n");
printf("@@(请按指令完成操作,谢谢您的配合)@@\n");
printf("@@@@\n");
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n\n");
printf("请输入选择项(1-6):
");
scanf("%d",&n);
printf("\n\n\n\n");
if(n>0&&n<7)
{
switch(n)
{
case1:
Input();break;
case2:
Output();break;
case3:
Seek();break;
case4:
Delete();break;
case5:
Revise();break;
case6:
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");
printf("@@@@\n");
printf("@@感谢您的使用@@\n");
printf("@@@@\n");
printf("@@再见!
@@\n");
printf("@@@@\n");
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");
exit(0);
}
}
else
{
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");
printf("@@@@\n");
printf("@@输入错误!
@@\n");
printf("@@@@\n");
printf("@@请退出!
@@\n");
printf("@@@@\n");
printf("@@@@\n");
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");
break;
}
}
}
voidInput()/*输入*/
{
FILE*fp;
intn;
fp=fopen("student","wb");
for(n=0;n { printf("n=%d输入序号n(当输入n=-1时,返回),n=",n++); scanf("%d",&n); if(n==-1) { fclose(fp); return; } else { printf("请输入登录号书名作者名分类号出版单位出版时间价格\n"); scanf("%d%s%s%s%s%s%f",&stu[n].num,&stu[n].name,&stu[n].author,&stu[n].fn,&stu[n].place,&stu[n].time,&stu[n].money); fwrite(&stu[n],sizeof(structStudent),1,fp); } } fclose(fp); } voidOutput()/*输出*/ { FILE*fp; inti; fp=fopen("student","rb"); printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"); printf("图书列表\n"); printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); printf("登录号书包作者名分类号出版单位出版时间出版时间价格\n"); printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); for(i=0;fread(&stu[i],sizeof(structStudent),1,fp)==1;i++) { printf("%6d%8s%8s%8s%8s%8s%8.2f\n",stu[i].num,stu[i].name,stu[i].author,stu[i].fn,stu[i].place,stu[i].time,stu[i].money); } fclose(fp); } voidSeek()/*查找*/ { FILE*fp; inti; intchoose,t; charans[100]; do { printf("1.按书名查找\n"); printf("2.按作者名查找\n"); printf("返回主菜单(其他数字)\n"); scanf("%d",&choose); if(choose==1) { printf("输入所查书名: \n"); scanf("%s",ans); t=-1; if(choose==1) { for(i=0;i { t=i; fp=fopen("student","rb"); for(i=0;fread(&stu[i],sizeof(structStudent),1,fp)==1;i++) printf("%d%s%s%s%s%s%f\n",stu[t].num,stu[t].name,stu[t].author,stu[t].fn,stu[t].place,stu[t].time,stu[t].money); } } if(t==-1)printf("不存在该信息\n"); } elseif(choose==2) { printf("请输入所查作者名: \n"); scanf("%s",ans); t=-1; if(choose==2) { for(i=0;i if(strcmp(ans,stu[i].author)==0) {t=i; fp=fopen("student","rb"); for(i=0;fread(&stu[i],sizeof(structStudent),1,fp)==1;i++) printf("%d%s%s%s%s%s%f\n",stu[t].num,stu[t].name,stu[t].author,stu[t].fn,stu[t].place,stu[t].time,stu[t].money); } } if(t==1)printf("不存在该信息\n"); }elsereturn; }while (1); } voidDelete()/*删除*/ { FILE*fp; inti,flag,n,s,j; fp=fopen("student","rb+"); rewind(fp); printf("图书列表\n"); printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); printf("登录号书名作者名分类号出版单位出版单位价格\n"); printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); for(i=0;fread(&stu[i],sizeof(structStudent),1,fp)==1;i++) { printf("%6d%8s%8s%8s%8s%8s%8.2f\n",stu[i].num,stu[i].name,stu[i].author,stu[i].fn,stu[i].place,stu[i].time,stu[i].money); printf("\n"); } n=i; printf("输入待删除图书号: \n"); scanf("%d",&s); for(i=0,flag=1;flag&&i { if(s==stu[i].num) { for(j=i;j { stu[j].num=stu[j+1].num; strcpy(stu[j].name,stu[j+1].name); strcpy(stu[j].author,stu[j+1].author); strcpy(stu[j].fn,stu[j+1].fn); strcpy(stu[j].place,stu[j+1].place); strcpy(stu[j].time,stu[j+1].time); stu[j].money=stu[j+1].money; } flag=0; } } if(! flag) n=n-1; else printf("没有此号\n"); fp=fopen("student","wb"); for(i=0;i fwrite(&stu[i],sizeof(structStudent),1,fp); fclose(fp); fp=fopen("student","r"); printf("图书列表\n"); printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); printf("登录号书号作者名分类号出版单位出版时间价格\n"); printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); for(i=0;i { fread(&stu[i],sizeof(structStudent),1,fp); printf("%6d%8s%8s%8s%8s%8s%8.2f\n",stu[i].num,stu[i].name,stu[i].author,stu[i].fn,stu[i].place,stu[i].time,stu[i].money); printf("\n"); } fclose(fp); } voidRevise()/*修改*/ { FILE*fp; inti,num,n; intflag=0; printf("请输入要修改的图书号: "); scanf("%d",&num); for(i=0;i<=MAX;i++) if(stu[i].num==num) { printf("图书列表\n"); printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); printf("登录号书号作者名分类号出版单位出版时间价格\n"); printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); printf("%6d%8s%8s%8s%8s%8s%8.2f\n",stu[i].num,stu[i].name,stu[i].author,stu[i].fn,stu[i].place,stu[i].time,stu[i].money); printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n"); n=i; flag=1; break; } if(flag==0) { printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"); printf("输入错误! \n"); printf("请返回! \n"); printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"); return; } printf("\n\n\n"); fp=fopen("student","rb+"); fseek(fp,n*sizeof(structStudent),0); printf("登录号书名作者名分类号出版单位出版时间价格\n"); scanf("%d%s%s%s%s%s%f",&stu[n].num,stu[n].name,stu[n].author,stu[n].fn,stu[n].place,stu[n].time,stu[n].money); fwrite(&stu[i],sizeof(structStudent),1,fp); fclose(fp); fp=fopen("student","rb"); printf("图书列表\n"); printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); printf("登录号书号作者名分类号出版单位出版时间价格\n"); printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); for(i=0;fread(&stu[i],sizeof(structStudent),1,fp)==1;i++) { printf("%6d%8s%8s%8s%8s%8s%8.2f\n",stu[i].num,stu[i].name,stu[i].author,stu[i].fn,stu[i].place,stu[i].time,stu[i].money); } printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n"); fclose(fp); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言大作业 图书管理 语言 作业 图书 管理