C语言课程设计实验设备管理Word下载.docx

上传人:b****6 文档编号:16211305 上传时间:2022-11-21 格式:DOCX 页数:30 大小:484.49KB
下载 相关 举报
C语言课程设计实验设备管理Word下载.docx_第1页
第1页 / 共30页
C语言课程设计实验设备管理Word下载.docx_第2页
第2页 / 共30页
C语言课程设计实验设备管理Word下载.docx_第3页
第3页 / 共30页
C语言课程设计实验设备管理Word下载.docx_第4页
第4页 / 共30页
C语言课程设计实验设备管理Word下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

C语言课程设计实验设备管理Word下载.docx

《C语言课程设计实验设备管理Word下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计实验设备管理Word下载.docx(30页珍藏版)》请在冰豆网上搜索。

C语言课程设计实验设备管理Word下载.docx

设计内容:

编写一个简单的实验室设备管理程序,帮助管理实验室设备信息。

要求具有设备信息管理的功能。

其中包括设备信息的录入、删除、查询和修改等功能。

还应包括对实验室信息管理的功能。

其中包括对实验室信息的录入、删除、修改和查询等功能。

2.1程序设计组成框图

3、任务和要求

运用面向对象的程序设计方法,要求选择动态数组类模板或链表类模板,任务中要运用I/O流对象对文件进行读写操作。

本题程序应提供的基本管理功能有:

1)添加:

即增加一条信息到设备信息中,或增加一条信息到实验室信息中;

2)显示:

即在屏幕上显示所有设备或实验室信息;

3)存储:

即将设备信息和实验室信息分别保存在文件中;

4)装入:

即将文件中的信息读入程序;

5)查询:

可根据设备名称查找具体情况,若找到,显示在屏幕上;

6)修改:

可修改设备信息,或对实验室信息进行修改。

4、课程设计报告内容

4.1流程图显示

4.2程序实现思路

定义一个结点类,用于存放实验室设备的各种信息;

定义一个Link类,把数据以链表的形式存储,链表的每个结点为一个Node对象;

定义一个Shebei类,用于包装Link类及菜单操作;

定义Link类和Shebei类的成员函数,实现要求的各种功能;

Link类:

classLink//Link类,把数据以链表的形式存储,链表的每个结点为一个Node对象

{

private:

Node*head;

//链表的头指针,为Node对象类型的指针

public:

Link();

//构造函数,初始化变量

boollinkIsEmpty();

//判断链表是否为空

voidlinkInsert(Node*newnode);

//向链表中插入新的结点

boollinkDelete(intnid);

//从链表中删除的结点

voidlinkClear();

//清空链表中数据

voidlinkView();

//查看链表中数据

Node*linkFind(intnid);

//在链表中查找id为nid结点,返回指向该结点的指针

Node*getHead();

//获取头指针

};

Shebei类:

classShebei

Linkclink;

//Link对象成员

boolk;

//记录数据是否被修改

public:

Shebei();

voidShebeiClear();

voidShebeiInsert();

voidShebeiDelete();

voidShebeiFind();

voidShebeiModify();

voidShebeiView();

voidShebeiLoad();

voidShebeiSave();

voidExit();

//退出程序

voidshowMenu();

//显示菜单

voidshowTip();

//显示操作提示

voiddoMenu(charn);

//执行相应菜单项功能

然后就是各个函数的具体定义。

菜单选择功能的实现,使用switch语句;

菜单选择函数的定义:

voidShebei:

:

showMenu()

cout<

<

"

\t\t**************************************************"

endl;

\t\t*实验室设备管理系统*"

cout<

\t\t**"

\t\t*1--清空:

清除所有设备信息*"

\t\t*2--添加:

增加一个设备到设备信息中*"

\t\t**"

\t\t*3--删除:

删除指定设备数据*"

\t\t*4--查找:

根据设备数据查找设备信息*"

\t\t*5--修改:

修改指定设备信息*"

\t\t*6--显示:

在屏幕上显示所有设备的信息*"

\t\t*7--存储:

将设备信息保存在一个文件中*"

\t\t**"

\t\t*0--退出:

安全的退出本系统*"

}

showTip()

****************操作完成*********************"

**************选择0-7继续*****************"

请选择:

;

doMenu(charn)

switch(n)

{

case'

1'

ShebeiClear();

break;

2'

ShebeiInsert();

3'

ShebeiDelete();

break;

4'

ShebeiFind();

5'

ShebeiModify();

6'

ShebeiView();

7'

ShebeiSave();

0'

Exit();

default:

输入错误!

}

5、程序演示

5.1、进入系统

5.2添加设备信息

5.3删除指定设备信息

5.4根据设备数据查找设备信息

5.5修改设备信息

5.6显示所有设备信息

5.7将设备信息存储在文本中

6、总结

经过一个星期的C++程序设计,让我明白到了C++这门课的重要性,C++作为一门电脑学的基础课,是我们必须掌握的顺电脑飞速发展的今天,掌握电脑的应用是如今每一位大学生所必须掌握的,掌握电脑有对各人来说有我种好处,学习电脑是一种本领,也是一种生存的技能,而C++做为电脑的基础,掌握它更是我们这些大学生所必须掌握的。

