仓库管理系统C课程设计报告.docx

上传人:b****2 文档编号:25897826 上传时间:2023-06-16 格式:DOCX 页数:20 大小:18.06KB
下载 相关 举报
仓库管理系统C课程设计报告.docx_第1页
第1页 / 共20页
仓库管理系统C课程设计报告.docx_第2页
第2页 / 共20页
仓库管理系统C课程设计报告.docx_第3页
第3页 / 共20页
仓库管理系统C课程设计报告.docx_第4页
第4页 / 共20页
仓库管理系统C课程设计报告.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

仓库管理系统C课程设计报告.docx

《仓库管理系统C课程设计报告.docx》由会员分享,可在线阅读,更多相关《仓库管理系统C课程设计报告.docx(20页珍藏版)》请在冰豆网上搜索。

仓库管理系统C课程设计报告.docx

仓库管理系统C课程设计报告

《高级语言程序设计》

课程设计报告

设计题目图书管理系统

专业计算机科学与技术

班级

姓名

学号

2007年6月5日

1.设计目的…………………………………………………3

2.设计思想…………………………………………………3

3.类及对象设计……………………………………………4

4.程序源代码………………………………………………5

5.调试记录…………………………………………………16

6.总结………………………………………………………18

仓库管理系统

1.设计目的

通过实习进一步掌握所学的基本知识,学会解决实际问题的方法

2设计题目

1、问题描述(功能要求):

某公司现有以下设备:

普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%,要求对所有的库存设备都能按照品名进行显示、查找、增加和删除、保存的功能。

2、问题的解决方案:

根据系统功能要求,可以将问题解决分为以下步骤:

(1)分析系统中的各个实体之间的关系及其属性和行为;

(2)根据问题描述,设计系统的类层次;

(3)完成类层次中各个类的描述(包括属性和方法);

(4)完成类中各个成员函数的定义;

(5)完成系统的应用模块;

(6)功能调试;

(7)完成系统总结报告以及系统使用说明书。

2.设计思想

(1)设计classadmin管理库,实现对仓库信息的描叙;classshelf柜台类库实现建立电器资料;classele电器类,实现对电器的描述,电器的编号,货架号,名称,数量,价格等;classmana函数类,实现对电器的入库,查找,出库等。

以下是函数功能表:

函数

功能

charfirst_face()

获取首页

voidshow_storage()

显示储存信息

voidin_storage()

电器入库

voidout_storage()

电器出库

voidselect_ele()

查询电器信息

voidselect_name()

按电器名查询

voidselect_price()

按电器价格查询

voidcall_s()

商品保存

(2)用类的成员函数对链表的数据进行操作,其功能如上表所列。

(3)设计菜单来实现功能设计

1、输入商品

2、商品查找

3、查询入库

4、商品出库

5、退出系统

3.设计类及对象

(1)本程序定义了四个类,定义如下:

classadmin

{

public:

admin();

private:

stringname;

};

classshelf

{

public:

shelf();

private:

stringstoreNo;//仓库编号

stringshelfNo;

adminwe;//货架号

};

classele

{

public:

ele();

private:

stringname;//商品名

doubleprice;//介格

shelfsh;//所属货架

longcount;//商品数量

};

classmana

{

public:

mana();

charfirst_face();//首页

voidshow_storage();//显示

voidin_storage();//入库

voidout_storage();//出库

voidselect_ele();//查询

voidselect_name();//按商品名称查询

voidselect_price();//按商品价格查询

voidcall_s();//商品保存

voidshow_storage1();

private:

adminabs;

eleaele;

shelfashelf;

};

ele:

:

ele():

sh()

{

name="xxx";//商品名

price=0.0;//介格

count=0;//商品数量

}

(2)分别利用类classadmin、classshelf、classele、classmana定义了各自的对象adminabs、shelfsh;eleaele;对其函数进行调用实现各种功能。

(3)主函数实现,调用各种函数。

4.程序源代码

#include

