课程设计报告(媒体库管理系统).docx

上传人:小飞机 文档编号:2030690 上传时间:2023-01-02 格式:DOCX 页数:46 大小:180.02KB
返回 下载 相关 举报
课程设计报告(媒体库管理系统).docx_第1页
第1页 / 共46页
课程设计报告(媒体库管理系统).docx_第2页
第2页 / 共46页
课程设计报告(媒体库管理系统).docx_第3页
第3页 / 共46页
课程设计报告(媒体库管理系统).docx_第4页
第4页 / 共46页
课程设计报告(媒体库管理系统).docx_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《课程设计报告(媒体库管理系统).docx》由会员分享,可在线阅读,更多相关《课程设计报告(媒体库管理系统).docx(46页珍藏版)》请在三一办公上搜索。

1、C+面向对象程序设计课 程 设 计 报 告课程名称 C+面向对象程序设计 课题名称 媒体库管理系统 专 业 网络工程 班 级 551 学 号 132055110 姓 名 高慧鹏 指导教师 2014年 12 月 22 日(一)、课程设计题目: 媒体库管理系统(二)、目的与要求: 1、目的: (1)要求学生达到熟练掌握C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及C+的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在

2、系统中至少要定义四个类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 (三)、设计方法和基本原理: 功能要求:1) 添加物品程序主要完成图书馆三类物品信息的添加,要求编号唯一。如果添加了重复编号的物品时,则提示用户数据添加重复并取消添加;如果物品库已满,则提示不能再添加新的物品。2) 查询物品可按照三种方式进行物品的查询。按标题查询:按编号查询:按类别查询:如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。3) 显示物品库可显示当前物品库中所有的物品信息。4)

3、 修改物品可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。5)删除物品对已添加的物品信息进行删除。如果当前物品库为空,则提示“物品库为空!”并返回操作;否则输入要删除的编号,根据编号删除该物品信息,如果没有找到该物品信息,则提示“该编号不存在”。6)统计功能输出当前物品库中总物品数,以及按物品类别,统计出当前物品中各类别的物品数并显示。7) 保存物品将当前系统中物品信息存入文件中。8) 读取物品 将保存在文件中的物品信息读入到当前系统中,以供用户使用。在完成以上基本功能的基础上,可自行进行扩展或完善。3、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系

