版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言课程设计书店管理系统计算机程序设计(C语言)课程设计报告 题目:图书管理系统 学院: 专业: 班级: 学号: 姓名: 指导教师: 设计日期:2013年06月24日 一、选题背景:设计一个图书管理系统,管理员通过登陆账号来进行下一步,使用错误账号和密码会被视为非法登陆。图书信息包括:每种图书都有书名、ISBN、一名或多名作者(译者)、出版社、定价和内容简介等;读者信息包括:借书证记录有借阅者的姓名、密码、所在单位和类别等;读者凭借书证借书 二、设计思想:(1)整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统
2、根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、添加、删除、修改、借书、还书等功能。(2)、Cbook();这是一个指针函数,它主要实现了链表的创建,并且在创建过程中从文件读取信息到链表中,以用于后面其他函数的操作。它返回的时一个单向链表的头。其他函数调用时只需调用它返回的头即可。(3)、mainmenu();、menu1();、glm enu();、cxmenu();、jhmenu();这五个函数时整个图书管理系统的全部菜单函数,mainmenu();为系统主界面,进入时可选择进入程序和退出程序。menu1();为进程序时显示的功能菜单,在此菜单可以选
3、择录入、保存图书信息,也可选择进入其他子系统。glmenu();此菜单为 进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。操作完成后按提示信息进行文件的保存操作。 三、程序流程图 四、主要解决问题的方法及技术关键通过自己定义的函数和声明一个结构,主要方法是先使用int函数定义,不同的选择进入不同的定义函数,通过for语句进行判断,然后使用heart数组的各种方式打开此文件,然后通过while函数和for函数关闭文件,在不同的取用数
4、值里,分别使用for,while语句进行判断是否进行下条语句。 五、设计结果说明程序都是比较简单的函数,使用方便,易懂,占用空间小。 六、程序清单: #include<iostream.h> #include<fstream> #include<windows.h> #include<string>using namespace std;class BookData private: char isbn14; char bookTitle51; char author31; char
5、 publisher31; char dataAdded11; int qytOnHand; double wholesale; double retail; double price; public: void set(); void write(); void read(); BookData() void change(); void search(); void cwrite(); void deleteBook(); ; void rwrite(); void shouyin(); void pifa(); void jiazhi(); void lingshou(); void s
6、huliang(); void riqi();BookData b500,B;int count=0;void BookData:rwrite() inf<<bi.isbn<<"t"<<bi.bookTitle<<"t"<<bi.author<<"t"<fstream inf("book.t
7、xt",ios_base:trunc|ios_base:out); if(!inf) for(int i=0;i<count-1;i+) cout<<"ERROR!"<<endl; <bi.publisher<<"t"<<bi.dataAdded<<"t"<<bi.qytOnH
8、and<<"t"<<bi.wholesale<<"t"<<bi.retail<<endl; void BookData:deleteBook() inf.close(); char s14,e; cout<<"请输入要删除图书的ISBN号:"<<endl; cin>>
9、s; for(int i=0;i<count;i+) cout<<"是否将修改保存至书库?Y/y"<<endl; cin>>e; if(e=y|e=Y) B.rwrite(); if(strcmp(bi.isbn,s)=0) for(int q=i;q<count;q+) bq=bq+1;void BookData:cwrite() inf<<bi.isbn<<"t&
10、quot;<<bi.bookTitle<<"t"<<bi.author<<"t"<fstream inf("book.txt",ios_base:trunc|ios_base:out); if(!inf) for(int i=0;i<count;i+) cout<<"ERROR!"&am
11、p;lt;<endl; <bi.publisher<<"t"<<bi.dataAdded<<"t"<<bi.qytOnHand<<"t"<<bi.wholesale<<"t"<<bi.retail&
12、;lt;<endl; void BookData:set() char no14,s; char title51; char zhuozhe31; char ban31; char data11; int kucun; double pifa; double ling; do if(count=0) cout<<"请输入书籍的ISBN号:"<<endl; cin>>no; cout<<"请输入书籍的名称:&q
13、uot;<<endl; cin>>title; cout<<"请输入书籍的 "<<endl; cin>>zhuozhe; cout<<"请输入书籍的出版社:"<<endl; cin>>ban; cout<<"请输入进书的日期"<
14、;<endl; cin>>data; inf.close(); cout<<"请输入进书的数量:"<<endl; cin>>kucun; cout<<"请输入书的批发价:"<<endl; cin>>pifa; cout<<"请输入书的零售价:"&
15、lt;<endl; cin>>ling; strcpy(bcount.isbn,no); strcpy(bcount.author,zhuozhe); strcpy(bcount.bookTitle,title); strcpy(bcount.publisher,ban); strcpy(bcount.dataAdded,data); bcount.qytOnHand=kucun; bcount.retail=ling; bcount.wholesale=pifa; bcount.price=bcount.wholesale*bcount.qytOnH
16、and; count+; else cout<<"请输入书籍的ISBN号:"<<endl; cin>>no; for(int i=0;i<count;i+) if(strcmp(bi.isbn,no)=0) cout<<"您输入的图书已经存在!"<<endl; return; cout<<"请输入书籍的名称:"
17、;<<endl; cin>>title; cout<<"请输入书籍的 "<<endl; cin>>zhuozhe; cout<<"请输入书籍的出版社:"<<endl; cin>>ban; cout<<"请输入进书的日期"<&a
18、mp;lt;endl; cin>>data; cout<<"请输入进书的数量:"<<endl; cin>>kucun; cout<<"请输入书的批发价:"<<endl; cin>>pifa; cout<<"请输入书的零售价:"<<endl;
19、 cin>>ling; strcpy(bcount.isbn,no); strcpy(bcount.author,zhuozhe); strcpy(bcount.bookTitle,title); strcpy(bcount.publisher,ban); strcpy(bcount.dataAdded,data); bcount.qytOnHand=kucun; bcount.retail=ling; bcount.wholesale=pifa; bcount.price=bcount.wholesale*bcount.qytOnHand; count+; cou
20、t<<"是否继续输入?(Y/y)"<<endl; cin>>s; while(s=Y|s=y); B.write();void BookData:write() inf<<bi.isbn<<"t"<<bi.bookTitle<<"t"<<bi.author&l
21、t;<"t"<fstream inf("book.txt",ios_base:ate|ios_base:out); if(!inf) for(int i=0;i<count;i+) cout<<"ERROR!"<<endl; <bi.publisher<<"t"<<bi.dataAdde
22、d<<"t"<<bi.qytOnHand<<"t"<<bi.wholesale<<"t"<<bi.retail<<endl; void BookData:read() BookData s500; fstream inf("book.txt",ios_base
23、:in|ios_base:out); if(!inf) if(count=0) cout<<"ERROR!"<<endl; inf.close(); int a; for(a=0;a<count;a+) inf>>ba.isbn>>ba.bookTitle>>ba.author>>ba.publisher>>ba.dataAdded>&a
24、mp;gt;ba.qytOnHand>>ba.wholesale>>ba.retail; cout<<bi.isbn<<"t"<<bi.bookTitle<<"t"<<bi.author<<"t" inf.close(); for(int i=0;i<a
25、;i+) <<bi.publisher<<"t"<<bi.dataAdded<<"t"<<bi.qytOnHand<<"t"<<bi.wholesale<<"t"<<bi.retail<&a
26、mp;lt;endl; void BookData:search() char c14; cout<<"请输入要查询的ISBN号:"<<endl; cin>>c; for(int i=0;i<count;i+) if(strcmp(bi.isbn,c)=0) cout<<" 你所查询的图书信息如下"<<endl; cout<<"
27、; ISBN号:"<<bi.isbn<<endl; cout<<" 书 名:"<<bi.bookTitle<<endl;cout<<" 作者名:"<<bi.author<<endl;cout<<""<&
28、;lt;bi.publisher<<endl;cout<<""<<bi.dataAdded<<endl;cout<<""<<bi.qytOnHand<<endl;cout<<""<<bi.wholesale<<e
29、ndl;cout<<""<<bi.retail<<endl;cin.get();return;void BookData:change()char a15,s;int i;cout<<"请输入要修改图书的ISBN号:"<<endl;cin>>a;for(i=0;i<count;i+) 出版社:进书日期:库 存 量:批 发 价:零 售 价: co
30、ut<<"是否将修改保存到书库?Y/y"<<endl; cin>>s; if(s=y|s=Y) B.cwrite(); if(strcmp(bi.isbn,a)=0) cout<<"请输入书籍的名称:"<<endl; cin>>bi.bookTitle; cout<<"请输入书籍的 "&
31、lt;<endl; cin>>bi.author; cout<<"请输入书籍的出版社:"<<endl; cin>>bi.publisher; cout<<"请输入进书的日期"<<endl; cin>>bi.dataAdded; cout<<"请输入进书的数量:&q
32、uot;<<endl; cin>>bi.qytOnHand; cout<<"请输入书的批发价:"<<endl; cin>>bi.wholesale; cout<<"请输入书的零售价:"<<endl; cin>>bi.retail;void guanli() int z; do cout<&
33、amp;lt;" 1. 查找图书 "<<endl; cout<<" 2. 增加书 "<<endl; cout<<" 3. 修改图书信息"<<endl; cout<<" 4. 删除书 "<<endl; cout<<"
34、 5. 返回到主菜单"<<endl; cout<<" 请输入选择(15):"<<endl; cin>>z; switch(z) case 1:B.search();break; case 2:B.set();break; case 3:B.change();break; case 4:B.deleteBook();break; case 5:cout<<"退回主菜单!"
35、;<<endl;break; default:cout<<"输入有误重新输入!"<<endl; while(z!=5);void BookData:shouyin() BookData a500; double sum=0; int x=0; cout<<"*"<<endl; cout<<" 已进入付款模块!"&l
36、t;<endl; cout<<"*"<<endl; char s14,d; int w,n500; do cout<<"请输入购买图书的ISBN:"<<endl; cin>>s;cout<<"请输入购买图书的数量:"<<endl; cin>>w;for(
37、int i=0;i<count;i+) cout<<"是否继续购买?Y/y"<<endl; if(strcmp(bi.isbn,s)=0) ax=bi; nx=w; if(bi.qytOnHand<w) bi.qytOnHand=bi.qytOnHand-w; x+; cout<<"库存不够!"<<endl; cout<<"是否在库存允许范
38、围内购买?Y/y"<<endl; cin>>d; if(d=y|d=Y) goto S; S: cin>>d; while(d=y|d=Y); cout<<"*"<<endl; cout<<" 艺人书店图书出售票据"<<endl; cout<<"*"
39、<<endl; cout<<nh<<"t"<<ah.isbn<<"t"<<ah.bookTitle<<"t"<<ah.cout<<"日期:2009年6月30日星期二"<<end
40、l; cout<<"数量 ISBN号 书名 单价 金额"<<endl; for(int h=0;h<x;h+) retail<<"t"<<ah.retail*nh<<endl; cout<<"=sum=sum+ah.retail*nh; ="<<endl; cout<
41、<"销售合计:¥"<<sum<<endl; cout<<"应付总额:¥"<<sum<<endl; cout<<"="<<endl; cout<<" 谢谢光临!"<<endl; cout&am
42、p;lt;<"="<<endl; void BookData:pifa() B.cwrite(); cout<<ba.isbn<<"t"<<ba.bookTitle<<"t"<<ba.author<<"t"for(a=0;a<cou
43、nt;a+) int i,j,a; BookData temp; for(i=0;i<count-1;i+) for(j=0;j<count-i-1;j+) if(bj.wholesale>bj+1.wholesale) temp=bj; bj=bj+1; bj+1=temp; <<ba.publisher<<"t"<<ba.dataAdded<<"t"<&
44、amp;lt;ba.qytOnHand<<"t"<<ba.wholesale<<"t"<<ba.retail<<endl; void BookData:lingshou() int i,j,a; BookData temp; for(i=0;i<count-1;i+) B.cwrite(); for(j=0;j<count-i-1;j+) if(bj.ret
45、ail>bj+1.retail) temp=bj; bj=bj+1; bj+1=temp; for(a=0;a<count;a+) cout<<ba.isbn<<"t"<<ba.bookTitle<<"t"<<ba.author<<"t"<<ba.publisher&
46、amp;lt;<"t"<<ba.dataAdded<<"t"<<ba.qytOnHand<<"t"<<ba.wholesale<<"t"<<ba.retail<<endl; void BookData:shuliang
47、() int i,j,a; BookData temp; for(i=0;i<count-1;i+) for(j=0;j<count-i-1;j+) if(bj.qytOnHand>bj+1.qytOnHand) B.cwrite(); temp=bj; bj=bj+1; bj+1=temp; for(a=0;a<count;a+) cout<<ba.isbn<<"t"<<ba.bookTitle<&
48、;lt;"t"<<ba.author<<"t"<<ba.publisher<<"t"<<ba.dataAdded<<"t"<<ba.qytOnHand<<"t"<<ba
49、.wholesale<<"t"<<ba.retail<<endl; void BookData:jiazhi() int i,j; BookData temp; for(i=0;i<count-1;i+) for(j=0;j<count-i-1;j+) if(bj.price>bj+1.price) temp=bj; bj=bj+1; bj+1=temp; B.cwrite(); for(i=0;i<count;i+)
50、cout<<bi.isbn<<"t"<<bi.bookTitle<<"t"<<bi.author<<"t"<<bi.publisher<<"t"<<bi.dataAdded<<
51、"t"<<bi.qytOnHand<<"t"<<bi.wholesale<<"t"<<bi.retail<<endl; void BookData:riqi() for(i=0;i<count;i+) int i,j; BookData temp; for(i=0;i<count-1;i+) f
52、or(j=0;j<count-i-1;j+) if(strcmp(bj.dataAdded,bj+1.dataAdded)>0) temp=bj; bj=bj+1; bj+1=temp; B.cwrite(); cout<<bi.isbn<<"t"<<bi.bookTitle<<"t"<<bi.author<<"
53、t"<<bi.publisher<<"t"<<bi.dataAdded<<"t"<<bi.qytOnHand<<"t"<<bi.wholesale<<"t"<<bi.retail&
54、;lt;<endl; void baobiao() cout<<"*int q; do B.cwrite(); *"<<endl; cout<<"* cout<<" 艺人书店报表模块"<<endl; cout<<" 1. 书库列表"<<endl; cout&
55、;lt;<" 2. 批发价列表"<<endl; cout<<" 3. 零售价列表"<<endl; cout<<" 4. 按书的数量列表"<<endl; cout<<" 5. 按书的价值额列表"<<endl; cout<<
56、;" 6. 按进书日期列表"<<endl; cout<<" 7. 返回到主菜单"<<endl; cout<<" 请输入选择(17):"<<endl; *"<<endl;cin>>q; switch(q) case 1:B.read();break; case 2:B.pifa(
57、);break; case 3:B.lingshou();break; case 4:B.shuliang();break; case 5:B.jiazhi();break; case 6:B.riqi();break; case 7:cout<<"退回主菜单!"<<endl;break; default:cout<<"输入有误重新输入!"<<endl; while(q!=7);void main() char
58、a10="123456",b10; char c10="123456",d10; int w,e; cout<<"*"<<endl;cout<<"* 欢迎光临 *"<<endl;cout<<"* 艺 人 书 店 *"<<endl;cout<<"* 请选择操作: *"<<endl;cout<<"="<<endl; cout<<endl; cout<<endl; cout<<endl; cout<<" = "<<endl;cout&l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗人物介绍
- 《汽车基本常识》课件
- 大班科学活动爱的礼盒
- 《汤姆无聊的时候》课件
- 认识时钟课件
- 《迭代法及其收敛性》课件
- 关于治疗的医学指南
- 实习期职业规划
- 导游礼仪培训
- 反比例函数的图像课件
- 服装CAD教程适用于ET等软件打板推板的快捷键及功能
- 斜井常闭式防跑车装置设计说明书
- 国内几种常见的离子膜电解槽槽型结构简介
- 心理健康教育教学中的语言艺术文档
- 购买文件登记表.doc
- 弧长与扇形的面积教学设计范文
- 人教版小学六年级数学毕业升学试卷(附:试卷命题意图、参考答案及评分标准)
- 安全生产工作汇报材料 (4000字)
- 入团积极分子“推优入团”申请推荐表
- 线性代数在密码学中的应用
- 电力公司司徽、司歌、企业精神试行方案和电力公司安全倡议书汇编
评论
0/150
提交评论