#include

#include

#include

#include

usingnamespacestd;

classadmin

{

public:

admin();

private:

stringname;

};

classshelf

{

public:

shelf();

private:

stringstoreNo;//仓库编号

stringshelfNo;

adminwe;//货架号

};

classele

{

public:

ele();

private:

stringname;//商品名

doubleprice;//介格

shelfsh;//所属货架

longcount;//商品数量

};

classmana

{

public:

mana();

charfirst_face();//首页

voidshow_storage();//显示

voidin_storage();//入库

voidout_storage();//出库

voidselect_ele();//查询

voidselect_name();//按商品名称查询

voidselect_price();//按商品价格查询

voidcall_s();//商品保存

voidshow_storage1();

private:

adminabs;

eleaele;

shelfashelf;

};

ele:

:

ele():

sh()

{

name="xxx";//商品名

price=0.0;//介格

count=0;//商品数量

}

shelf:

:

shelf():

we()

{

storeNo="xxx";//仓库编号

shelfNo="xxx";;//货架号

}

admin:

:

admin()

{

name="xxx";

}

mana:

:

mana():

aele(),ashelf(),abs()

{

}

charmana:

:

first_face()

{

system("cls");

cout<

cout<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

returngetch();

}

voidmana:

:

in_storage()

{

system("cls");

stringname;//商品名

doubleprice;//介格

stringstoreNo;//仓库编号

stringkinds;//商品大类

stringshelfNo;//货架号

longcount=0;//商品数量

cout<

"<

cout<<"\t商品名称:

";

cin>>name;

cout<

";

cin>>price;

cout<

";

cin>>count;

cout<

";

cin>>storeNo;

cout<

";

cin>>shelfNo;

ofstreamstoreFile("store.txt",ios:

:

app);

storeFile<

:

left)<

<

<

<

storeFile.close();

cout<

system("pause");

}

voidmana:

:

show_storage(){

boolflag2=false;

stringname2;//商品名

doubleprice2;//介格

stringstoreNo2;//仓库编号

stringshelfNo2;//货架号

longcount2=0;//商品数量

ifstreamshowFile("store.txt");

if(!

showFile)

{

cout<<"\t对不起,你的库存为空!

!

!

"<

system("pause");

return;

}

cout<

<<""<<"货架号"<

while(showFile>>name2>>price2>>count2>>storeNo2>>shelfNo2)

{

cout<

:

left)<

<

<

<

}

showFile.close();

getchar();

}

voidmana:

:

out_storage()

{

system("cls");

stringname;//商品名

cout<

"<

cout<<"\t商品名称:

";

cin>>name;

ifstreamstoreFile("store.txt");

if(!

storeFile)

{

ofstreamstoreFile1("store.txt");

storeFile1.close();

cout<

!

!

!

"<

system("pause");

return;

}

boolflag=false;

stringname1;//商品名

doubleprice1;//介格

stringstoreNo1;//仓库编号

stringshelfNo1;//货架号

longcount2;

longcount1=0;//商品数量

ofstreamtempFile("temp.txt");

while(storeFile>>name1>>price1>>count1>>storeNo1>>shelfNo1)

{

if(name1==name)

flag=true;

while(name1==name)

{

cout<<"\t请输入要取出的商品数量:

";

cin>>count2;

count1=count1-count2;

break;

}

tempFile<

:

left)<

<

<

}

tempFile.close();

storeFile.close();

if(!

flag)

{

cout<

!

!

"<

system("pause");

return;

}

ofstreamstoreFile1("store.txt");

ifstreamtempFile1("temp.txt");

storeFile1<

storeFile1.close();

tempFile1.close();

cout<

!

!

"<

system("pause");

}

//查询

voidmana:

:

select_ele()

