版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 C+课程设计报告 课题名称:商场库存货物管理系统姓 名: 学 号: 专 业: 班 级: 指导老师: 2011 年6月目录1 课程设计目的2 项目要求与简介3 系统分析3.1系统模块图3.2 系统采用的关键(难点)技术3.3 主要类说明4 测试运行的结果5 心得体会.6 程序代码清单.7 参考书目一、课程设计目的通过设计一个较为简单的商场库存货物管理系统,进一步熟悉C+中类的概念、类的封装、继承的实现方式。了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对C+的理解与Visual C+环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。二、项目要求
2、与简介设计某公司的库存管理系统。此程序是为了更好的处理货物的详细信息。包括货物的货物的入库、出库、查询、统计。并且能够很好的让使用者了解库存货物的有关信息。系统要求能够按编号显示、查找、增加、删除、和保存各类货物的信息。输入和输出货物的有关信息并且对输入保存文件里确定程序至少具备以下功能:查询模块、增加模块、删除模块、货物的有关信息数据存盘等的基本模块。 系统具有“货物的有关信息数据存盘”的功能,所以货物的有关信息数据可以保存到磁盘文件,那么也就意味着今后可以从磁盘文件读出货物的有关信息,可以方便用户使用,避免数据重复录入,考虑到系统实现简洁,货物数据文件采用文本文件,货物数据文件名:date
3、.dat。作为一个完整的系统,除了具有增加货物,删除货物的信息模块,还应该具有修改货物相关信息的功能, 所以本系统具备了“商品入库”、“商品出库”、“查询统计”、“商品报损”、“退出系统”,这5个基本功能,就可以以最简捷的方式实现对货物的管理,也就实现了系统的要求。三、系统分析1. 系统模块图商场库存货物管理系统商品入库查询统计退出系统商品信息商品分类信息按名称查询按类别查询商品出库商品报损直接退出报损商品信息2.系统采用的关键(难点)技术a.仓库管理员类class adminpublic:admin();private:string name;b.仓库货架类class shelfpublic
4、:shelf();private:admin men;/管理员string storeNo;/仓库编号string kinds;/商品大类string shelfNo;/货架号;3. 主要类说明使用面向对象的程序设计进行分析,整个系统涉及两大类可操作,仓库、商品。所以系统主要涉及两大类:仓库类、商品类。系统框架就是仓库类和商品类的定义;主函数中定义一个仓库对象,循环显示主菜单并根据用户选择调用仓库类的相应方法(成员函数)。考虑系统操作的货物信息具有不确定性,所以考虑使用链表保存、处理货物信息。仓库类包含:所有货物信息的一个不带头结点的链表及可以对货物信息进行增,改,删除,查询,数量设置,数据存
5、盘等操作的相关模块为成员函数。所有货物都具有的公共信息及操作可以使用仓库类进行描述。由于系统具有3类货物且3类货物信息数据,操作基本相同,所以可以为他们创立相同的类,并且采用继承和派生。4、 测试运行的结果1. 商场库存货物管理系统首页2.商品入库3.商品查询4按商品名查询5.按商品价格查询6.按商品大类查询7.商品报损五、心得体会通过学生的分组设计,使学生能够基本掌握C+程序设计的方法,并且在此基础上掌握类的构造方法,明确类中构造函数、成员函数的建立以及调用,此外,并且,结合C+中,字符串函数的编译系统给定的库函数,采用一定的逻辑编译,实现题目中要求的各项要求,达到基本实验母的,提高自己的C
6、+语言使用水平。六、程序代码清单/main.cpp#include <iostream>#include <string>#include <fstream>#include <cassert>#include <iomanip>#include <conio.h>using namespace std;/仓库管理员类class adminpublic:admin();private:string name;/仓库货架类class shelfpublic:shelf();private:admin men;/管理员stri
7、ng storeNo;/仓库编号string kinds;/商品大类string shelfNo;/货架号;/electrical classclass elepublic:ele();private:string name;/商品名double price;/介格shelf sh;/所属货架long count;/商品数量;/管理(组合类)class manapublic:mana();char first_face();/首页void in_storage();/入库void out_storage();/ 出库void select_ele();/查询void select_name()
8、;/按商品名称查询void select_price();/按商品价格查询void select_kind();/按大类查询void call_break();/商品报损private:ele aele;shelf ashelf;admin abs;/电器类默认构造函数ele:ele():sh()name = "xxx"/商品名price = 0.0;/介格count = 0;/商品数量/仓库货架类默认构造函数shelf:shelf():men()storeNo = "xxx"/仓库编号kinds = "xxx"/商品大类shelfN
9、o = "xxx"/货架号/仓库管理员类admin:admin()name = "xxx"/管理类默认构造函数mana:mana():aele(), ashelf(), abs()char mana:first_face()system("cls");cout << endl;cout <<endl <<"tt"<<endl <<"tt "<<endl <<"tt 商场库存货物管理系统 "&l
10、t;<endl <<"tt "<<endl <<"tt 1. 商品入库 "<<endl <<"tt "<<endl <<"tt 2. 商品出库 "<<endl <<"tt "<<endl <<"tt 3. 查询统计 "<<endl <<"tt "<<endl <<"
11、;tt 4. 商品报损 "<<endl <<"tt "<<endl <<"tt 5. 退出系统 "<<endl <<"tt "<<endl <<"tt" <<endl <<endl <<"tt"return getch();/入库void mana:in_storage()system("cls");string name;/商品名do
12、uble price;/介格string storeNo;/仓库编号string kinds;/商品大类string shelfNo;/货架号long count = 0; /商品数量cout << endl << "商品入库,请输入相关信息 : " << endl << endl ;cout << "t商品名称 : "cin >> name;cout << endl << "t商品介格 : "cin >> price;cout
13、 << endl << "t商品数量 : "cin >> count;cout << endl << "t仓库编号 : "cin >> storeNo;cout << endl << "t商品大类 : "cin >> kinds;cout << endl << "t货架编号 : " ;cin >> shelfNo;ofstream storeFile("store
14、.txt", ios:app);storeFile << setiosflags(ios:left) << setw(20) << name << " "<< setw(15) << price << " " << setw(10) << count << " "<< setw(10) << storeNo << " " << setw(2
15、0) << kinds << " "<< shelfNo << endl;storeFile.close();cout << endl << endl << "t该商品已经入库." << endl << endl << "t"system("pause");/ 出库void mana:out_storage()system("cls");string name;/商品名cout
16、 << endl << "t商品出库,输入出库商品信息 : " << endl << endl;cout << "t商品名称 : "cin >> name;ifstream storeFile("store.txt");if (!storeFile)ofstream storeFile1("store.txt");storeFile1.close();cout << endl << endl << "
17、;t仓存为空!" << endl << endl << "t"system("pause");return;bool flag = false;string name1;/商品名double price1;/介格string storeNo1;/仓库编号string kinds1;/商品大类string shelfNo1;/货架号long count1 = 0; /商品数量ofstream tempFile("temp.txt");while (storeFile >> nam
18、e1 >> price1 >> count1 >> storeNo1 >> kinds1 >> shelfNo1)if (name1=name)flag = true;elsetempFile << setiosflags(ios:left) << setw(20) << name1 << " "<< setw(15) << price1 << " " << setw(10) << cou
19、nt1 << " "<< setw(10) << storeNo1 << " " << setw(20) << kinds1 << " "<< shelfNo1 << endl;tempFile.close();storeFile.close();if (!flag)cout << endl << endl << "t仓库中没有这种商品!" << endl &l
20、t;< endl << "t"system("pause");return;ofstream storeFile1("store.txt");ifstream tempFile1("temp.txt");storeFile1 << tempFile1.rdbuf();storeFile1.close();tempFile1.close();cout << endl << "t这些商品已经出库, 请仔细检查!" << endl &l
21、t;< endl << "t"system("pause");/查询void mana:select_ele()while (1)system("cls");cout << endl << endl;cout << "t=" << endl<< "t| |" << endl<< "t| 商 品 查 询 |" << endl<< "t| |&q
22、uot; << endl<< "t| 1. 按商品名称查询 |" << endl<< "t| |" << endl<< "t| 2. 按商品价格查询 |" << endl<< "t| |" << endl<< "t| 3. 按大类查询 |" << endl<< "t| |" << endl<< "t|
23、 4. 返回 |" << endl<< "t| |" << endl<< "t=" << endl << endl << "tt"char select = getch();switch (select)case '1':select_name();break;case '2':select_price();break;case '3':select_kind();break;case '
24、;4':return;default:break;/按商品名称查询void mana:select_name()system("cls");cout << endl << "t按商品名查询 : " << endl << endl ;cout << "t输入商品名 : "string name;cin >> name;string name1;/商品名double price1;/介格string storeNo1;/仓库编号string kinds1;/商
25、品大类string shelfNo1;/货架号long count1 = 0; /商品数量ifstream storeFile("store.txt");if (!storeFile)cout << endl << endl << "t对不起,你的库存为空!" << endl << endl << "t"system("pause");return;bool flag = false;cout << endl << &q
26、uot;商品名 " << "介格 " << "商品数量 " << "仓库编号 "<< "商品大类 " << "货架号" << endl << endl;while (storeFile >> name1 >> price1 >> count1 >> storeNo1 >> kinds1 >> shelfNo1)if (name1 =
27、 name)flag = true;cout << setiosflags(ios:left) << setw(15) << name1 << " "<< setw(10) << price1 << " " << setw(10) << count1 << " "<< setw(10) << storeNo1 << " " << setw(15) &
28、lt;< kinds1 << " "<< shelfNo1 << endl;storeFile.close();if (!flag)cout << endl << endl << "对不起,库存中没有这种商品!"cout << endl << endl;system("pause");/按商品价格查询void mana:select_price()system("cls");cout << endl &
29、lt;< "t按商品价格查询 : " << endl << endl ;cout << "t输入价格 : "double price;cin >> price;string name1;/商品名double price1;/介格string storeNo1;/仓库编号string kinds1;/商品大类string shelfNo1;/货架号long count1 = 0; /商品数量ifstream storeFile("store.txt");if (!storeFile)
30、cout << endl << endl << "t对不起,你的库存为空!" << endl << endl << "t"system("pause");return;bool flag = false;cout << endl << "商品名 " << "介格 " << "商品数量 " << "仓库编号 "<<
31、"商品大类 " << "货架号" << endl << endl;while (storeFile >> name1 >> price1 >> count1 >> storeNo1 >> kinds1 >> shelfNo1)if (price1 = price)flag = true;cout << setiosflags(ios:left) << setw(15) << name1 << &quo
32、t; "<< setw(10) << price1 << " " << setw(10) << count1 << " "<< setw(10) << storeNo1 << " " << setw(15) << kinds1 << " "<< shelfNo1 << endl;storeFile.close();if (!flag)cou
33、t << endl << endl << "对不起,库存中没有这个价格的商品!"cout << endl << endl;system("pause");/按大类查询void mana:select_kind()system("cls");cout << endl << "t按商品大类查询 : " << endl << endl ;cout << "t输入大类名 : "stri
34、ng kinds;cin >> kinds;string name1;/商品名double price1;/介格string storeNo1;/仓库编号string kinds1;/商品大类string shelfNo1;/货架号long count1 = 0; /商品数量ifstream storeFile("store.txt");if (!storeFile)cout << endl << endl << "t对不起,你的库存为空!" << endl << endl <
35、< "t"system("pause");return;bool flag = false;cout << endl << "商品名 " << "介格 " << "商品数量 " << "仓库编号 "<< "商品大类 " << "货架号" << endl << endl;while (storeFile >> na
36、me1 >> price1 >> count1 >> storeNo1 >> kinds1 >> shelfNo1)if (kinds1 = kinds)flag = true;cout << setiosflags(ios:left) << setw(15) << name1 << " "<< setw(10) << price1 << " " << setw(10) << count1
37、 << " "<< setw(10) << storeNo1 << " " << setw(15) << kinds1 << " "<< shelfNo1 << endl;storeFile.close();if (!flag)cout << endl << endl << "对不起,库存中没有这类商品!"cout << endl << endl;s
38、ystem("pause");/商品报损void mana:call_break()system("cls");string name;/商品名cout << endl << "t商品报损,请输入要报损商品信息 : " << endl << endl;cout << "t商品名称 : "cin >> name;ifstream storeFile("store.txt");if (!storeFile)ofstream st
39、oreFile1("store.txt");storeFile1.close();cout << endl << endl << "t仓存为空!" << endl << endl << "t"system("pause");return;bool flag = false;string name1;/商品名double price1;/介格string kinds1;/商品大类string shelfNo1;/货架号long count1 =
40、0; /商品数量ofstream tempFile("temp.txt");string storeNo1;/仓库编号cout << endl << endl << "你想报损商品信息如下 : " << endl << endl;cout << endl << "商品名 " << "介格 " << "商品数量 " << "仓库编号 "<< &qu
41、ot;商品大类 " << "货架号" << endl << endl;while (storeFile >> name1 >> price1 >> count1 >> storeNo1 >> kinds1 >> shelfNo1)if (name1=name)flag = true;cout << setiosflags(ios:left) << setw(15) << name1 << " "<< setw(10) << price1 << " " << setw(10) << count1 << " "<< setw(10) << storeNo1 << " " << setw(15) << kin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论