出版物管理系统设计说明书.docx

上传人:b****3 文档编号:4051066 上传时间:2022-11-27 格式:DOCX 页数:21 大小:308.34KB
下载 相关 举报
出版物管理系统设计说明书.docx_第1页
第1页 / 共21页
出版物管理系统设计说明书.docx_第2页
第2页 / 共21页
出版物管理系统设计说明书.docx_第3页
第3页 / 共21页
出版物管理系统设计说明书.docx_第4页
第4页 / 共21页
出版物管理系统设计说明书.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

出版物管理系统设计说明书.docx

《出版物管理系统设计说明书.docx》由会员分享,可在线阅读,更多相关《出版物管理系统设计说明书.docx(21页珍藏版)》请在冰豆网上搜索。

出版物管理系统设计说明书.docx

出版物管理系统设计说明书

摘要

利用C++的基础知识,用面向对象程序设计的基本思路和方法构建的出版物管理系统,以菜单方式工作,使用数组保存出版物的信息,使用循环来完成,以接受用户的循环操作,只要新增了出版物的相关信息,就可以进行查找、删除等功能。

关键词:

C++,面向对象程序设计,数组

前言

一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:

效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,作为计算机应用的一部分,使用计算机中的C++这一编程语言对出版物信息进行管理,有着手工管理所无法比拟的优点.例如:

检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高人事劳资管理的效率,降低企业的费用支出,这些可以充分突出企业的科学化、正规化管理,同时也是世界接轨的重要条件。

 

一.系统分析……………………………………………………………4

二.各功能结构图………………………………………………………4

三.部分类及成员函数…………………………………………………7

四.系统测试……………………………………………………………9

五.参考文献……………………………………………………………11

六.设计总结……………………………………………………………11

 

一.系统分析

利用面向对象的方法以及C++的编程思想来完成系统的设计,要求建立清晰的类层次,应当设计“书,CD,磁带”三个类,每个类含有名字,作者或演唱者,出版社或唱片社,价格,出版日期等相关信息。

由于这三个类又相关的相同内容,故可设计一个含有公共信息的父类。

以菜单方式工作,交互界面友好;设定数组,使用数组保存出版物的信息;建立循环机制,使用循环来完成,以接受用户的循环操作;同时对于不合要求的输入,给出提示,允许再重新输入;设定三个实体结构,允许用户对选择的相应的出版物进行添加、删除,查找等功能。

二.各功能结构图

该系统要求实现对书籍,CD和磁带的储存,查询和删除等功能故要求定义三个类。

类层次:

首先定义一个共有基类basic,包括名字name,作者或演唱者author,出版社或唱片社company,出版日期data,价格prise,以它为父类定义三个子类分别为bookdate,CDdate,tapedate。

 

实体:

系统及其功能实体为

 

新增(图):

 

 

 

查询:

 

图(四)查询功能

 

删除:

 

 

三.部分类及成员函数

1.定义父类和书籍、CD、磁带三个子类:

classbasic{//定义父类

public:

charname[20];

charauthor[10];

charcompany[20];

intprice;

intdate;

voidinput();

voidshow();

}

};

classbookdate:

publicbasic{//定义一个书类

public:

bookdate()

{

strcpy(name,"\0");

strcpy(author,"\0");

strcpy(company,"\0");

price=0;

date=0;

}

voidinput()

{basic:

:

input();}

voidshow()

{basic:

:

show();}

};

classCDdate:

publicbasic{//定义一个CD类

public:

voidinput()

{basic:

:

input();}

};

classtapedate:

publicbasic{//定义一个磁带类

public:

voidinput()

{basic:

:

input();}

};

2.部分成员函数的实现:

voidinput()//录入函数

{

cout<<"请输入名字:

"<

cin>>name;

cout<<"请输入作者或演唱者:

"<

cin>>author;

cout<<"请输入出版社或唱片:

"<

cin>>company;

cout<<"请输入价格:

"<

cin>>price;

cout<<"请输入出版日期:

"<

cin>>date;

}

voidshow()//定义显示信息函数

{

cout<<"名字"<<"作者或演唱者"<<"出版社或唱片"<<"价格"'<<"出版日期"<

cout<

}

四.系统测试

1.系统主菜单显示界面

2.信息操作显示界面

 

3.信息浏览界面

4.信息查找显示界面

 

五.参考文献

[1]陈维兴,林小茶.c++面向对象程序设计教程.北京:

清华大学出版社,1996.2004.

[2]张国峰.C++程序设计实用教程.北京:

清华大学出版社,1996.

[3]张松梅.C++语言教程.电子科技大学出版社,1993.

[4]阎龙.C程序员的C++指南.北京航空航天大学出版社,1992.

