商场销售管理系统 C++课程设计 下载本文

此函数用于批量显示商品信息。该函数以表格的型式显示,明了清晰,有助于比较。

7.排序

排序是基于显示函数的一个函数。该函数用选择排序法,以两种(按销量和按利润)方法排序显示,有助于商家对比比较分析哪种商品的销量好利润高,便于管理和优化商城的盈利。 8.上传

当需要输入数据过多过大时,可以通过上传函数,直接把文件中的数据读到程序中并形成链表,然后再继续后续操作。这个和创建函数具有差不多的功能,不过一个是从键盘读入,一个是从文件中读入。文件上传成功后,函数会自动显示成功,然后跳到主菜单进行其他项目。 9.存档 上传和存档是文件和程序的两个接头。在数据操作过程中为避免数据丢失,可边操作变保存,在退出程序之前,程序也会自动弹出询问是否需要保存,这是比较人性化的一点,以免造成不可估量的后果。保存成功后会自动输出成功字样,并退出或继续程序。

11

存档和上传合并利用,下一次运行程序时,可以直接上传上次所保存的数据然后继续操作,就不需要工作人员一个一个慢慢输入了。 10.其他

清屏是一个辅助函数,为了清晰界面方便操作美化外观。退出程序是会自动询问是否保存文件,然后调用析构函数,释放链表清除数据,然后安全退出。

七、比较有特色的地方

有特色的函数指的是实现地较为巧妙的类的构造函数、成员函数、析构函数等函数,也可以是指针处理的函数,文件处理的函数等比较有特色的函数,能体现巧妙构思即可。特别是运算附的重载,大大减小了代码的数量,简洁了程序。还有就是文件操作方面,比较合理和人性化。

八.存在的不足

12

在文件编写的时候我此次采用的是txt储存数据,虽然有助于使用者查看数据,但是在面对一串庞大数据是,dat文件的效率明显会高很多。还有就是由于学得不够深,程序的功能总体来说还比较少,有待以后更深层的学习后完善。比如界面方面的处理,和对每天销售情况的记录等等。商品流通的具体过程等该程序都没有记录。需要改进的地方还有很多。

九、心得体会 通过这次课程设计,我清楚的认识到了C++是一门很庞大的并且很有实用价值的一门学科,它一种非常简洁高效的语言。类的特色在这次编程过程中有了充分的体会。就以前所学的C语言而言,我明显感觉到C++在编写这种比较复杂的程序时的优势,他的重载函数运算符的等操作也是一大有点。模块的分块化,当需要用到某个函数时再进行调用,大大增强了程序的可读性,而且代码也更加合理清晰。

就拿这次我所写的商场销售管理系统来说,商品类的操作是一个整体,写在一个中.cpp,文件里面同时也可以另外写到一个.h的头文件里面,在写程序的时候再进行调用。课程设计真的很能锻炼人,平时上课都是讲的基础知识,上机也只是编写的小程序,不能把知识融会贯通。然而这次课设是编写的一个小系统,把所

13

学的知识都联系起来了,在刚刚看到要求时是觉得有很大的难度的,毕竟是第一次编写一个商场销售管理系统。但是想到有志者事竞成,只要敢于思考敢于尝试,按步骤一步一步来也是能编写出程序的。于是我首先把程序类图先画了出来,把程序基本结构勾勒出来,化整为零,一个一个小功能慢慢写起,写完一个在主函数中验证一个看是否正确,通过后在进行下一个,逐步实现。而后编写主函数,菜单等,完善功能。因为我刚刚入门c++,基本工还不足,能力还很弱,所以在写的过程中遇到很多困难,有些以前很熟悉的代码也忘了,于是我开始翻阅以前的书籍,边对照边回忆,终于完成了。特别是在文件操作方面尤为薄弱,我意思到了自己的弱点。由于自己的不足,以后学习还要更加努力,不懂时多问老师多向同学学习。作为一个计算机专业的学生,计算机语言是我们的基本功,我们应该扎实自己的基础,才能更快更好的发展。

十.源代码

#ifndef LIST_H #define LIST_H

#include \class GoodList :public GoodsInfo { public: GoodList(); ~GoodList();

GoodsInfo * head; //头指针 GoodsInfo * p; GoodsInfo * p2;

//活动指针1

//活动指针2(指向最后一个)

//构造函数,指针初始化 //析构函数,释放

14

void create(); //创建函数

void showinfo(GoodsInfo *); //显示 GoodsInfo * search(); //查找

void saveInfo(); //信息存档 void getInfo(); //上传信息 void addInfo(GoodsInfo *); void menu(); void delete_(); }; #endif //存储商品信息

#ifndef GOODSINFO_H #define GOODSINFO_H class GoodsInfo {public:

char * name ; //商品名称 int number; //商品编号 float cost_p; float unit_p; int num_all; int num_now; int num_sell; float cost_all; float profit; GoodsInfo * next;

//成本单价 //销售单价 //共计商品件数 //现存商品件数 //已售出商品件数 //进货总计成本价 //已销售商品获得的利润 //指向下一个商

//删除节点

//添加数据

void sort(); //按销量显示

GoodsInfo(); //构造函数 GoodsInfo(char * a,int b,float c,float u,int all,int sell) ; //重载构造函数 void operator= (const GoodsInfo &right); //重载= void setInfo(char * a,float c,float u,int all,int sell) ; //数据载入

char* getname(){return name;} //返回姓名用于查找

void Amend(GoodsInfo *); void show(GoodsInfo *); ~GoodsInfo() { delete [] name;} };

15

//显示商品信息