c++实验设备管理系统程序报告要点Word文件下载.docx

上传人:b****7 文档编号:22621714 上传时间:2023-02-04 格式:DOCX 页数:59 大小:63.24KB
下载 相关 举报
c++实验设备管理系统程序报告要点Word文件下载.docx_第1页
第1页 / 共59页
c++实验设备管理系统程序报告要点Word文件下载.docx_第2页
第2页 / 共59页
c++实验设备管理系统程序报告要点Word文件下载.docx_第3页
第3页 / 共59页
c++实验设备管理系统程序报告要点Word文件下载.docx_第4页
第4页 / 共59页
c++实验设备管理系统程序报告要点Word文件下载.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

c++实验设备管理系统程序报告要点Word文件下载.docx

《c++实验设备管理系统程序报告要点Word文件下载.docx》由会员分享,可在线阅读,更多相关《c++实验设备管理系统程序报告要点Word文件下载.docx(59页珍藏版)》请在冰豆网上搜索。

c++实验设备管理系统程序报告要点Word文件下载.docx

2、对实验设备类型的管理。

3、对实验设备各项信息的录入和修改。

4、对实验设备的分类查询统计。

5、对实验设备的遗损处理

1.5运行需求

开发环境:

VC6.0

运行环境:

Windows系统

第二章概要设计

2.1总体设计

程序总体共分为4个类:

1、菜单类

2、设备类型类

3、设备类

4、管理员类

由主函数主持整体运行,由菜单类调用其它三类

2.2面向对象设计

1•设备类型类:

(见图2)

voidshuru();

//设备类型的输入

voidtianjia();

//设备类型的添加

voidshanchu();

//设备类型的删除

voidshow();

//设备类型的输出显示

voidxieru();

〃设备类型的写入

voidduqu();

〃设备类型的读取

2•设备类:

nfom*write()II设备的创建写入(见图3)

Infom*load()II从文档中读取数据(见图4)

voidacquire。

nfom*head)//分类查询数据(见图5)

voidacquire2(Infom*head)//查询全部数据(见图5)

voidacqu(charchoose)//分类查询的内容支持(见图5)

voidadd()〃添加新内容(见图6)

voidundo(Infom*head)//删除(见图7)intsave(Infom*head)//将现数据进行保存

voidrevise(Infom*head)〃修改数据

voidclassify(Infom*head)//对数据的分类统计(见图8)

voidclasK(lnfom*head)//类型的分类统计(见图8)

voidclasP(Infom*head)//价格的分类统计(见图8)voidclasE(Infom*head)//是否报废的统计(见图8)

3•管理员类:

voidcreate()//创建用户名和密码

intlog()//登陆

voidchange()//修改用户名和密码

2.3运行界面设计

运行界面由菜单类实现;

菜单类:

1.intmenu1(device*p,structShiyanEquip*head,DeviceTipe*a,manager*b)//管理模式主菜单

2.intmenu2(device*p,structShiyanEquip*head,DeviceTipe*a)//

游客模式主菜单

3.structShiyanEquip*entering(device*p)〃

4.structShiyanEquip*entering2(device*p)〃

5.structShiyanEquip

6.structShiyanEquip

7.structShiyanEquip

8.structShiyanEquip

9.structShiyanEquip

change(device*p)〃query(device*p)〃statistic(device*p)〃account(manager*b)〃type(DeviceTipe*a)〃

3.1系统设计与实现

第三章详细设计

【总体框架、流程设计,模块划分及接口设计等】

总体框架:

主菜单1

开始

录入

查询

修改

全部查询

分类查询

价格统计

主菜单2

统计

►L类型统计

报废统计

[修改账号

设备类型

删除

显示

 

接口设计:

1.intmenu1(device*p,structShiyanEquip*head,DeviceTipe*a,manager*b)

[功能]调用管理模式主菜单并指向管理模式各项分菜单

2.intmenu2(device*p,structShiyanEquip*head,DeviceTipe*a)

[功能]调用游客模式主菜单并指向游客模式各项分菜单

3.structShiyanEquip*entering(device*p)

[功能]指向设备类中的新建,载入和添加函数并完成相应函数功能

4.structShiyanEquip*entering2(device*p)

[功能]指向设备类中的载入函数并完成函数功能

5.structShiyanEquip*change(device*p)

[功能]指向设备类中的修改和删除函数并完成相应函数功能

6.structShiyanEquip*query(device*p)

[功能]指向设备类中的分类查询和全部查询函数并完成相应函数功能

7.structShiyanEquip*statistic(device*p)

[功能]指向设备类中的分类统计函数并完成相应三类的统计

8.structShiyanEquip*account(manager*b)

[功能]指向管理员类中的修改函数完成修改账户及密码的功能

9.structShiyanEquip*type(DeviceTipe*a)

[功能]指向设备类型类中的各个函数并完成有关设备类型的全部功能

3.2模块设计

0载

=|1输入输入要输入的类型

2添输入要添加的类型

存在删

4显示

设备类:

load

write

图4

输入

昭匕是否、

储存

是否为0

选择查询方式

结束

全部显示

选择分类

是否为空

F1

读取匹配

图51

ClassifyE

读取

add

匹配1

匹配2

匹配3

'

1

Undo

>

1结束

判断

第四章测试分析

【程序运行展示】

【测试中发现的问题及解决方案】

1.缺少必要的文字描述(已解决)

2.输出的格式问题(已解决)

3.不能删除唯一一项数据的问题(已解决)

4.设备操作中缺失最后一行的问题(已解决)

5.不能返回上一级菜单的问题(已解决)

6•价格统计时不能确定准确比较的问题(已解决)

【对最终成果的评价】

整体来说比较满意,是最近辛苦努力的伟大成果,但是有如下几点有待改进

1.可以进行汉字输入但是不能进行汉字查询的问题

2.管理员账号不能随意登出的问题

3.设备类中没有使用private导致保密性不强的问题

第五章课程设计总结

【设计初衷、实践过程中遇到的困难及解决方案、课程收获等】

在此次课程中,我们学到了很多东西,复习巩固了C语言的许多知识。

并且在编写程序的

过程中,能够把C++中更多功能体现出来。

设计过程中当然也遇到了许多问题,但通过我们

的讨论学习,上网查询各种资料,这些问题还是逐一解决了。

这次设计采用了多人组队的模式,也使我们在此次设计中明白了团队合作的重要性,虽然这种小设计单人也能够完成,但

是重要的是这种合作使工作效率大大的提高并且能够了解他人的思路,学习他人的方法,并

不再是独自闭门造车。

此外这次的编程也使我们对编程设计有了很高的成就感,有了更大的

热情。

我们相信在以后我们能够做出更优秀的作品

#include<

iostream>

fstream>

conio.h>

stdio.h>

iomanip>

windows.h>

usingnamespacestd;

classDeviceTipe//定义设备类型类

{

private:

charsblx[20][20];

//设备类型

public:

〃设备类型的输入

//设备类型的添加

//设备类型的输出显示

//设备类型的写入

//设备类型的读取

};

//==============================================================//==============================================================classdevice//定义设备类

typedefstructinfom

charidnum[10];

//编号

charkind[10];

//类型

charname[10];

//名称

charprice[10];

//价格

charpurda[10];

//购买日期

charexist[10];

//是否报废

chardamda[10];

//报废日期

structinfom*next;

}Infom;