4、统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系包括属性和行为; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述(包括属性和方法); (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试; (8)完成系统总结报告以及系统使用说明书iii目 录1.系统需求分析12.总体设计23.详细设计及实现34.系统调试425.结论436.心得体会431. 系统需求分析 1.1系统设计的目的与意义: 图书馆中的资料很多,如果能分类对其资料流通进行管理,将会带来很多方便,因此需要有一个媒体库管理系统。1.2 系统功

5、能需求:本系统有四个类:Base类、Book类、CD类、Draw类,存储资料信息、编号、标题、作者、评级。Base 为父类,其余三个为子类,每个子类具有自己的特点。1基础信息的添加功能程序能够任意添加图书、CD视频光盘、图画信息以及各自对应的相关信息。2修改功能对已添加的记录(图书、CD视频光盘、图画信息以及各自对应的相关信息)进行查找和修改。3删除功能对已添加的记录(图书、CD视频光盘、图画信息以及各自对应的相关信息)进行查找和删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作;否则输入要删除的编号对该记录进行删除,如果没有找到,则提示相应的记录不存在。4查询功能 可根据资料

6、的编号查询资料及其内容。 可根据标题查找。 根据类别查询如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。5保存功能将当前系统中各类记录存入文件中。6读取功能将保存在文件中的信息读入到当前系统中,以供用户使用。2. 总体设计2.1 系统功能分析:系统通过调用函数来实现信息录入、信息修改、信息删除、信息查询以及数据保存文件等功能。add()函数用于添加信息;modify()函数用来修改信息;del()函数用来修改信息;refer()函数用来查询数据信息;read()函数用于将文件中的数据读取到内存中;save()函数用于将内存中的信息存入文件内;主函数main()用于调用这些函数。

7、 2.2系统功能模块划分与设计:系统定义了Base基类、Book类、CD类、Draw类这四个类,定义了add()、modify()、del()、read()、save()、refer()等函数来实现系统所需功能。2.3 系统功能模块图:媒体库管理系统 Library类图书图画视频光盘图画信息查询视频光盘信息添加图书信息查询图书信息添加图书信息统计图画信息统计图书信息修改图书信息删除视频光盘信息删除视频光盘信息修改视频光盘信息查询视频光盘信息统计图画信息修改图画信息删除图画信息添加2.4 类的设计(1)Base类(抽象类)的设计:Basevoid mainmenu(); virtual void

8、 add(); virtual void refer();virtual void display()virtual void modify();virtual void del();virtual void Info();virtual void save();virtual void read();int No;char headline200;char write200;char rating200;图 3.1 Base类(2)图书类的设计:Bookvoid Book_manage();void Book_menu();void add(); void refer(); void dis

9、play(); void modify(); void del(); void Info(); void save(); void read();char publisher20;char ISBN_No20;int pages; 图 3.2班级类(3)CD类的设计:CDvoid CD_manage();void add(); void refer(); void display(); void modify(); void del(); void Info(); void save(); void read();void cd_menu();char name20;char year20;c

10、har time20; 图 3.3学生类(4)图片类的设计:Drawvoid Draw_manage();void Draw_menu(); void add(); void refer(); void display(); void modify(); void del(); void Info(); void save(); void read();char nationality20;int length;int width; 图 3.4 课程类(6)各个类的关系描述:3. 详细设计及实现3.1 Base类(抽象类)的实现class Basepublic:void mainmenu();

11、 virtual void add();/添加物品 virtual void refer();/查询物品virtual void display();/显示物品库virtual void modify();/修改物品virtual void del();/删除物品virtual void Info();/统计功能virtual void save();/保存物品virtual void read();/读取物品int No;/编号char headline200;/标题char write200;/作者char rating200;/评级;3.2 班级类的实现Book.hclass Book:

12、public Basepublic:void Book_manage();/管理void Book_menu();/菜单显示void add();/添加物品 void refer();/查询物品 void display();/显示物品库 void modify();/修改物品 void del();/删除物品 void Info();/统计功能 void save();/保存物品 void read();/读取物品char publisher20;/出版社char ISBN_No20;/ISBN号int pages;/页数;Book.cpp#include#include#include#i

13、ncludewindows.h/暂停头文件#includeBook.hconst int maxsize_book=100;/图书数据最大长度Book b_maxsize_book;int count_book=1;Book b,b1;Base *p1;int i,j,num1,num2;void Book:Book_manage()int flag=1;int k;p1=&b;p1-read();b.Book_menu();loop4:coutk;while(flag=1)if(k=0&kadd();break;case 2:p1-refer();break;case 3:p1-displa

14、y();break;case 4:p1-modify();break;case 5:p1-del();break;case 6:p1-Info();break;case 0:break;elsecout输入有误,请重新输入:n;goto loop4;loop:flag=0;if(flag=0)coutflag;if(flag=1)b.Book_menu();coutk;else if(flag=2)break;else cout选择错误,请重新输入。n;goto loop;void Book:add()/添加图书数据cout请输入要添加数据的个数:num1;for(j=0;jnum1;j+)c

15、out请输入图书编号:b.No;i=b.No;b_i.No=i;cout请依次输入数据标题、作者、评级(未评级、一般、成人、儿童)、出版社、ISBN号、页数:b_i.headlineb_i.writeb_i.ratingb_i.publisherb_i.ISBN_Nob_i.pages;p1-save();void Book:refer()/查找子菜单loop1:cout endl endl endl 按标题查询- endl 按标题查询- endl 按标题查询- endl 退出子菜单- endl endl endl endl endl; cout请输入你要查询的方式编号:nnum2; swit

16、ch(num2)/三种情况用选择语句 case 1: cout请输入要查找的图书标题:nb1.headline; for(j=0;jmaxsize_book;j+) if(strcmp(b1.headline,b_j.headline)=0) cout图书编号:b_j.No标题:b_j.headline作者:b_j.write评级:b_j.rating出版社:b_i.publisher ISBN号:b_j.ISBN_No页数:b_j.pagesendl; Sleep(10); break; case 2: cout请输入要查找的图书编号b1.No; for(j=0;jmaxsize_book;

17、j+) if(b1.No=b_j.No) cout图书编号:b_j.No标题:b_j.headline作者:b_j.write评级:b_j.rating出版社:b_i.publisher ISBN号:b_j.ISBN_No页数:b_j.pagesendl; Sleep(10); break; case 3: loop2:cout请输入要查找的图书类别(未评级、一般、成人、儿童)b1.rating;if(b1.rating=未评级|一般|成人|儿童)for(j=0;jmaxsize_book;j+)if(strcmp(b1.rating,b_j.rating)=0)cout图书编号:b_j.No

18、标题:b_j.headline作者:b_j.write评级:b_j.rating出版社:b_j.publisherISBN号:b_j.ISBN_No页数:b_j.pagesendl;Sleep(10);elsecout输入有误请重新输入:n;goto loop2; break; case 4:break; default: cout选择错误,请重新选择:n; goto loop1; break; ;void Book:display()for(j=1;jnum1+1;j+)cout图书编号:b_j.No标题:b_j.headline作者:b_j.write评级:b_j.rating出版社:b_

19、j.publisherISBN号:b_j.ISBN_No页数:b_j.pagesendl;Sleep(10);void Book:modify()int k;cout请输入要修改的图书的编号b1.No;loop3:coutendlendl; cout endl endl endl 修改标题- endl 修改作者- endl 修改评级- endl 修改出版社- endl 修改ISBN号- endl 修改页数- endl 返回菜单-0 endl endl endl endl; coutendlendl; coutk; if(k=0&k7) switch(k) case 1: char mheadl

20、ine20; cout请输入修改后的标题:mheadline; strcpy(b_b1.No.headline,mheadline); break; case 2: char mwrite20; cout请输入修改后的作者:mwrite; strcpy(b_b1.No.write,mwrite); break; case 3: char mrating20; cout请输入修改后的分级:(未评级、一般、成人、儿童)mrating; strcpy(b_b1.No.rating,mrating); break; case 4: char mpublishe20; cout请输入修改后的出版社:mp

21、ublishe; strcpy(b_b1.No.publisher,mpublishe); break; case 5: char mISBN_No20; cout请输入修改后的ISBN号:mISBN_No; strcpy(b_b1.No.ISBN_No,mISBN_No); break; case 6: int mpages; cout请输入修改后的页数: mpages; b_b1.No.pages=mpages; break; case 0:break; ; else cout选择错误,请重新输入:n; goto loop3; ;void Book:del()cout请输入要删除的图书的编

22、号b1.No;for(j=b1.No;jnum1;j+)b_j.No=b_j+1.No;strcpy(b_j.headline,b_j+1.headline);strcpy(b_j.write,b_j+1.write);strcpy(b_j.rating,b_j+1.rating);strcpy(b_j.publisher,b_j+1.publisher);strcpy(b_j.ISBN_No,b_j+1.ISBN_No);b_j.pages=b_j+1.pages;num1-;void Book:Info()cout当前物品库中总物品数:num1endl;void Book:save()of

23、stream out;out.open(图书信息.txt);outnum1endl;for(int k=1;k=num1;k+)outb_k.No b_k.headline b_k.write b_k.rating b_k.publisher b_k.ISBN_No b_k.pagesnum1;while(num1=count_book)inb_count_book.Nob_count_book.headlineb_count_book.writeb_count_book.ratingb_count_book.publisherb_count_book.ISBN_Nob_count_book.

24、pages;count_book+;in.close();void Book:Book_menu()coutnn - 欢迎使用媒体库管理系统 - endlendl;coutnn - 图书信息管理 - endlendl;cout endl endl endl 添加图书- endl 查询图书- endl 显示图书- endl 修改图书- endl 删除图书- endl 统计图书- endl 退出系统-0 endl endl endlendl;3.3 CD类的实现CD.hclass CD:public Basepublic:void CD_manage();/管理子菜单void add();/添加物

25、品 void refer();/查询物品 void display();/显示物品库 void modify();/修改物品 void del();/删除物品 void Info();/统计功能 void save();/保存物品 void read();/读取物品void cd_menu();/菜单char name20;/作者名char year20;/出版年份char time20;/播放时长;CD.cpp#include#include#include#includewindows.h/暂停头文件#includeCD.hconst int maxsize_video=100;/储存的最

26、大值CD v_maxsize_video;int count_video=1;CD v,v1;Base *p3;int i3,j3,vnum1,vnum2;void CD:CD_manage()/Cd管理选择int flag=1;int k;p3=&v;p3-read();v.cd_menu();loop5: coutk;while(flag=1)if(k=0&kadd();break;case 2:p3-refer();break;case 3:p3-display();break;case 4:p3-modify();break;case 5:p3-del();break;case 6:p

27、3-Info();break;case 0:break;elsecout输入有误请重新输入:n;goto loop5;loop6:flag=0;if(flag=0)coutflag;if(flag=1)v.cd_menu();coutk;else if(flag=2)break;else cout选择错误,请重新输入:n;goto loop6;void CD:add()/添加CDcout请输入要添加编号的个数:vnum1;for(j3=0;j3vnum1;j3+)cout请输入视频编号:v.No;i3=v.No;v_i3.No=i3;cout请分别输入标题、作者、评级(未评级、一般、成人、儿童)、出品人的姓名、出品年份、视频时长v_i3.headlinev_i3.writev_i3.ratingv_i3.namev_i3.yearv_i3.time;Sleep(10);p3-save();void CD:refer()/CD查找loop7:cout

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号