您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 课程设计报告(媒体库管理系统)(DOC48页)
iC++面向对象程序设计课程设计报告课程名称C++面向对象程序设计课题名称媒体库管理系统专业网络工程班级551学号132055110姓名高慧鹏指导教师2014年12月22日ii(一)、课程设计题目:媒体库管理系统(二)、目的与要求:1、目的:(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2、基本要求:(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;(4)在系统的设计中,至少要用到面向对象的一种机制。3、创新要求:在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。(三)、设计方法和基本原理:功能要求:1)添加物品程序主要完成图书馆三类物品信息的添加,要求编号唯一。如果添加了重复编号的物品时,则提示用户数据添加重复并取消添加;如果物品库已满,则提示不能再添加新的物品。2)查询物品可按照三种方式进行物品的查询。·按标题查询:·按编号查询:·按类别查询:iii如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。3)显示物品库可显示当前物品库中所有的物品信息。4)修改物品可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。5)删除物品对已添加的物品信息进行删除。如果当前物品库为空,则提示“物品库为空!”并返回操作;否则输入要删除的编号,根据编号删除该物品信息,如果没有找到该物品信息,则提示“该编号不存在”。6)统计功能输出当前物品库中总物品数,以及按物品类别,统计出当前物品中各类别的物品数并显示。7)保存物品将当前系统中物品信息存入文件中。8)读取物品将保存在文件中的物品信息读入到当前系统中,以供用户使用。在完成以上基本功能的基础上,可自行进行扩展或完善。3、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系包括属性和行为;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述(包括属性和方法);iv(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告以及系统使用说明书i目录1.系统需求分析..............................................................................................................12.总体设计......................................................................................................................23.详细设计及实现..........................................................................................................64.系统调试....................................................................................................................425.结论............................................................................................................................436.心得体会....................................................................................................................4311.系统需求分析1.1系统设计的目的与意义:图书馆中的资料很多,如果能分类对其资料流通进行管理,将会带来很多方便,因此需要有一个媒体库管理系统。1.2系统功能需求:本系统有四个类:Base类、Book类、CD类、Draw类,存储资料信息、编号、标题、作者、评级。Base为父类,其余三个为子类,每个子类具有自己的特点。1.基础信息的添加功能程序能够任意添加图书、CD视频光盘、图画信息以及各自对应的相关信息。2.修改功能对已添加的记录(图书、CD视频光盘、图画信息以及各自对应的相关信息)进行查找和修改。3.删除功能对已添加的记录(图书、CD视频光盘、图画信息以及各自对应的相关信息)进行查找和删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作;否则输入要删除的编号对该记录进行删除,如果没有找到,则提示相应的记录不存在。4.查询功能①可根据资料的编号查询资料及其内容。②可根据标题查找。③根据类别查询如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。5.保存功能将当前系统中各类记录存入文件中。6.读取功能将保存在文件中的信息读入到当前系统中,以供用户使用。22.总体设计2.1系统功能分析:系统通过调用函数来实现信息录入、信息修改、信息删除、信息查询以及数据保存文件等功能。add()函数用于添加信息;modify()函数用来修改信息;del()函数用来修改信息;refer()函数用来查询数据信息;read()函数用于将文件中的数据读取到内存中;save()函数用于将内存中的信息存入文件内;主函数main()用于调用这些函数。2.2系统功能模块划分与设计:系统定义了Base基类、Book类、CD类、Draw类这四个类,定义了add()、modify()、del()、read()、save()、refer()等函数来实现系统所需功能。2.3系统功能模块图:媒体库管理系统Library类图书视频光盘图画图书信息添加图书信息修改视频光盘信息查询视频光盘信息添加视频光盘信息统计图画信息添加图画信息修改图画信息删除图画信息查询图画信息统计图书信息统计图书信息删除视频光盘信息删除视频光盘信息修改图书信息查询32.4类的设计(1)Base类(抽象类)的设计:图3.1Base类(2)图书类的设计:图3.2班级类(3)CD类的设计:BookvoidBook_manage();voidBook_menu();voidadd();voidrefer();voiddisplay();voidmodify();voiddel();voidInfo();voidsave();voidread();charpublisher[20];charISBN_No[20];intpages;Basevoidmainmenu();virtualvoidadd(){};virtualvoidrefer(){};virtualvoiddisplay(){}virtualvoidmodify(){};virtualvoiddel(){};virtualvoidInfo(){};virtualvoidsave(){};virtualvoidread(){};intNo;charheadline[200];charwrite[200];charrating[200];4图3.3学生类(4)图片类的设计:图3.4课程类CDvoidCD_manage();voidadd();voidrefer();voiddisplay();voidmodify();voiddel();voidInfo();voidsave();voidread();voidcd_menu();charname[20];charyear[20];chartime[20];DrawvoidDraw_manage();voidDraw_menu();voidadd();voidrefer();voiddisplay();voidmodify();voiddel();voidInfo();voidsave();voidread();charnationality[20];intlength;intwidth;5(6)各个类的关系描述:63.详细设计及实现3.1Base类(抽象类)的实现classBase{public:voidmainmenu();virtualvoidadd(){};//添加物品virtualvoidrefer(){};//查询物品virtualvoiddisplay(){};//显示物品库virtualvoidmodify(){};//修改物品virtualvoiddel(){};//删除物品virtualvoidInfo(){};//统计功能virtualvoidsave(){};//保存物品virtualvoidread(){};//读取物品intNo;//编号charheadline[200];//标题charwrite[200];//作者charrating[200];//评级};3.2班级类的实现Book.hclassBook:publicBase{public:voidBook_manage();//管理voidBook_menu();//菜单显示voidadd();//添加物品voidrefer();//查询物品voiddisplay();//显示物品库7voidmodify();//修改物品voiddel();//删除物品voidInfo();//统计功能voidsave();//保存物品voidread();//读取物品charpublisher[20];//出版社charISBN_No[20];//ISBN号intpages;//页数};Book.cpp8#includeiostream.h#includefstream.h#includestring.h#includewindows.h//暂停头文件#includeBook.hconstintmaxsize_book=100;//图书数据最大长度Bookb_[maxsize_book];intcount_book=1;Bookb,b1;Base*p1;inti,j,num1,num2;voidBook::Book_manage(){intflag=1;intk;p1=&b;p1-read();b.Book_menu();loop4:cout请输入所要操作的编号:\n;cink;while(flag==1){if(k=0&&k7){switch(k)//菜单选择{case1:p1-add();break;case2:p1-refer();break;case3:p1-display();break;case4:p1-modify();break;case5:p1-del();break;9case6:p1-Info();break;case0:break;}}else{cout输入有误,请重新输入:\n;gotoloop4;}loop:flag=0;if(flag==0){cout\n请选择接下来的操作?\n1.返回图书信息管理菜单.\n2.返回主菜单.\n;cinflag;}if(flag==1){b.Book_menu();cout请选择\n:;cink;}elseif(flag==2){break;}else{cout选择错误,请重新输入。\n;gotoloop;}10}};voidBook::add()//添加图书数据{cout请输入要添加数据的个数:endl;cinnum1;for(j=0;jnum1;j++){cout请输入图书编号:e
本文标题:课程设计报告(媒体库管理系统)(DOC48页)
链接地址:https://www.777doc.com/doc-1485055 .html