Infom*head;

DeviceTipewcs;

Infom*write()〃设备的创建写入

fstreamthe("

aaa.txt"

ios:

:

out|ios:

app);

Infom*p1,*p2;

head=NULL;

wcs.duqu();

wcs.show();

p1=p2=(lnfom*)malloc(sizeof(Infom));

cout<

<

"

请输入编号种类名称价格购买日期是否报废报废日期(空格键断开/按0键结束输入):

endl;

cin>

>

p1->

idnum

kind

p1->

name

price

purda

exist

damda;

the<

idnum<

kind<

name<

price<

<

purda<

exist<

damda<

endl;

next=NULL;

while

(1)

if(head==NULL)

head=p1;

if(head!

=NULL)

p2->

next=p1;

p2=p1;

p1=(Infom*)malloc(sizeof(lnfom));

idnum;

if(*(p1->

idnum)=='

0'

free(p1);

break;

}

kind

kind<

the.close();

写入成功"

load();

returnhead;

//==============================================================

Infom*load()//从文档中读取数据

intn,a;

chartran[7][80];

intb;

fstreamt("

);

p1=p2=(lnfom*)malloc(sizeof(Infom));

if(t.getline(tran[0],80,'

\n'

)==NULL)

载入失败"

return0;

for(n=0,a=0;

tran[0][n]!

='

'

;

n++)

idnum[a]=tran[0][n];

a++;

idnum[a]='

\0:

for(a=0,n=n+1;

n++){

kind[a]=tran[0][n];

kind[a]='

\O:

name[a]=tran[0][n];

name[a]='

price[a]=tran[O][n];

a++;

price[a]='

purda[a]=tran[0][n];

purda[a]='

\0'

exist[a]=tran[0][n];

exist[a]='

for(a=0,n=n+1;

tran[0][n]!

;

damda[a]=tran[0][n];

damda[a]='

for(b=1;

t.getline(tran[b],80,'

)!

=NULL;

b++)

else

p2=p1;

p1=(lnfom*)malloc(sizeof(Infom));

tran[b][n]!

idnum[a]=tran[b][n];

idnum[a]='

for(a=0,n=n+1;

tran[b][n]!

kind[a]=tran[b][n];

kind[a]='

n++)p1->

name[a]=tran[b][n];

{p1->

price[a]=tran[b][n];

purda[a]=tran[b][n];

exist[a]=tran[b][n];

exist[a]='

for(a=0,n=n+1;

n++){

damda[a]=tran[b][n];

}p2->

if(b==1)

载入成功"

nfom*head)//分类查询数据

charchoose;

请选择查询方式:

1.

编号"

2.

名称"

3.

类型"

4.

价格"

5.

购买日期

6.

是否报废

7.

报废日期

0.

结束查询

choose=getch();

switch(choose)

case'

1'

acqu(choose);

2'

case3:

4'

5'

6'

7'

voidacquire2(lnfom*head)//查询全部数据

Infom*t=head;

if(t==NULL)

对不起,信息不存在"

else{

编号种类名称价格购买日期

否报废报废日期"

for(;

t->

next!

setfill('

)<

setw(10)<

name<

t=t->

next;

voidacqu(charchoose)//分类查询的内容支持

char*s;

inta=0;

charxyz[10];

请输入查询内容:

xyz;

case'

s=t->

idnum;

s=t->

name;

3'

kind;

price;

purda;

exist;

if(strcmp(s,xyz)==0)

if(a==0)

编号种类

期是否报废报废日期"

if(strcmp(s,xyz)==O)

编号种类名称价格

报废日期"

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

当前位置:首页 > 高等教育 > 文学

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

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