[5]王博.面向对象的建模、设计技术与方法.北京希望电脑公司.

六.设计总结

通过此次VC++编程课程设计,我了解了VisualC++6的安装和基本使用方法,进一步掌握了运用C++及面向对象设计思想方法。

出版物管理系统的设计基本实现了老师所要求的功能,同时在设计过程中,对于遇到的各种实践问题进行了详细的分析,学到了很多知识,但还有许多便捷功能未能实现,因此还需要更多的设计来完善。

界面风格只是使用默认的,没有创新,这个需要在以后的设计中加以改进。

相比之前C语言和数据结构的课程设计,此次课程设计让自己在编程上的理解更深一层,逐步了解编程在实际中的运用,掌握了更多编程方法和思想,拓宽了知识面,为进一步的学习继续打牢根基。

 

附录:

源代码:

#include

#include

#include

#include"stdlib.h"

classbasic{//定义父类

public:

charname[20];

charauthor[10];

charcompany[20];

intprice;

intdate;

voidinput()//录入函数

{

cout<<"请输入名字:

"<

cin>>name;

cout<<"请输入作者或演唱者:

"<

cin>>author;

cout<<"请输入出版社或唱片:

"<

cin>>company;

cout<<"请输入价格:

"<

cin>>price;

cout<<"请输入出版日期:

"<

cin>>date;

}

voidshow()

{

cout<<'\t'<<"名字"<<'\t'<<"作者或演唱者"<<'\t'<<"出版社或唱片"<<'\t'<<"价格"<<'\t'<<"出版日期"<

cout<<'\t'<

}

};

classbookdate:

publicbasic{//定义一个书类

public:

bookdate()

{

strcpy(name,"\0");

strcpy(author,"\0");

strcpy(company,"\0");

price=NULL;

date=NULL;

}

voidinput()

{basic:

:

input();}

voidshow()

{basic:

:

show();}

};

classCDdate:

publicbasic{//定义一个CD类

public:

CDdate()

{

strcpy(name,"\0");

strcpy(author,"\0");

strcpy(company,"\0");

price=NULL;

date=NULL;

}

voidinput()

{basic:

:

input();}

};

classtapedate:

publicbasic{//定义一个磁带类

public:

tapedate()

{

strcpy(name,"\0");

strcpy(author,"\0");

strcpy(company,"\0");

price=NULL;

date=NULL;

}

voidinput()

{basic:

:

input();}

};

intmain()

