媒体库管理系统设计.doc

上传人:rrsccc 文档编号:9930066 上传时间:2021-04-04 格式:DOC 页数:26 大小:318KB
返回 下载 相关 举报
媒体库管理系统设计.doc_第1页
第1页 / 共26页
媒体库管理系统设计.doc_第2页
第2页 / 共26页
媒体库管理系统设计.doc_第3页
第3页 / 共26页
媒体库管理系统设计.doc_第4页
第4页 / 共26页
媒体库管理系统设计.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《媒体库管理系统设计.doc》由会员分享,可在线阅读,更多相关《媒体库管理系统设计.doc(26页珍藏版)》请在三一文库上搜索。

1、C+程序设计课程设计报告题 目: 媒体库管理系统设计 姓 名: 赵嘉豪 学 号: 1492010117 专业班级: 计科14 甲 指导老师: 朱夏君 2014 年 7 月 1 日浙江工商大学杭州商学院目 录1课题目标02程序具体实现原理12.1 总体方案12.1.1开发平台12.1.2基本原理12.2 程序各个功能说明12.2.1 程序结构12.2.2 程序各主要功能的实现23 课程设计调试与测试报告84 课程设计总结8附件 程序清单(源程序)91 课题目标程序基本功能:(1)添加物品:主要完成图书馆三类物品信息的添加,要求编号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加;当物品库

2、已满,则提示不能再添加新的数据。(2)查询物品可按照三种方式来查询物品,分别为:按标题查询:输入标题,输出所查询的信息,若不存在该记录,则提示“该标题不存在!”;按编号查询:输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!”;按类别查询:输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有物品!”;(3)显示物品库:输出当前物品库中所有物品信息,每条记录占据一行。(4)编辑物品:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。(5)删除物品:主要完成图书馆物品信息的删除。如果当前物品库为空,则提示“物品库为空!”,并返回操作;否则,输入要删除的编号,根据编

3、号删除该物品的记录,如果该编号不在物品库中,则提示“该编号不存在”。(6)统计信息输出当前物品库中总物品数,以及按物品类别,统计出当前物品中各类别的物品数并显示。(7)物品存盘:将当前程序中的物品信息存入文件中。(8)读出物品:从文件中将物品信息读入程序。2 程序具体实现原理2.1 总体方案(1) 程序采用双向链表数据结构实现。(2) 用类来实现数据的封装。(3) 使用文件的输入输出流实现对记录的保存与读取。2.1.1开发平台操作系统:Win7 开发软件:Mirosoft Visual C+ 6.02.1.2基本原理密码系统登陆菜单管理员菜单其他人员菜单退出信息删除信息显示信息查询信息添加信息

4、查询退出2.2 程序各个功能说明2.2.1 程序结构1.类设计 基类:Tushuguan 数据成员: 作者、编号、标题、评级、类别编号 成员函数:display() 输入姓名、编号、标题、评级、类别编号 class Tushuguan public: char name256; /作者int num; /编号char biaoti256; /标题char pingji256; /评级 int x; /类别编号void display()coutname; coutnum; coutbiaoti; coutpingji; coutx; ; 派生类:Tushu Shipinguangpan Tuh

5、ua Tushu 数据成员:出版社 ISBN号 页数 成员函数:display1() 调用基类的display()函数和输入课时 Teacher(int s=800) /基本工资赋值 class Tushu:public Tushuguan public: char cbs256; /出版社 int hm; / ISBN号 int yeshu; /页数void display1()cout请输入图书的; Tushuguan:display();coutcbs; couthm; coutyeshu; ; Shipinguangpan 数据成员:名字 时长 年份 成员函数:display1() 调

6、用基类的display()函数 Shiyanyuan(int s=650,int b=150) /基本工资及补助赋值 class Shipinguangpan:public Tushuguan public: char mingzi256; /名字 int year; /年份 int shichang; /时长 void display1()cout请输入视频光盘的; Tushuguan:display();coutmingzi; coutyear; coutshichang; ; Tuhua 数据成员:国籍、长、宽 成员函数:display1() 调用基类的display()函数class

