《仓库管理系统c 课程设计报告》由会员分享,可在线阅读,更多相关《仓库管理系统c 课程设计报告(18页珍藏版)》请在金锄头文库上搜索。
1、高级语言程序设计高级语言程序设计 课程设计报告课程设计报告 设计题目设计题目图书管理系统图书管理系统 专专业业计算机科学与技术计算机科学与技术 班班级级 姓姓名名 学学号号 2007 年年 6 月月 5 日日 共 19 页 2页2 目目录录 1.1.设计目的设计目的3 3 2.2.设计思想设计思想3 3 3.3.类及对象设计类及对象设计4 4 4.4.程序源代码程序源代码5 5 5.5.调试记录调试记录1616 6 6.总结总结1818 共 19 页 3页3 仓库管理系统仓库管理系统 1设计目的设计目的 通过实习进一步掌握所学的基本知识,学会解决实际问题的方法 2设计题目设计题目 1、问题描述
2、(功能要求):某公司现有以下设备:普通电视机、DVD、带 DVD 的电视机,带 DVD 的电视机的售价为普通电视机和 DVD 单价之和的 80%,要求对 所有的库存设备都能按照品名进行显示、查找、增加和删除、保存的功能。 2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法); (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书。 2 2设计思想设计思想 (1) 设计
3、class admin管理库,实现对仓库信息的描叙; classshelf柜台类库实 现建立电器资料;classele电器类,实现对电器的描述,电器的编号,货架号, 名称,数量,价格等;classmana函数类,实现对电器的入库,查找,出库等。 以下是函数功能表: 函数功能 char first_face() 获取首页 void show_storage()显示储存信息 void in_storage()电器入库 void out_storage()电器出库 void select_ele()查询电器信息 void select_name()按电器名查询 void select_price()
4、按电器价格查询 void call_s()商品保存 (2)用类的成员函数对链表的数据进行操作,其功能如上表所列。 共 19 页 4页4 (3)设计菜单来实现功能设计 1、 输入商品 2、 商品查找 3、 查询入库 4、 商品出库 5 、退出系统 3设计类及对象设计类及对象 (1) 本程序定义了四个类,定义如下: class admin public: admin(); private: string name; ; class shelf public: shelf(); private: string storeNo;/仓库编号 string shelfNo; admin we;/货架号 ;
5、 class ele public: ele(); private: string name;/商品名 double price;/介格 shelf sh;/所属货架 long count;/商品数量 ; class mana public: mana(); char first_face();/首页 void show_storage();/显示 void in_storage();/入库 共 19 页 5页5 void out_storage();/ 出库 void select_ele();/查询 void select_name();/按商品名称查询 void select_price
6、();/按商品价格查询 void call_s();/商品保存 void show_storage1(); private: adminabs; ele aele; shelf ashelf; ; ele:ele():sh() name = “xxx“;/商品名 price = 0.0;/介格 count = 0;/商品数量 (2)分别利用类 class admin 、class shelf、class ele 、class mana 定义 了各自的对象 admin abs、shelf sh; ele aele; 对其函数进行调用实现各种功 能。 (3)主函数实现,调用各种函数。 4程序源代码
7、程序源代码 #include #include #include #include #include using namespace std; class admin public: admin(); private: string name; ; class shelf public: shelf(); private: string storeNo;/仓库编号 共 19 页 6页6 string shelfNo; admin we;/货架号 ; class ele public: ele(); private: string name;/商品名 double price;/介格 shelf
8、 sh;/所属货架 long count;/商品数量 ; class mana public: mana(); char first_face();/首页 void show_storage();/显示 void in_storage();/入库 void out_storage();/ 出库 void select_ele();/查询 void select_name();/按商品名称查询 void select_price();/按商品价格查询 void call_s();/商品保存 void show_storage1(); private: adminabs; ele aele; sh
9、elf ashelf; ; ele:ele():sh() name = “xxx“;/商品名 price = 0.0;/介格 count = 0;/商品数量 shelf:shelf():we() storeNo = “xxx“;/仓库编号 shelfNo = “xxx“;/货架号 共 19 页 7页7 admin:admin() name = “xxx“; mana:mana():aele(), ashelf(), abs() char mana:first_face() system(“cls“); cout name; cout price; cout count; cout storeN
10、o; cout shelfNo; ofstream storeFile(“store.txt“, ios:app); storeFile name2 price2 count2 storeNo2 shelfNo2) cout name; ifstream storeFile(“store.txt“); if (!storeFile) ofstream storeFile1(“store.txt“); storeFile1.close(); cout name1 price1 count1 storeNo1 shelfNo1) if (name1=name) flag=true; while(n
11、ame1=name) coutcount2; count1=count1-count2; break; tempFile name; string name1;/商品名 double price1;/介格 string storeNo1;/仓库编号 string shelfNo1;/货架号 long count1= 0; /商品数量 ifstream storeFile(“store.txt“); if (!storeFile) cout name1 price1 count1 storeNo1 shelfNo1) if (name1 = name) flag = true; cout nam
12、e2 price2 count2 storeNo2 shelfNo2) cout price; string name1;/商品名 double price1;/介格 string storeNo1;/仓库编号 string shelfNo1;/货架号 long count1 = 0; /商品数量 ifstream storeFile(“store.txt“); if (!storeFile) cout name1 price1 count1 storeNo1 shelfNo1) if (price1 = price) flag = true; cout setiosflags(ios:lef
13、t) setw(15) name1 “ “ setw(10) price1 “ “ setw(10) count1 “ “ setw(10) storeNo1 “ “ shelfNo1 endl; storeFile.close(); if (!flag) cout endl endl “对不起,库存中没有这个价格的商品!“; cout endl endl; system(“pause“); int main() char select; mana men; while (select = men.first_face() switch (select) case 2: men.show_st
14、orage(); break; case 3: men.select_ele(); break; case 1: men.in_storage(); break; case 4: 共 19 页 14页14 men.out_storage(); break; case 6: men.show_storage1(); case 5: cout “t“ “谢谢使用!“ endl endl “tt“; exit( 0 ); break; default: break; return 0; 5.调试纪录调试纪录 1、电器管理界面 共 19 页 15页15 2、程序的主界面以及图书维护界面 共 19 页
15、16页16 3、查找读者功能界面 共 19 页 17页17 6总结总结 通过这次课程设计,让我了解了更多关于设计时容易出现的错误,而且进一 步的认识到平时学习积累的重要性。在刚进行编译的时候发现了很多的错误,都 是平时应该注意的细节问题,还好与同学进行了很好的交流,得以纠正错误。 由于能力问题,我只能设计这个简单的图书管理系统。它存在很多缺陷,在 很多地方都存在不足。编写程序最重要的是谨慎,认真,因为哪怕是一个字符或 一个标点的错误都会导致程序的错误,从而使程序无法调试运行。 由这次编写课程设计的过程中让我更加了解到了自己的不足,那就是对编写 程序的经验不足以及对理论知识的掌握不够透彻,以致程序中还存在许多缺点。 如: 在程序中还有部分功能不能按我的意识表达运行,当经人指点还是比较不错 共 19 页 18页18 的实现了。 参考资料参考资料 本程序参考书本:本程序参考书本: