图书信息管理系统设计源代码.docx
- 文档编号:12579367
- 上传时间:2023-04-20
- 格式:DOCX
- 页数:18
- 大小:28.47KB
图书信息管理系统设计源代码.docx
《图书信息管理系统设计源代码.docx》由会员分享,可在线阅读,更多相关《图书信息管理系统设计源代码.docx(18页珍藏版)》请在冰豆网上搜索。
图书信息管理系统设计源代码
头函数名:
#include h〉 #include〈stdlib。 h〉 #include h〉 /*********图书信息结构体*********/ /***包括登录号,书名,作者名,分类号,出版单位,出版时间,价格等***/ structbookinf {intnum;******************************************************登录号 charbname[20];***************************************书名 charwname[10];***************************************作者名 charclanum[14];***************************************分类号 charpubcom[10];***************************************出版单位 charpubtime[10];***************************************出版时间 floatprice;*********************************************价格 }; 一管理员登录系统模块: (1)来到图书信息管理系统页面 voidindex() { charinput;注释: 运行时 printf(”\n\n\t\t\t*****************************\n");直接进入 printf("\t\t\t图书信息管理系统\n");这个页面 printf(”\t\t\t*****************************\n\n\n"); printf(”--—————-———————---—-—--—-—---—----————-———--——-——-—-——---————--——--——--———-——-\n”); printf(”\t〈按任意键进入〉\n\t”); input=getchar(); } (2)管理员登陆进入功能菜单页面 FILE*fp; structmanagepswd; if((fp=fopen(”password.txt”,”r"))==NULL) { printf("\n\n\n\tCannotopenfile! \n\t”); } else { do { printf("\n\n\t请输入管理员帐号: ”); scanf("%s”,name); printf(”\n\n\t请输入管理员密码: "); scanf(”%s”,password); fp=fopen("password。 txt”,"r"); fread(&pswd,sizeof(structmanage),1,fp); fclose(fp); w=strcmp(pswd。 manage_name,name); k=strcmp(pswd。 password,password); adm_servelist(); } while(w! =0||k! =0); adm_servelist(); } } (3)来到功能菜单页面 voidadm_servelist() { voidbook_add(); voidbook_view(); voidchange(); voiddel(); voidbook_search(); voidlogin(); voidpwchange(); intin;注释: 菜单列出的服务种类 charinput;从1,2,3,4,5,6 do所对应的功能进行选择 { printf("\n\n\n\t——欢迎使用信息管理系统-—"); printf(”\n\n\t1。 图书信息录入\n”); printf(”\t2。 图书信息浏览\n"); printf("\t3.图书信息查询\n"); printf(”\t4。 图书信息删除\n"); printf("\t5.图书信息修改\n”); printf("\t6.退出管理模式\n”); printf(”\n\t请选择服务种类: "); scanf("%d”,&in); if(in! =1&&in! =2&&in! =3&&in! =4&&in! =5&&in! =6) { printf(”\n\t没有这项服务~\n”); printf(”\t按任意键重新选择”); input=getchar(); } } while(in! =1&&in! =2&&in! =3&&in! =4&&in! =5&&in! =6); switch(in) { case1: book_add();break;注释: 选择自己所需要 case2: book_view();break;后摁下数字键则 case3: book_search();break;则进入此功能页面 case4: del();break; case5: change();break; case6: login();break; } } (3)图书信息录入功能模块 voidbook_add() { voidadm_servelist(); voidbook_add(); inti=0,j; FILE*fp; charinput;注释: 输入的图书信息 structbookinfbooks;是通过文件进行 structbookinfbook_taxis[30];保存的 printf("\n\n\n\t—-—请输入图书信息—-—\n\n”); printf("\t登录号: ”); scanf("%d”,&books。 num); printf(”\n\t书名: "); scanf(”%s”,books。 bname); printf(”\n\t作者名: "); scanf(”%s",books。 wname); printf(”\n\t分类号: ”); scanf(”%s”,books。 clanum); printf(”\n\t出版单位: ”); scanf(”%s”,books.pubcom); printf(”\n\t出版时间: ”); scanf(”%s”,books.pubtime); printf(”\n\t价格: ”); scanf(”%f”,&books.price); if((fp=fopen(”book。 txt”,"r"))! =NULL) { do { fread(&book_taxis[i],sizeof(structbookinf),1,fp); i=i+1; } while(! feof(fp)); fclose(fp); for(j=0;j〈=i;j++) if(books.num==book_taxis[j]。 num) { printf(”\n\n\n\t对不起,这个编号已经使用过了~\n”); printf(”\t按任意键返回管理菜单~”); input=getchar(); adm_servelist(); break; } } if((fp=fopen(”book.txt”,”r"))==NULL) { fp=fopen("book.txt”,”w”); } else { fclose(fp); fp=fopen(”book。 txt",”a"); } fwrite(&books,sizeof(structbookinf),1,fp); fclose(fp); printf(”\n\n\n\t信息输入完毕~按任意键继续\n”); input=getchar(); adm_servelist(); } (4)图书信息浏览功能模块 voidbook_view() { voidadm_servelist(); voidbook_view(); intinp,i=0,n=0; FILE*fp; charinput; structbookinfbookview[20]; if((fp=fopen(”book。 txt","r”))==NULL) { printf(”\n\n\n\t数据尚未初始化~~\n\n\t请在管理菜单中增加图书信息~~~\n”); printf(”\n\t〈按任意键返回管理菜单>\n\t"); input=getchar(); adm_servelist(); } else { do { fread(&bookview[i],sizeof(structbookinf),1,fp); i=i+1; } while(! feof(fp)); fclose(fp); do { printf(”\n\t——-———-—共有%d条记录——-—--—-”,i-1); printf(”\n\n\t登录号: %d\n",bookview[n].num); printf(”\n\t书名: %s\n”,bookview[n].bname); printf("\n\t作者名: %s\n”,bookview[n].wname); printf(”\n\t分类号: %s\n",bookview[n].clanum); printf(”\n\t出版单位: %s\n",bookview[n]。 pubcom); printf(”\n\t出版时间: %s\n”,bookview[n]。 pubtime); printf(”\n\t价格: %f\n”,bookview[n]。 price); printf("\n\n\t1.上一页\t2。 下一页\t3.回目录\n"); printf(”\n\t请选择: ”); scanf("%d",&inp); switch(inp) { case1: { if(n==0) { printf(”\n\t已到达首页\n\t按任意键重新选择"); input=getchar(); } elsen=n-1;break; } case2: { if(n==i—2) { printf(”\n\t已到达最末页\n\t按任意键重新选择”); input=getchar(); } elsen=n+1;break; } case3: { adm_servelist(); break; } default: { printf(”\n\t没有这项服务\n\t按任意键重新选择”); input=getchar(); } } } while(inp! =3); } } (5)图书信息修改与删除功能模块 修改: voidchange(intx) { intinp,i=0,j; voidbook_search(); FILE*fp,*fp1; charinput; structbookinfbooks,book_taxis[20]; do { printf(”\n\n\n\t注意: 您确定要修改该记录吗? \n”); printf("\n\t1。 是\t2。 否\n"); printf("\n\t请输入: ”); scanf("%d",&inp); if(inp! =1&&inp! =2) { printf(”\n\t对不起~没有这项服务~\n”); printf("\t按任意键重新选择\n\t"); input=getchar(); } } while(inp! =1&&inp! =2); if(inp==2) book_search(); if(inp==1) { printf(”\n\n\n\t——-请输入图书信息—--\n\n”); printf(”\t登录号: ”); scanf("%d",&books.num); printf("\n\t书名: "); scanf("%s”,books.bname); printf(”\n\t作者名: "); scanf(”%s”,books。 wname); printf(”\n\t分类号: ”); scanf("%s",books.clanum); printf("\n\t出版单位: "); scanf(”%s”,books。 pubcom); printf("\n\t出版时间: ”); scanf("%s”,books。 pubtime); printf(”\n\t价格: "); scanf(”%f”,&books。 price); if((fp1=fopen(”book。 txt”,"r”))! =NULL) { do { fread(&book_taxis[i],sizeof(structbookinf),1,fp1); i=i+1; } while(! feof(fp1)); fclose(fp1); for(j=0;j〈x;j++) if(books.num==book_taxis[j].num) { printf("\n\n\n\t对不起,这个编号已经使用过了~\n"); printf("\t按任意键返回管理菜单~"); printf(”0”); input=getchar(); book_search(); break; } for(j=x+1;j〈i—2;j++) if(books。 num==book_taxis[j]。 num) { printf(”\n\n\n\t对不起,这个编号已经使用过了~\n"); printf(”1"); printf(”\t按任意键返回管理菜单~”); input=getchar(); book_search(); break; } } book_taxis[x]=books; fp=fopen(”book。 txt”,”w”); for(j=0;j fwrite(&book_taxis[j],sizeof(structbookinf),1,fp); fclose(fp); printf("\n\n\t信息修改完成! 按任意键返回"); input=getchar(); book_search(); } } S删除: voiddel(inty) { charinput; FILE*fp; intinp,i=0,j; structbookinfbook_taxis[20]; voidbook_search(); voidadm_servelist(); do { printf(”\n\n\n\t注意: 您确定要删除该记录吗? \n”); printf(”\n\t1。 是\t2。 否\n"); printf(”\n\t请输入: "); scanf(”%d”,&inp); if(inp! =1&&inp! =2) { printf(”\n\t对不起~没有这项服务~\n”); printf("\t按任意键重新选择\n\t"); input=getchar(); } } while(inp! =1&&inp! =2); if(inp==2) book_search(); if(inp==1) { if((fp=fopen(”book.txt”,"r”))! =NULL) { do { fread(&book_taxis[i],sizeof(structbookinf),1,fp); i=i+1; } while(! feof(fp)); fclose(fp); } if(i>2) { fp=fopen(”book。 txt”,”w”); for(j=0;j〈y;j++) fwrite(&book_taxis[j],sizeof(structbookinf),1,fp); fclose(fp); fp=fopen("book。 txt”,"a"); for(j=y+1;j fwrite(&book_taxis[j],sizeof(structbookinf),1,fp); fclose(fp); } else { remove(”book.txt"); } printf("\n\n\t记录已删除! \n\n\t按任意键返回\n\t"); input=getchar(); adm_servelist(); } } (6)图书信息查询功能模块 voidbook_search() { voidadm_servelist(); voidid_search(); voidwr_search(); voidbn_search(); charinput; FILE*fp; intinp; if((fp=fopen(”book。 txt”,"r"))==NULL) { printf(”\n\n\n\t数据尚未初始化~~\n\n\t请在管理菜单中增加图书信息~~~\n”); printf(”\n\t〈按任意键返回管理菜单〉\n\t”); input=getchar(); adm_servelist(); } else { do { printf(”\n\n\n\t1.按图书登录号查询\n”); printf("\n\t2。 按图书作者查询\n"); printf(”\n\t3.按图书名查询\n”); printf(”\n\t4.回到主菜单\n"); printf(”\n\n\t请选择查询类别: ”); scanf(”%d”,&inp); if(inp! =1&&inp! =2&&inp! =3&&inp! =4) { printf(”\n\n\t没有这项服务~\n\t按任意键重新选择~”); input=getchar(); } } while(inp! =1&&inp! =2&&inp! =3&&inp! =4); fclose(fp); switch(inp) { case1: id_search();break; case2: wr_search();break; case3: bn_search();break; case4: adm_servelist();break; } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 信息管理 系统 设计 源代码