{

while

(1)

{

system("cls");

cout<

cout<<"\t============================================================="<

<<"\t||||"<

<<"\t||商品查询||"<

<<"\t||||"<

<<"\t||1.按商品名称查询||"<

<<"\t||||"<

<<"\t||2.按商品价格查询||"<

<<"\t||||"<

<<"\t||3.返回||"<

<<"\t||||"<

<<"\t============================================================="<

charselect=getch();

switch(select)

{

case'1':

select_name();

break;

case'2':

select_price();

break;

case'3':

return;

default:

break;

}

}

}

voidmana:

:

select_name()

{

system("cls");

cout<

"<

cout<<"\t输入商品名:

";

stringname;

cin>>name;

stringname1;//商品名

doubleprice1;//介格

stringstoreNo1;//仓库编号

stringshelfNo1;//货架号

longcount1=0;//商品数量

ifstreamstoreFile("store.txt");

if(!

storeFile)

{

cout<<"\t对不起,你的库存为空!

!

!

"<

system("pause");

return;

}

boolflag=false;

cout<

<<"货架号"<

while(storeFile>>name1>>price1>>count1>>storeNo1>>shelfNo1)

{

if(name1==name)

{

flag=true;

cout<

:

left)<

<

<

<

}

}

storeFile.close();

if(!

flag)

cout<

!

!

";

cout<

system("pause");

}

voidmana:

:

show_storage1(){

stringname2;//商品名

doubleprice2;//介格

stringstoreNo2;//仓库编号

stringshelfNo2;//货架号

longcount2=0;//商品数量

ifstreamtempFile3("temp.txt");

while(tempFile3>>name2>>price2>>count2>>storeNo2>>shelfNo2)

{

cout<

:

left)<

<

<

<

}

tempFile3.close;

system("pause");

}

//按商品价格查询

voidmana:

:

select_price()

{

system("cls");

cout<

"<

cout<<"\t输入价格:

";

doubleprice;

cin>>price;

stringname1;//商品名

doubleprice1;//介格

stringstoreNo1;//仓库编号

stringshelfNo1;//货架号

longcount1=0;//商品数量

ifstreamstoreFile("store.txt");

if(!

storeFile)

{

cout<

!

!

"<

system("pause");

return;

}

boolflag=false;

cout<

<<"货架号"<

while(storeFile>>name1>>price1>>count1>>storeNo1>>shelfNo1)

{

if(price1==price)

{

flag=true;

cout<

:

left)<

<

<

<

}

}

storeFile.close();

if(!

flag)

cout<

!

!

";

cout<

system("pause");

}

intmain()

{

charselect;

manamen;

while(select=men.first_face())

{

switch(select)

{

case'2':

men.show_storage();

break;

case'3':

men.select_ele();

break;

case'1':

men.in_storage();

break;

case'4':

men.out_storage();

break;

case'6':

men.show_storage1();

case'5':

cout<<"\t"<<"谢谢使用!

!

!

!

"<

exit(0);

break;

default:

break;

}

}

return0;

}

5.调试纪录

1、电器管理界面

2、程序的主界面以及图书维护界面

3、查找读者功能界面

6.总结

通过这次课程设计,让我了解了更多关于设计时容易出现的错误,而且进一步的认识到平时学习积累的重要性。

在刚进行编译的时候发现了很多的错误,都是平时应该注意的细节问题,还好与同学进行了很好的交流,得以纠正错误。

由于能力问题,我只能设计这个简单的图书管理系统。

它存在很多缺陷,在很多地方都存在不足。

编写程序最重要的是谨慎,认真,因为哪怕是一个字符或一个标点的错误都会导致程序的错误,从而使程序无法调试运行。

由这次编写课程设计的过程中让我更加了解到了自己的不足,那就是对编写程序的经验不足以及对理论知识的掌握不够透彻,以致程序中还存在许多缺点。

如:

在程序中还有部分功能不能按我的意识表达运行,当经人指点还是比较不错的实现了。

参考资料

本程序参考书本:

<<C++程序设计课程设计>>

<<高级语言C++程序设计>>

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

当前位置:首页 > 高等教育 > 军事

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

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