1、出版物管理系统设计说明书摘要利用C+的基础知识,用面向对象程序设计的基本思路和方法构建的出版物管理系统,以菜单方式工作,使用数组保存出版物的信息,使用循环来完成,以接受用户的循环操作,只要新增了出版物的相关信息,就可以进行查找、删除等功能。关键词:C+,面向对象程序设计,数组前言一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟, 作为计算机应用的一部分,使用计算机中的C+这一编程语言对出版物信息进行管理,有着手工管理所无法比拟
2、的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,降低企业的费用支出,这些可以充分突出企业的科学化、正规化管理,同时也是世界接轨的重要条件。一系统分析4二各功能结构图4三部分类及成员函数7四系统测试9五参考文献11六设计总结11一系统分析 利用面向对象的方法以及C+的编程思想来完成系统的设计,要求建立清晰的类层次,应当设计“书,CD,磁带”三个类,每个类含有名字,作者或演唱者,出版社或唱片社,价格,出版日期等相关信息。由于这三个类又相关的相同内容,故可设计一个含有公共信息的父类。以菜单方式工作,交互界面友好;设定数组,使
3、用数组保存出版物的信息;建立循环机制,使用循环来完成,以接受用户的循环操作;同时对于不合要求的输入,给出提示,允许再重新输入;设定三个实体结构,允许用户对选择的相应的出版物进行添加、删除,查找等功能。二各功能结构图该系统要求实现对书籍,CD和磁带的储存,查询和删除等功能故要求定义三个类。类层次:首先定义一个共有基类basic,包括名字name,作者或演唱者author,出版社或唱片社company,出版日期data,价格prise,以它为父类定义三个子类分别为bookdate,CDdate,tapedate。实体:系统及其功能实体为新增(图):查询:图(四)查询功能删除:三部分类及成员函数1.
4、定义父类和书籍、CD、磁带三个子类:class basic /定义父类public: char name20; char author10; char company20; int price; int date; void input(); void show(); ;class bookdate:public basic /定义一个书类public: bookdate() strcpy(name,0); strcpy(author,0); strcpy(company,0); price=0; date=0; void input() basic: input(); void show()
5、 basic: show();class CDdate:public basic /定义一个CD类public: void input() basic: input(); ;class tapedate:public basic /定义一个磁带类public: void input() basic: input(); ;2部分成员函数的实现:void input() /录入函数 cout请输入名字:name; cout请输入作者或演唱者:author; cout请输入出版社或唱片:company; cout请输入价格:price; cout请输入出版日期:date; void show() /
6、定义显示信息函数 cout名字作者或演唱者 出版社或唱片 价格出版日期endl; coutnameauthorcompanypricedateendl; 四系统测试1系统主菜单显示界面2.信息操作显示界面3.信息浏览界面4.信息查找显示界面五参考文献1陈维兴,林小茶.c+面向对象程序设计教程. 北京: 清华大学出版社,1996.2004.2张国峰. C+程序设计实用教程. 北京: 清华大学出版社,1996. 3张松梅. C+语言教程. 电子科技大学出版社,1993. 4阎龙. C程序员的C+指南. 北京航空航天大学出版社,1992.5王博. 面向对象的建模、设计技术与方法. 北京希望电脑公司.
7、六设计总结通过此次VC编程课程设计,我了解了Visual C6的安装和基本使用方法,进一步掌握了运用C+及面向对象设计思想方法。出版物管理系统的设计基本实现了老师所要求的功能,同时在设计过程中,对于遇到的各种实践问题进行了详细的分析,学到了很多知识,但还有许多便捷功能未能实现,因此还需要更多的设计来完善。界面风格只是使用默认的,没有创新,这个需要在以后的设计中加以改进。相比之前C语言和数据结构的课程设计,此次课程设计让自己在编程上的理解更深一层,逐步了解编程在实际中的运用,掌握了更多编程方法和思想,拓宽了知识面,为进一步的学习继续打牢根基。附录:源代码:#include #include #i
8、nclude #include stdlib.hclass basic /定义父类public: char name20; char author10; char company20; int price; int date; void input() /录入函数 cout请输入名字:name; cout请输入作者或演唱者:author; cout请输入出版社或唱片:company; cout请输入价格:price; cout请输入出版日期:date; void show() coutt名字t作者或演唱者t出版社或唱片t价格t出版日期endl; couttnamettauthorttcompa
9、nyt pricetdateendl; ;class bookdate:public basic /定义一个书类public: bookdate() strcpy(name,0); strcpy(author,0); strcpy(company,0); price=NULL; date=NULL; void input() basic: input(); void show() basic: show();class CDdate:public basic /定义一个CD类public: CDdate() strcpy(name,0); strcpy(author,0); strcpy(co
10、mpany,0); price=NULL; date=NULL; void input() basic: input(); ;class tapedate:public basic /定义一个磁带类public: tapedate() strcpy(name,0); strcpy(author,0); strcpy(company,0); price=NULL; date=NULL; void input() basic: input(); ;int main() bookdate book100; /定义 书籍数组 CDdate CD100; /定义 CD 数组 tapedate tape1
11、00; /定义 磁带数组 int face(); int screem(); if(face()=1) /书籍 int x,i=0,n=0; char name1; int screem(); if(screem()!=1&screem()!=2&screem()!=3&screem()!=4&screem()!=0) cout您输入的命令错误endl; if(screem()=1) system(cls); coutt请输入书籍信息:endlendl; do booki.input(); cout是否再次输入数据【0.否,1.是】:x; i+; n+; while(x=1); EXEC: i
12、nt screem(); if(screem()=2) /浏览信息 int o; system(cls); couttt*书籍信息浏览*endlendlendl; for(int m=0;mn;m+) bookm.show(); cout返回上一层请输入1o; goto EXEC; else if(screem()=3) / 删除信息 int q; system(cls); char name120; cout请输入要删除的书籍名字:name1; int i,p=1; for(i=0;in;i+) if(strcmp(name1,booki.name)=0) for(int l=i;ln;l+
13、) strcpy(bookl.name,bookl+1.name); strcpy(bookl.author,bookl+1.author); strcpy(pany,bookl+pany); bookl.price=bookl+1.price; bookl.date=bookl+1.date; p=0; if(p=1) cout查找不到您输入的书名endl; cout返回上一层请输入1q; goto EXEC; else /查找信息 int q; system(cls); char name120; cout请输入要查找的书籍名字:name1; int i,p=1; for(i=0;in;i
14、+) if(strcmp(name1,booki.name)=0) booki.show(); p=0; if(p=1) cout查找不到您输入的书名endl; cout返回上一层请输入1q; goto EXEC; else if(face()=2) / CD int x,i=0,n=0; int screem(); if(screem()=1) system(cls); coutt请输入 CD 信息:endlendl; do coutendlendl; CDi.input(); cout是否再次输入数据【0.否,1.是】:x; i+; n+; while(x=1); system(cls);
15、 EXEC1: int screem(); if(screem()=2) /CD信息浏览 int e; system(cls); couttt* CD 信息浏览*endlendlendl; for(int m=0;mn;m+) CDm.show(); cout返回上一层请输入1e; goto EXEC1; else if(screem()=3) /CD信息删除 int q; system(cls); char name120; cout请输入要删除的 CD 名字:name1; int i,p=1; for(i=0;in;i+) if(strcmp(name1,CDi.name)=0) for(
16、int l=i;ln;l+) strcpy(CDl.name,CDl+1.name); strcpy(CDl.author,CDl+1.author); strcpy(CDpany,CDl+pany); CDl.price=CDl+1.price; CDl.date=CDl+1.date; p=0; if(p=1) cout查找不到您输入的 CD 名endl; cout返回上一层请输入1q; goto EXEC1; else /CD信息查找 int k; system(cls); char name120; cout请输入要查找的CD名字:name1; int i,p=1; for(i=0;i
17、n;i+) if(strcmp(name1,CDi.name)=0) CDi.show(); p=0; if(p=1) cout查找不到您输入的CD名endl; cout返回上一层请输入1k; goto EXEC1;else / 磁带 int x,i=0,n=0; int screem(); if(screem()=1) system(cls); coutt请输入磁带信息:endlendl; do coutendlendl; tapei.input(); cout是否再次输入数据【0.否,1.是】:x; i+; n+; while(x=1); system(cls); EXEC2: int s
18、creem(); if(screem()=2) int u; system(cls); couttt*磁带信息浏览*endlendlendl; for(int m=0;mn;m+) tapem.show(); cout返回上一层请输入1u; goto EXEC2; else if(screem()=3) / 磁带信息删除 int q; system(cls); char name120; cout请输入要删除的磁带名字:name1; int i,p=1; for(i=0;in;i+) if(strcmp(name1,tapei.name)=0) for(int l=i;ln;l+) strcp
19、y(tapel.name,tapel+1.name); strcpy(tapel.author,tapel+1.author); strcpy(pany,tapel+pany); tapel.price=tapel+1.price; tapel.date=tapel+1.date; p=0; if(p=1) cout查找不到您输入的磁带名endl; cout返回上一层请输入1q; goto EXEC2; else /磁带信息 查找 int v; system(cls); char name120; cout请输入要查找的磁带名字:name1; int i,p=1; for(i=0;in;i+)
20、 if(strcmp(name1,tapei.name)=0) tapei.show(); p=0; if(p=1) cout查找不到您输入的磁带endl; cout返回上一层请输入 1 v; goto EXEC2;return 0;int face() int b; coutt*出版物管理系统*endl; coutendlendlendlendl; couttt1.书籍出版物信息-1endl; couttt2. CD 出版物信息-2endl; couttt3.磁带出版物信息-3endl; couttt4.退出出版物系统-0endl; cout请输入选择命令b; system(cls); if(b!=1&b!=2&b!=3) do cout输入错误,请再次输入:b; while(b=1|b=2|b=3); return b;int screem() int a; system(cls); coutt*出版物管理系统*endl; coutendlendlendlendl; couttt1.出版物信息添加-1endl; couttt2.出版物信息浏览-2endl; couttt3.出版物信息删除-3endl; couttt4.出版物信息查找-4endl; cout请输入选择命令a; return a;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1