经过这次程序设计,让我认识到了C++的运用是相当广泛的,才拿到题目的时候,我真的不知道该怎么办,但随着慢慢的设计,思路也总算有了,这样才能继续进行下去,这时我才真正认识到了C+++的功能原来是那么的多。

一个复杂的实验室设备管理系统,经过500-600行的代码就可以完完全全的达到,这是让我非常惊讶的,但相对,如今的C++也是非常难的,这学期学到的一些内容,都是C++的重点,但学下来以后感觉还是很难所以必须先打好基础,基础好了,学什么都会容易很多。

这次的程序设计让我重新认识到了C++,这是一门非常重要的科目,我们必须付出很多倍的努力学习它,才能熟练地掌握它。

源代码

#include<

iostream>

cstdlib>

string>

fstream>

sstream>

usingnamespacestd;

classNode//结点类,用于存放客户的各种信息

longid;

//实验设备编号

stringname;

//名称

stringtype;

//设备类型

stringsuoshushiyanshi;

//实验设备所属实验室

stringbuytime;

//购买时间

stringprice;

//价格

stringamount;

//库存量

stringshengchanriqi;

//生产日期

stringshiyongshouming;

//使用寿命

stringweight;

//重量

Node*next;

//指向下一结点的指针

Node(longid=000,stringnname="

noname"

stringntype="

unkown"

stringnsuoshushiyanshi="

unknow"

stringnbuytime="

stringnprice="

stringnamount="

stringnshengchanriqi="

stringnshiyongshouming="

stringnweight="

);

Node:

Node(longnid,stringnname,stringntype,stringnsuoshushiyanshi,

stringnbuytime,stringnprice,stringnamount,stringnshengchanriqi,

stringnshiyongshouming,stringnweight)

id=nid;

name=nname;

type=ntype;

suoshushiyanshi=nsuoshushiyanshi;

buytime=nbuytime;

price=nprice;

amount=namount;

shengchanriqi=nshengchanriqi;

shiyongshouming=nshiyongshouming;

weight=nweight;

next=NULL;

Link:

Link()//构造函数,初始化链表为空

head=NULL;

boolLink:

linkIsEmpty()//判断链表是否为空,空则返回true

return(head==NULL);

------共同设计

voidLink:

linkInsert(Node*newnode)//按id值从小到大的顺序,插入新的结点

Node*p1;

if(!

head)//链表为空的情况

head=newnode;

elseif((head->

id)>

(newnode->

id))//插入到第一个结点的情况

newnode->

next=head;

else//插入到第二个及以后情况

p1=head;

while

(1)

(p1->

next))

p1->

next=newnode;

elseif((p1->

next)->

id>

newnode->

id)

next=p1->

next;

p1=p1->

linkDelete(intnid)//删除结点,成功则返回true

Node*p;

if(head==NULL)//链表为空的情况

returnfalse;

if(head->

id==nid)//删除的为第一个结点的情况

head=head->

returntrue;

p=head;

while(p->

next)//删除的为第二个及以后结点的情况

if((p->

id==nid)

p->

next=(p->

p=p->

-------由陈广鹏设计

linkClear()//清空链表

Node*Link:

linkFind(intnid)//查找id值为nid的结点,返回该结点的指针

Node*p=head;

//没找到符合条件的结点的话,返回的指针值为NULL

while(p)

if(p->

else

returnp;

linkView()//显示链表数据

实验设备编号:

p->

id<

cout<

名称:

name<

类型:

type<

所属实验室:

suoshushiyanshi<

购买时间:

buytime<

价格:

price<

库存量:

amount<

生产日期:

shengchanriqi<

使用寿命:

shiyongshouming<

重量:

weight<

*******************************************************"

getHead()

returnhead;

//类Shebei,用于包装Link类及菜单操作

Shebei:

Shebei()

//调用成员对象的构造函数

ShebeiLoad();

//从文件中读取数据,创建链表

k=false;

//设置数据被修改

-----------由陈军文设计

ShebeiClear()//清空设备记录

clink.linkClear();

成功清空设备信息记录!

ShebeiInsert()//插入设备记录

Node*p=newNode();

请输入设备编号:

cin>

>

id;

请输入名称:

name;

请输入类型:

type;

请输入所属实验室:

suoshushiyanshi;

请输入购买时间:

buytime;

请输入价格:

price;

请输入库存量:

amount;

请输入生产日期:

shengchanriqi;

请输入设备重量:

weight;

clink.linkFind(p->

id))//判断设备信息是否存在

clink.linkInsert(p);

k=true;

设备编号为"

的的设备已存在,插入失败!

----------由陈磊设计

ShebeiDelete()//删除设备记录

longi;

if(clink.linkIsEmpty())//链表为空的情况

没有设备记录!

i;

if(clink.linkDelete(i))

成功删除编号为"

i<

的实验记录!

没有找到编号为"

的设备!

ShebeiFind()//查找某编号的设备记录

longn;

请输入要查找设备的编号:

n;

p=clink.linkFind(n);

//获得找到的结点的指针

if(p)//指针值不为NULL时

else//指针值为NULL时

n<

的设备记录!

ShebeiModify()//修改某编号的设备信息

请输入要修改设备的编号:

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

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

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

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