C++课程设计报告课题名称:商场库存货物管理系统姓名:学号:专业:班级:指导老师:2011年6月目录1课程设计目的………………………………………………2项目要求与简介……………………………………………3系统分析……………………………………………………3.1系统模块图……………………………………………3.2系统采用的关键(难点)技术………………………3.3主要类说明……………………………………………4测试运行的结果……………………………………………5心得体会……………………………………….…………6程序代码清单……….………………….…………………7参考书目…………………………………………………一、课程设计目的通过设计一个较为简单的《商场库存货物管理系统》,进一步熟悉C++中类的概念、类的封装、继承的实现方式。了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对C++的理解与VisualC++环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。二、项目要求与简介设计某公司的库存管理系统。此程序是为了更好的处理货物的详细信息。包括货物的货物的入库、出库、查询、统计。并且能够很好的让使用者了解库存货物的有关信息。系统要求能够按编号显示、查找、增加、删除、和保存各类货物的信息。输入和输出货物的有关信息并且对输入保存文件里确定程序至少具备以下功能:查询模块、增加模块、删除模块、货物的有关信息数据存盘等的基本模块。系统具有“货物的有关信息数据存盘”的功能,所以货物的有关信息数据可以保存到磁盘文件,那么也就意味着今后可以从磁盘文件读出货物的有关信息,可以方便用户使用,避免数据重复录入,考虑到系统实现简洁,货物数据文件采用文本文件,货物数据文件名:date.dat。作为一个完整的系统,除了具有增加货物,删除货物的信息模块,还应该具有修改货物相关信息的功能,所以本系统具备了“商品入库”、“商品出库”、“查询统计”、“商品报损”、“退出系统”,这5个基本功能,就可以以最简捷的方式实现对货物的管理,也就实现了系统的要求。三、系统分析1.系统模块图2.系统采用的关键(难点)技术a.仓库管理员类classadmin{public:admin();private:stringname;};商场库存货物管理系统商品入库查询统计退出系统商品信息商品分类信息按名称查询按类别查询商品出库商品报损直接退出报损商品信息b.仓库货架类classshelf{public:shelf();private:adminmen;//管理员stringstoreNo;//仓库编号stringkinds;//商品大类stringshelfNo;//货架号};3.主要类说明使用面向对象的程序设计进行分析,整个系统涉及两大类可操作,仓库、商品。所以系统主要涉及两大类:仓库类、商品类。系统框架就是仓库类和商品类的定义;主函数中定义一个仓库对象,循环显示主菜单并根据用户选择调用仓库类的相应方法(成员函数)。考虑系统操作的货物信息具有不确定性,所以考虑使用链表保存、处理货物信息。仓库类包含:所有货物信息的一个不带头结点的链表及可以对货物信息进行增,改,删除,查询,数量设置,数据存盘等操作的相关模块为成员函数。所有货物都具有的公共信息及操作可以使用仓库类进行描述。由于系统具有3类货物且3类货物信息数据,操作基本相同,所以可以为他们创立相同的类,并且采用继承和派生。四、测试运行的结果1.商场库存货物管理系统首页2.商品入库3.商品查询4.按商品名查询5.按商品价格查询6.按商品大类查询7.商品报损五、心得体会通过学生的分组设计,使学生能够基本掌握C++程序设计的方法,并且在此基础上掌握类的构造方法,明确类中构造函数、成员函数的建立以及调用,此外,并且,结合C++中,字符串函数的编译系统给定的库函数,采用一定的逻辑编译,实现题目中要求的各项要求,达到基本实验母的,提高自己的C++语言使用水平。六、程序代码清单//main.cpp#includeiostream#includestring#includefstream#includecassert#includeiomanip#includeconio.husingnamespacestd;//仓库管理员类classadmin{public:admin();private:stringname;};//仓库货架类classshelf{public:shelf();private:adminmen;//管理员stringstoreNo;//仓库编号stringkinds;//商品大类stringshelfNo;//货架号};//electricalclassclassele{public:ele();private:stringname;//商品名doubleprice;//介格shelfsh;//所属货架longcount;//商品数量};//管理(组合类)classmana{public:mana();charfirst_face();//首页voidin_storage();//入库voidout_storage();//出库voidselect_ele();//查询voidselect_name();//按商品名称查询voidselect_price();//按商品价格查询voidselect_kind();//按大类查询voidcall_break();//商品报损private:eleaele;shelfashelf;adminabs;};//电器类默认构造函数ele::ele():sh(){name=xxx;//商品名price=0.0;//介格count=0;//商品数量}////仓库货架类默认构造函数shelf::shelf():men(){storeNo=xxx;//仓库编号kinds=xxx;//商品大类shelfNo=xxx;;//货架号}//仓库管理员类admin::admin(){name=xxx;}//管理类默认构造函数mana::mana():aele(),ashelf(),abs(){}charmana::first_face(){system(cls);coutendl;coutendl\t\t◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆endl\t\t◆◆endl\t\t◆商场库存货物管理系统◆endl\t\t◆◆endl\t\t◆1.商品入库◆endl\t\t◆◆endl\t\t◆2.商品出库◆endl\t\t◆◆endl\t\t◆3.查询统计◆endl\t\t◆◆endl\t\t◆4.商品报损◆endl\t\t◆◆endl\t\t◆5.退出系统◆endl\t\t◆◆endl\t\t◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆endlendl\t\t;returngetch();}//入库voidmana::in_storage(){system(cls);stringname;//商品名doubleprice;//介格stringstoreNo;//仓库编号stringkinds;//商品大类stringshelfNo;//货架号longcount=0;//商品数量coutendl商品入库,请输入相关信息:endlendl;cout\t商品名称:;cinname;coutendl\t商品介格:;cinprice;coutendl\t商品数量:;cincount;coutendl\t仓库编号:;cinstoreNo;coutendl\t商品大类:;cinkinds;coutendl\t货架编号:;cinshelfNo;ofstreamstoreFile(store.txt,ios::app);storeFilesetiosflags(ios::left)setw(20)namesetw(15)pricesetw(10)countsetw(10)storeNosetw(20)kindsshelfNoendl;storeFile.close();coutendlendl\t该商品已经入库.......endlendl\t;system(pause);}//出库voidmana::out_storage(){system(cls);stringname;//商品名coutendl\t商品出库,输入出库商品信息:endlendl;cout\t商品名称:;cinname;ifstreamstoreFile(store.txt);if(!storeFile){ofstreamstoreFile1(store.txt);storeFile1.close();coutendlendl\t仓存为空!!!!endlendl\t;system(pause);return;}boolflag=false;stringname1;//商品名doubleprice1;//介格stringstoreNo1;//仓库编号stringkinds1;//商品大类stringshelfNo1;//货架号longcount1=0;//商品数量ofstreamtempFile(temp.txt);while(storeFilename1price1count1storeNo1kinds1shelfNo1){if(name1==name)flag=true;else{tempFilesetiosflags(ios::left)setw(20)name1setw(15)price1setw(10)count1setw(10)storeNo1setw(20)kinds1shelfNo1endl;}}tempFile.close();storeFile.close();if(!flag){coutendlendl\t仓库中没有这种商品!!!endlendl\t;system(pause);return;}ofstreamstoreFile1(store.txt);ifstreamtempFile1(temp.txt);storeFile1tempFile1.rdbuf();storeFile1.close();tempFile1.close();coutendl\t这些商品已经出库,请仔细检查!!!endlendl\t;system(pause);}//查询voidmana::select_ele(){while(1){system(cls);coutendlendl;cout\t=============================================================endl\t||||endl\t||商品查询||endl\t||||endl\t||1.按商品名称查询||endl\t||||endl\t||2.按商品价格查询||endl\t||||endl\t||3.按大类查询||endl\t||||endl\t||4.返回||endl\t||||endl\t=============================================================endlendl\t\t;chars