C++面向对象实验四:超市管理系统
一、实验目的
1、 掌握类与对象的用法
2、 掌握继承、重载、构造函数的具体使用
3、 综合使用学习的知识来编程
二、实验要求
实现一个超市管理系统,要求如下功能:
1、 增加商品(商品对应的属性有,商品代码,商品名称,生产地,商品价格,商品数量)
2、 删除商品(通过商品名称来查找删除)
3、 修改商品(通过商品名称来查找修改)
4、 查询商品(通过商品名称来查找)
5、 统计商品(统计的属性有商品价格,商品数量,商品总价值)
6、 退出系统
三、实验过程
(用适当的形式表达算法设计思想与算法实现步骤)
1、 通过do实现菜单提示,通过switch case循环语句来进行菜单选择。
do{
cout<<"\n****超市进销存管理系统****\n";
cout<<" 1—增加商品\n";
cout<<" 2—删除商品\n";
cout<<" 3—修改商品\n";
cout<<" 4—查询商品\n";
cout<<" 5—统计商品\n";
cout<<" 6—退出 \t 请选择(1—6):";
cin>>c;
switch(c)
{
case '1':a.Add();a.Save();break;
case '2':a.Load();a.Delete();a.Save();break;
case '3':a.Load();a.Modify();a.Save();break;
case '4':a.Load();a.Query(); break;
case '5':a.Load();a.Add_up();break;
}
}
while(c!='6');
return 0;
2、 通过Goods类定义商品的属性及初始化条件
public:
Goods(double num,char*name,char*person,int price,double amount)
{
this->num=num;
strcpy(this->name,name);
strcpy(this->person,person);
this->price=price;
this->amount=amount;
}
void Output()
{
cout<<"num:"<<num<<" name:"<<name<<" person:"<<person<<" price:"<<price<<" amount:"<<amount<<endl;}
friend class Supermarket;
};
3、 通过定义Supermarket类来实现各种增删查改的操作。
class Supermarket
{
private:
Goods *goods; //商品表
void Clear(); //清除内存中数据
public:
Supermarket()
{
goods=NULL;
Load();
}~Supermarket()
{
Goods*p;
p=goods;
while(p)
{
p=p->next;
delete goods;
goods=p;
}
goods=NULL;
}
void Add(); //增加商品
void Delete(); //删除商品
void Modify(); //修改商品
void Query(); //查询商品
void Add_up(); //统计商品
void Save(); //基础数据存盘
void Load(); //基础数据装入
};
四、源码
#include "stdafx.h"
#include<iostream>
#include<fstream>
#include<ctype.h>
#include<stdlib.h>
#include<string.h>
<