7、Tuhua:public Tushuguan public:char guoji256; /国籍 int chang; /长int kuan; /宽void display1() cout请输入图画的; Tushuguan:display();coutguoji; coutchang; coutkuan; ;Tushuguan#name256:chai#num:int #biaoti256; char#pingji256; char#x:int+display() void具体如图: 基类 Tushu#cbs256;char #hm: int#yeshu:int+display1() void

8、Shipinguangpan#mingzi:char#year: int#shichang:int+display1():voidTuhua#guoji:char#chang:int#kuan:int+display1():void派生类2.2.2 程序各主要功能的实现1.添加函数void tushutianjia() /图书添加 int m=3; ofstream outfile(图书.txt,ios:app); if(outfile.fail() coutopen error!endl; exit(1); int b; coutb; for(i=0;ib;i+) int num1; cha

9、r nam256; ti.display1(); cout请重新输入图书的编号num1;cout请重新输入图书的作者nam;int n=0;for(j=0;jtj.numtj.name;infile.close(); if(tj.num!=num1) n+;break; if(tj.num=num1&strcmp(tj.name,nam)!=0) break; for(j=0;jsj.num;infile.close(); if(sj.num=num1) break; else n+;break; for(j=0;jhj.num; infile.close(); if(hj.num=num1)

10、 break; else n+;break; strcpy(ti.name,nam) ; ti.num=num1; for(j=0;jtj.num; if(tj.num!=0) m=3; else m=2; infile.close(); if(n=m) outfileti.x ti.num ti.name ti.biaoti ti.pingji ti.cbs ti.hm 1 ti.yeshuendl; else cout数据添加重复。endl; outfile.close(); 2.查询函数 void biaotichaxun() /标题查询 int n; char biaot100; co

11、utbiaot; for(i=0,n=0;iti.numti.biaotiti.hmti.yeshu; if(ti.num=0) break; if(strcmp(ti.biaoti,biaot)=0) n+; infileti.xti.numti.nameti.biaotiti.pingjiti.cbsti.hmti.yeshu; coutti.x ti.num ti.name ti.biaoti ti.pingji ti.cbs ti.hm ti.yeshuendl; break; infile.close(); if(n=0) cout图书内没有你要查询的信息。endl; for(i=0

12、,n=0;isi.numsi.biaotisi.yearsi.shichang; if(si.num=0) break; if(strcmp(si.biaoti,biaot)=0) n+;infilesi.xsi.numsi.namesi.biaotisi.pingjisi.mingzisi.yearsi.shichang; coutsi.x si.num si.name si.biaoti si.pingji si.mingzi si.year si.shichangendl;infile.close(); break; infile.close();if(n=0)cout视频光盘内没有你要

13、查询的信息。endl; for(i=0,n=0;ihi.numhi.biaotihi.changhi.kuan;if(hi.num=0) break; if(strcmp(hi.biaoti,biaot)=0) n+;infilehi.xhi.numhi.namehi.biaotihi.pingjihi.guojihi.changhi.kuan; couthi.x hi.num hi.name hi.biaoti hi.pingji hi.guoji hi.chang hi.kuanendl;infile.close(); break; if(n=0) cout图画没有你要查询的信息。hi.x

14、hi.numhi.namehi.biaotihi.pingjihi.guojihi.changhi.kuan; if(ti.num=0) break; else couthi.x hi.num hi.name hi.biaoti hi.pingji hi.guoji hi.chang hi.kuanendl; cout图画显示完毕!endl; infile.close();4.删除函数void tuhuashanchu() /图画删除 ifstream infile(图画.txt,ios:in); int bianha; coutbianha; for(i=0;ihi.xhi.numhi.na

15、mehi.biaotihi.pingjihi.guojihi.changhi.kuan; if(hi.num=0) break; if(hi.num=bianha) for(int j=i;j100;j+) hj.num=0;strcpy(hj.name, );strcpy(hj.biaoti, );strcpy(hj.pingji, );strcpy(hj.guoji, ) ; hj.x=0;hj.chang=0;hj.kuan=0; infile.close();ofstream outfile(图画.txt,ios:out); for(i=0;i100;i+) if(hi.num!=0)

16、 outfilehi.xhi.num hi.name hi.biaoti hi.pingjihi.guojihi.changhi.kuanc; if(c=4)cout退出删除成功。endl;break; else switch(c) case 1: tushushachu(); break; case 2: shipinguangpanshanchu();break; case 3: tuhuashanchu();break; default:cout上一次输入错误。endl;break; 5.统计函数void xinxitongji() /数据统计int n=0,k=0,m=0; for(i

17、=0;iti.xti.num; if(ti.num=0) break; if(ti.x=1) n+ ;infile.close();for(i=0;isi.xsi.num; if(si.num=0) break; if(si.x=2) k+ ; infile.close();for(i=0;ihi.xhi.num;if(hi.num=0) break; if(hi.x=3) m+ ; infile.close();cout图书馆有图书:n本endl;coutendl; cout图书馆有视频光盘:m个endl; coutendl; cout图书馆有图画k册endl; 3 课程设计调试与测试报告1

18、. 首页进入媒体管理系统登录系统2.进入媒体库管理主菜单2. 可进入添加、查询、显示、删除、统计界面 4 课程设计总结(1) 通过本次课程设计,对本学期C+课程习得的知识进行了一次综合运用,巩固了所学。而本次课程设计与现实联系比较紧密,综合性也比较强,锻炼了独立思考并解决问题的能力。课程设计分为两个阶段,对于处理问题比较有层次性,即逐步深入;而课程要求也对本次试验有一定的引导作用。完成了本次试验,对于其他编程项目,不论简单、复杂,也比较容易理解、接受、尝试、解决。(2) 在做了本课程设计以后,我对C+的了解更深了,很多知识得到了巩固,一些不懂的知识也渐渐明了!这其中主要是对指针的使用收获很多,

19、在指针使用的过程中,对指针的指向以及对各函数中指针的赋值会影响到整个程序的运行;还有就是对文件的输入输出流了解得更透彻了,知道了打开一个文件后必须还要对其关闭,否则程序无法运行,对各种文件的输入输出控制符都能基本融会贯通。(3) 虽然本课题已完成,可是还是存在一些问题,比如说界面还不够好看,为了用户用得舒服,界面是很重要的。源代码#include #include #include #include int i; int j; class Tushuguan public: char name256; int num; char biaoti256; char pingji256; int x

20、; void display() coutname; coutnum; coutbiaoti; coutpingji; coutx; ; class Tushu:public Tushuguan public: char cbs256; int hm; int yeshu; void display1() cout请输入图书的; Tushuguan:display(); coutcbs; couthm; coutyeshu; ; class Shipinguangpan:public Tushuguan public: char mingzi256; int year; int shichan

21、g; void display1() cout请输入视频光盘的; Tushuguan:display(); coutmingzi; coutyear; coutshichang; ;class Tuhua:public Tushuguan public: char guoji256; int chang; int kuan; void display1() cout请输入图画的; Tushuguan:display(); coutguoji; coutchang; coutkuan; ; Tushu t100; Shipinguangpan s100; Tuhua h100; void sho

22、w() cout请输入你要添加的对象 :endl; cout1:图书endl; cout2:视频光盘endl; cout3:图画endl; cout4:退出添加endl; cout请选择: ; void tushutianjia() /图书添加 int m=3; ofstream outfile(图书.txt,ios:app); if(outfile.fail() coutopen error!endl; exit(1); int b; coutb; for(i=0;ib;i+) int num1; char nam256; ti.display1(); cout请重新输入图书的编号num1;cout请重新输入图书的作者nam;int n=0;for(j=0;jtj.numtj.name;infile.close(); if(tj.num!=num1) n+;break; if(tj.num=num1&strcmp(tj.name,nam)!=0) break; for(j=0;jsj.num;infile.close();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1