{

bookdatebook[100];//定义书籍数组

CDdateCD[100];//定义CD数组

tapedatetape[100];//定义磁带数组

intface();

intscreem();

if(face()==1)//书籍

{

intx,i=0,n=0;

charname1;

intscreem();

if(screem()!

=1&&screem()!

=2&&screem()!

=3&&screem()!

=4&&screem()!

=0)

cout<<"您输入的命令错误"<

if(screem()==1)

{

system("cls");

cout<<'\t'<<"请输入书籍信息:

"<

do

{

book[i].input();

cout<<"是否再次输入数据【0.否,1.是】:

"<

cin>>x;

i++;

n++;

}while(x==1);

}

EXEC:

intscreem();

if(screem()==2)//浏览信息

{

into;

system("cls");

cout<<'\t'<<'\t'<<"***********书籍信息浏览**********"<

for(intm=0;m

book[m].show();

cout<<"返回上一层请输入1"<

cin>>o;

gotoEXEC;

}

else

{

if(screem()==3)//删除信息

{

intq;

system("cls");

charname1[20];

cout<<"请输入要删除的书籍名字:

"<

cin>>name1;

inti,p=1;

for(i=0;i

if(strcmp(name1,book[i].name)==0)

{for(intl=i;l

{

strcpy(book[l].name,book[l+1].name);

strcpy(book[l].author,book[l+1].author);

strcpy(book[l].company,book[l+1].company);

book[l].price=book[l+1].price;

book[l].date=book[l+1].date;

}

p=0;

}

if(p==1)

cout<<"查找不到您输入的书名"<

cout<<"返回上一层请输入1"<

cin>>q;

gotoEXEC;

}

else//查找信息

{

intq;

system("cls");

charname1[20];

cout<<"请输入要查找的书籍名字:

"<

cin>>name1;

inti,p=1;

for(i=0;i

if(strcmp(name1,book[i].name)==0)

{book[i].show();

p=0;

}

if(p==1)

cout<<"查找不到您输入的书名"<

cout<<"返回上一层请输入1"<

cin>>q;

gotoEXEC;

}

}

}

else

{if(face()==2)//CD

{

intx,i=0,n=0;

intscreem();

if(screem()==1)

{

system("cls");

cout<<'\t'<<"请输入CD信息:

"<

do

{

cout<

CD[i].input();

cout<<"是否再次输入数据【0.否,1.是】:

"<

cin>>x;

i++;

n++;

}while(x==1);

system("cls");

}

EXEC1:

intscreem();

if(screem()==2)//CD信息浏览

{

inte;

system("cls");

cout<<'\t'<<'\t'<<"***********CD信息浏览**********"<

for(intm=0;m

CD[m].show();

cout<<"返回上一层请输入1"<

cin>>e;

gotoEXEC1;

}

else

{

if(screem()==3)//CD信息删除

{

intq;

system("cls");

charname1[20];

cout<<"请输入要删除的CD名字:

"<

cin>>name1;

inti,p=1;

for(i=0;i

if(strcmp(name1,CD[i].name)==0)

{for(intl=i;l

{

strcpy(CD[l].name,CD[l+1].name);

strcpy(CD[l].author,CD[l+1].author);

strcpy(CD[l].company,CD[l+1].company);

CD[l].price=CD[l+1].price;

CD[l].date=CD[l+1].date;

}

p=0;

}

if(p==1)

cout<<"查找不到您输入的CD名"<

cout<<"返回上一层请输入1"<

cin>>q;

gotoEXEC1;

}

else//CD信息查找

{intk;

system("cls");

charname1[20];

cout<<"请输入要查找的CD名字:

"<

cin>>name1;

inti,p=1;

for(i=0;i

if(strcmp(name1,CD[i].name)==0)

{CD[i].show();

p=0;

}

if(p==1)

cout<<"查找不到您输入的CD名"<

cout<<"返回上一层请输入1"<

cin>>k;

gotoEXEC1;

}

}

}

else//磁带

{

intx,i=0,n=0;

intscreem();

if(screem()==1)

{

system("cls");

cout<<'\t'<<"请输入磁带信息:

"<

do

{

cout<

tape[i].input();

cout<<"是否再次输入数据【0.否,1.是】:

"<

cin>>x;

i++;

n++;

}while(x==1);

system("cls");

}

EXEC2:

intscreem();

if(screem()==2)

{

intu;

system("cls");

cout<<'\t'<<'\t'<<"***********磁带信息浏览**********"<

for(intm=0;m

tape[m].show();

cout<<"返回上一层请输入1"<

cin>>u;

gotoEXEC2;

}

else

{

if(screem()==3)//磁带信息删除

{

intq;

system("cls");

charname1[20];

cout<<"请输入要删除的磁带名字:

"<

cin>>name1;

inti,p=1;

for(i=0;i

if(strcmp(name1,tape[i].name)==0)

{for(intl=i;l

{

strcpy(tape[l].name,tape[l+1].name);

strcpy(tape[l].author,tape[l+1].author);

strcpy(tape[l].company,tape[l+1].company);

tape[l].price=tape[l+1].price;

tape[l].date=tape[l+1].date;

}

p=0;

}

if(p==1)

cout<<"查找不到您输入的磁带名"<

cout<<"返回上一层请输入1"<

cin>>q;

gotoEXEC2;

}

else//磁带信息查找

{

intv;

system("cls");

charname1[20];

cout<<"请输入要查找的磁带名字:

"<

cin>>name1;

inti,p=1;

for(i=0;i

if(strcmp(name1,tape[i].name)==0)

{tape[i].show();

p=0;

}

if(p==1)

cout<<"查找不到您输入的磁带"<

cout<<"返回上一层请输入1"<

cin>>v;

gotoEXEC2;

}

}

}

}

return0;

}

intface()

{

intb;

cout<<'\t'<<"*****************出版物管理系统****************"<

cout<

cout<<'\t'<<'\t'<<"1.书籍出版物信息--------------1"<

cout<<'\t'<<'\t'<<"2.CD出版物信息--------------2"<

cout<<'\t'<<'\t'<<"3.磁带出版物信息--------------3"<

cout<<'\t'<<'\t'<<"4.退出出版物系统--------------0"<

cout<<"请输入选择命令"<

cin>>b;

system("cls");

if(b!

=1&&b!

=2&&b!

=3)

{

do{

cout<<"输入错误,请再次输入:

"<

cin>>b;

}while(b==1||b==2||b==3);

}

returnb;

}

intscreem()

{

inta;

system("cls");

cout<<'\t'<<"*****************出版物管理系统****************"<

cout<

cout<<'\t'<<'\t'<<"1.出版物信息添加--------------1"<

cout<<'\t'<<'\t'<<"2.出版物信息浏览--------------2"<

cout<<'\t'<<'\t'<<"3.出版物信息删除--------------3"<

cout<<'\t'<<'\t'<<"4.出版物信息查找--------------4"<

cout<<"请输入选择命令"<

cin>>a;

returna;

}

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1