




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上图书登记管理程序设计人员介绍: 王蕊 李翔宇 宋江雪一题目内容的描述设计一个图书登记管理程序。该程序具有下列功能:(1)通过键盘输入某本图书的信息,如书名、编号、作者、出版社、价格等(2)给定图书编号,删除该本图书的信息;(3)给定图书编号,显示该本图书的所有信息;(4)给定书名,显示该本图书的所有信息;(5)提供两种统计信息的功能,分别是按作者与出版社统计。二软件描述功能介绍:图书登记管理程序可以通过键盘输入图书的信息来查询相应的图书。查询方式可分为按作者姓名、图书编号、出版社、类别等几大类。软件可以按类别和作者统计图书。可输出所有图书的信息。可应用于图书馆作为图书
2、管理系统软件。 性能描述:(1) 读者可以通过键盘输入想要查询的图书信息,包括图书的编号、书名、作者姓名、出版社、类别、库存量等。(2) 在提示输入的界面,给出明确提示信息,包括输入项目,输入格式和结束方式。(3) 提供多级多线索交叉查询。(4) 查询失败是返回输入界面,重新输入信息。(5) 在使用统计功能时,可以按类别和作者统计。(6) 可重新输入或修改图书信息。程序开始主菜单用户选择输入图书信息按书号搜索按作者搜索按出版社搜索删除图书信息按类别统计退出程序输入信息继续输入继续搜索按作者统计修改图书信息输出所有图书信息三程序模块结构图1 总体设计:2详细设计:1输入图书信息:NoYesYes
3、No输入信息格式是否正确开始保存信息是否继续输入结束2 删除图书信息:NoYes开始输入图书编号是否删除删除信息结束开始3 图书搜索:NoYesYesNo按出版社按作者按书号选择检索方式输入书号输入作者输入出版社搜索图书输出 图书不存在是否存在输出 图书信息输入任意信息结束是否继续搜索4 图书统计:开始选择统计方式输入类别输入作者检索图书输出统计信息输入任意信息结束此模块中输出统计信息中需要传值调用输出共有多少书籍被搜索到。5 修改图书信息:NoYes开始输入书号调出图书信息是否修改输入新图书信息覆盖原图书信息结束四源程序#define MAX 300#include#include#incl
4、ude#includeint all=0; /*全局变量*/struct bookInfo /*结构体类型定义*/ int num; /*图书编号*/ char bookname10; /*书名*/ char writer5; /*作者*/ char from10; /*出版社*/ char price5; /*价格*/ char type2; /*类别*/ int kunum; /*库存量*/init=0,0,0,0,0,0,0;struct bookTypestruct bookInfo bookMAX; int num;bo;#include menu.c#include choice.
5、c#include Init.c#include Input.c#include Print.c#include search.c#include semenu.c#include count.c#include Delete.c#include modify.c#include output.cmain() /*主函数朱延巍*/ int choice,index; textcolor(14); do clrscr(); choice=choiceItem(); switch (choice) case 1:clrscr();Input();break; case 2:Delete();bre
6、ak; case 3:Searchmain();break; case 4:Countmain();break; case 5:modify();break; case 6:output();break; case 0:clrscr(); printf(nnntt谢谢您的使用!); printf(nntt朱延巍 () All Rights Reserved.); printf(nnntt按任意键退出.); break; while(choice); getch();void Init() /*初始化函数*/ int i,u; printf(nnt删除所有图书信息?(yes-1,no-0)n);
7、 scanf(%d,&u); if(u!=0) for(i=0;iMAX;i+) bo.booki.num=0; strcpy(bo.booki.bookname,init.bookname); strcpy(bo.booki.writer,init.writer); strcpy(bo.booki.from,init.from); strcpy(bo.booki.price,init.price); strcpy(bo.booki.type,init.type); bo.booki.kunum=0; ; all=0; else main(); int choiceItem() /*选择功能函
8、数*/ int choice; do DisplayMenu(); scanf(%d,&choice); while(choice6); return choice;DisplayMenu() /*显示主菜单*/ int i; textcolor(14);/*yellow 14 blue 9*/ gotoxy(30,3);putch(0xc9); for(i=0;i=19;i+) putch(0xcd); putch(0xbb); gotoxy(30,4);putch(0xba); printf( 图书登记管理程序 ); putch(0xba); gotoxy(30,5);putch(0xc8
9、); for(i=0;i=19;i+) putch(0xcd); putch(0xbc); gotoxy(12,7);putch(0xc9); for(i=0;i=53;i+) putch(0xcd); putch(0xbb); gotoxy(12,8);putch(0xba); gotoxy(67,8);putch(0xba); gotoxy(12,9);putch(0xba); printf( 输入图书信息. .1nn); gotoxy(67,9);putch(0xba); gotoxy(12,10);putch(0xba); gotoxy(67,10);putch(0xba); goto
10、xy(12,11);putch(0xba); printf( 依书号删除图书信息. .2nn); gotoxy(67,11);putch(0xba); gotoxy(12,12);putch(0xba); gotoxy(67,12);putch(0xba); gotoxy(12,13);putch(0xba); printf( 图书检索. .3nn); gotoxy(67,13);putch(0xba); gotoxy(12,14);putch(0xba); gotoxy(67,14);putch(0xba); gotoxy(12,15);putch(0xba); printf( 图书统计.
11、.4nn); gotoxy(67,15);putch(0xba); gotoxy(12,16);putch(0xba); gotoxy(67,16);putch(0xba); gotoxy(12,17);putch(0xba); printf( 修改或追加图书信息. .5n); gotoxy(67,17);putch(0xba); gotoxy(12,18);putch(0xba); gotoxy(67,18);putch(0xba); gotoxy(12,19);putch(0xba); printf( 输出所有图书信息. .6n); gotoxy(67,19);putch(0xba); g
12、otoxy(12,20);putch(0xba); gotoxy(67,20);putch(0xba); gotoxy(12,21);putch(0xba); printf( 退出. .0n); gotoxy(67,21);putch(0xba); gotoxy(12,22);putch(0xba); gotoxy(67,22);putch(0xba); gotoxy(12,23);putch(0xc8); for(i=0;i=53;i+) putch(0xcd); putch(0xbc); printf(nntt请选择: );void Input() /*输入功能函数*/ FILE *fp;
13、 int i,u=1,n; printf(n 示例:); gotoxy(3,3);putch(0xc9); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0
14、xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xbb); gotoxy(3,4);putch(0xba); printf( 书 号 ); putch(0xba); printf( 书 名 ); putch(0xba); printf( 作 者 ); putch(0xba); printf( 出版社 ); putch(0xba); printf( 价 格 ); putch(0xba); printf( 类 别 ); putch(0xba); printf( 库存量 ); putch(0xba); gotoxy(3,5);putch(0xc7); for(i=
15、0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xb6); gotoxy(3,6);
16、putch(0xba); printf( 001 ); putch(0xba); printf( USA ); putch(0xba); printf( LuXun ); putch(0xba); printf( XinHua ); putch(0xba); printf( 16.5 ); putch(0xba); printf( t ); putch(0xba); printf( 5 ); putch(0xba); gotoxy(3,7);putch(0xc8); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(
17、0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xbc); for(i=0;u!=0;i+) if(strcpy(bo.booki.from,init.from)=0); printf(nnt 第%d
18、本:n,i+1); printf(nt请输入该本图书编号: ); scanf(%d,&bo.booki.num); printf(nt请输入该本图书书名: ); scanf(%s,&bo.booki.bookname); printf(nt请输入该本图书作者: ); scanf(%s,&bo.booki.writer); printf(nt请输入该本图书出版社: ); scanf(%s,&bo.booki.from); printf(nt请输入该本图书价格: ); scanf(%s,&bo.booki.price); printf(nt请输入该本图书类别 (/h/t/b中的一类): ); sc
19、anf(%s,&bo.booki.type); printf(nt请输入该本图书库存量: ); scanf(%d,&bo.booki.kunum); all=all+1; printf(nt要继续输入图书信息么?(是请按1,否请按0); scanf(%d,&u);clrscr(); if(fp=fopen(book_list,wb)=NULL) printf(文件打开错误!n); return; for(i=0;bo.booki.num!=0;i+) if(fwrite(&bo.booki,sizeof(struct bookInfo),1,fp)!=1) printf(文件写入错误!n);
20、fclose(fp); void Print_aInfo(int index) /*输出单本图书信息*/ FILE *fp; int temp,n,i; fp=fopen(book_list,rb); for(temp=0;temp=MAX;temp+) fread(&bo.booktemp,sizeof(struct bookInfo),1,fp); clrscr(); printf(n ); printf(当前该本图书信息:); gotoxy(3,4);putch(0xc9); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+
21、) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xbb); gotoxy(3,5);putch(0xba); printf( 书 号 ); putch(0xba); printf( 书
22、 名 ); putch(0xba); printf( 作 者 ); putch(0xba); printf( 出版社 ); putch(0xba); printf( 价 格 ); putch(0xba); printf( 类 别 ); putch(0xba); printf( 库存量 ); putch(0xba); gotoxy(3,6);putch(0xc7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); put
23、ch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xb6); gotoxy(3,7);putch(0xba); printf( %d,bo.bookindex.num); gotoxy(13,7); putch(0xba); printf( %s,bo.bookindex.bookname); gotox
24、y(23,7); putch(0xba); printf( %s,bo.bookindex.writer); gotoxy(33,7); putch(0xba); printf( %s,bo.bookindex.from); gotoxy(43,7); putch(0xba); printf( %s,bo.bookindex.price); gotoxy(53,7); putch(0xba); printf( %s,bo.bookindex.type); gotoxy(63,7); putch(0xba); printf( %d,bo.bookindex.kunum); gotoxy(73,7
25、); putch(0xba); gotoxy(3,8);putch(0xc8); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0
26、;i=8;i+) putch(0xcd); putch(0xbc); fclose(fp); printf(n); output() /*输出所有图书信息*/FILE *fp;int i,n=0,d;clrscr();gotoxy(3,4);putch(0xc9); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb)
27、; for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xbb); gotoxy(3,5);putch(0xba); printf( 书 号 ); putch(0xba); printf( 书 名 ); putch(0xba); printf( 作 者 ); putch(0xba); printf( 出版社 ); putch(0xba); printf( 价 格 ); putch(0xba); printf(
28、 类 别 ); putch(0xba); printf( 库存量 ); putch(0xba); gotoxy(3,6);putch(0xc7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+)
29、putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xb6);fp=fopen(book_list,rb);for(d=0;d=MAX;d+)fread(&bo.bookd,sizeof(struct bookInfo),1,fp);if(bo.bookd.num!=0) gotoxy(3,7+n);putch(0xba); /*!*/ printf( %d,bo.bookd.num); gotoxy(13,7+n); putch(0xba); printf( %s,bo.bookd.bookname); gotoxy(2
30、3,7+n); putch(0xba); printf( %s,bo.bookd.writer); gotoxy(33,7+n); putch(0xba); printf( %s,bo.bookd.from); gotoxy(43,7+n); putch(0xba); printf( %s,bo.bookd.price); gotoxy(53,7+n); putch(0xba); printf( %s,bo.bookd.type); gotoxy(63,7+n); putch(0xba); printf( %d,bo.bookd.kunum); gotoxy(73,7+n); putch(0x
31、ba); gotoxy(3,8+n);putch(0xcc); for(i=0;i=8;i+) putch(0xcd); putch(0xce); for(i=0;i=8;i+) putch(0xcd); putch(0xce); for(i=0;i=8;i+) putch(0xcd); putch(0xce); for(i=0;i=8;i+) putch(0xcd); putch(0xce); for(i=0;i=8;i+) putch(0xcd); putch(0xce); for(i=0;i=8;i+) putch(0xcd); putch(0xce); for(i=0;i=8;i+)
32、putch(0xcd); putch(0xb9); n+=2;gotoxy(3,7+n);putch(0xba); printf( 书 号 ); putch(0xba); printf( 书 名 ); putch(0xba); printf( 作 者 ); putch(0xba); printf( 出版社 ); putch(0xba); printf( 价 格 ); putch(0xba); printf( 类 别 ); putch(0xba); printf( 库存量 ); putch(0xba);gotoxy(3,8+n);putch(0xc8);for(i=0;i=8;i+) putch
33、(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xbc);fclose(fp);printf(nnnt按任意键返回
34、菜单.); getch();void modify() /*修改图书信息*/FILE *fp;int i;clrscr();printf(nnt您想要修改第几本图书(若想要追加图书请输入追加图书的序号)? );scanf(%d,&i);fp=fopen(book_list,rb+);fread(&bo.booki-1,sizeof(struct bookInfo),1,fp);Print_aInfo(i-1);printf(nt您正在修改该本图书信息:);printf(nnt请输入修改后该本图书编号: ); scanf(%d,&bo.booki-1.num); printf(nt请输入修改后该
35、本图书书名: ); scanf(%s,&bo.booki-1.bookname); printf(nt请输入修改后该本图书作者: ); scanf(%s,&bo.booki-1.writer); printf(nt请输入修改后该本图书出版社: ); scanf(%s,&bo.booki-1.from); printf(nt请输入修改后该本图书价格: ); scanf(%s,&bo.booki-1.price); printf(nt请输入修改后该本图书类别 (/h/t/b中的一类): ); scanf(%s,&bo.booki-1.type); printf(nt请输入修改后该本图书库存量: )
36、; scanf(%d,&bo.booki-1.kunum); fwrite(&bo.booki-1,sizeof(struct bookInfo),1,fp); fclose(fp); printf(nt图书信息保存成功!); printf(nt按任意键返回菜单.); getch();void Delete() /*删除功能函数*/ FILE *fp; int i,num,u,v=0; clrscr(); printf(ntt请输入图书编号,系统将删除该本图书信息:); scanf(%d,&num); fp=fopen(book_list,rb); for(i=0;iMAX;i+) fread
37、(&bo.booki,sizeof(struct bookInfo),1,fp); if(bo.booki.num=num) v=v+1; Print_aInfo(i); printf(nt确认删除信息?(是-1,否-0); scanf(%d,&u); if(u!=0) bo.booki.num=0; strcpy(bo.booki.bookname,init.bookname); strcpy(bo.booki.writer,init.writer); strcpy(bo.booki.from,init.from); strcpy(bo.booki.price,init.price); st
38、rcpy(bo.booki.type,init.type); bo.booki.kunum=0; all=all-1; printf(ntt图书信息删除成功!); printf(ntt按任意键退出.); getch(); clrscr(); break; else printf(ntt按任意键退出.); getch(); clrscr(); break; if(v=0) printf(ntt不存在图书.nn); printf(ntt按任意键退出.); getch(); clrscr(); main(); if(fp=fopen(book_list,wb)=NULL) printf(文件打开错误
39、!n); return; for(i=0;bo.booki.num!=0;i+) if(fwrite(&bo.booki,sizeof(struct bookInfo),1,fp)!=1) printf(文件写入错误!n); fclose(fp);SearchItem() /*显示检索菜单*/ int i; clrscr(); gotoxy(30,3);putch(0xc9); for(i=0;i=19;i+) putch(0xcd); putch(0xbb); gotoxy(30,4);putch(0xba); printf( 检索功能菜单 ); putch(0xba); gotoxy(30
40、,5);putch(0xc8); for(i=0;i=19;i+) putch(0xcd); putch(0xbc); gotoxy(12,8);putch(0xc9); for(i=0;i=53;i+) putch(0xcd); putch(0xbb); gotoxy(12,9);putch(0xba); gotoxy(67,9);putch(0xba); gotoxy(12,10);putch(0xba); printf( 依书号查询. .1nn); gotoxy(67,10);putch(0xba); gotoxy(12,11);putch(0xba); gotoxy(67,11);pu
41、tch(0xba); gotoxy(12,12);putch(0xba); printf( 依作者查询. .2nn); gotoxy(67,12);putch(0xba); gotoxy(12,13);putch(0xba); gotoxy(67,13);putch(0xba); gotoxy(12,14);putch(0xba); printf( 依出版社查询. .3nn); gotoxy(67,14);putch(0xba); gotoxy(12,15);putch(0xba); gotoxy(67,15);putch(0xba); gotoxy(12,16);putch(0xba); printf( 返回主菜单. .0nn); gotoxy(67,16);putch(0xba); gotoxy(12,17);putch(0xba); gotoxy(67,17);putch(0xba); gotoxy(12,18);putch(0xc8); for
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 规划督学面试题及答案
- 道路运输考试题及答案
- 2025年广西南宁职业技术大学招聘教职人员考试笔试试题(含答案)
- 北京电气基础知识培训课件
- 2025机械工程师职称考试题及参考答案
- 2025年汽车修理工(装调工)高级技师理论知识竞赛试题与答案
- 2025食品安全管理员培训考试试题及答案
- 2025康复医学考试试题(含参考答案)
- 2024年急救设备操作试题(附答案)及设备相关应急预案考试题(附答案)
- 2024年湖南省常德市医疗三严三基理论考试题库及答案
- 2025年十八项核心制度考试试题库(含答案)
- 2025年食堂安全培训考试题及答案
- 反诈防骗安全知识培训课件
- 砂石垫资合作协议合同范本
- 北师大版八年级数学上册第一章 勾股定理 单元测试卷(含答案)
- 护工清洁护理培训
- 违法建筑用电管理办法
- 2025年广西中考语文试题卷(含答案及解析)
- 2025年党建知识竞赛题库及答案(完整版)
- 烹饪高级技师论文
- 2025年时事政治考试100题(含参考答案)
评论
0/150
提交评论