客户消费积分管理系统-课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
客户消费积分管理系统的设计与实现
客户消费积分管理系统
摘要:客户消费积分管理系统开发的总体目标是实现酒吧会员卡的积分和打折管理。主要是通过对客户积分卡积分的统计,再通过不同层段的积分有不同的折扣。本系统根据客户及商品的数据需求,采用了线性表的链式存储结构,主要功能包括数据的录入、插入、删除、修改、以及数据的显示,对客户积分的管理,对客户购物时依据积分的数目进行不同打折处理。
关键词:C++语言;客户积分管理系统;数据结构;链式存储结构;
1前言
当今世界由于人类文明进入了高速发展阶段,计算机技术已经取得了长足的发展,计算机已经普及到各大商城和小市场的管理当中,介于此,经过了网上的资料查阅和数据分析,开发了这个客户消费积分管理系统,对一些商品进行折扣的统计和管理。设计一个程序用于管理客户的消费情况,从而根据客户的消费积分对客户实行不同程度的打折优惠。对于客户消费积分管理系统利用线性表的链表存储方式,使用结构体指针将每一个用户联系起来。程序中设计了①添加用户②查找用户③修改用户④删除用户⑤统计客户数量的功能,充分满足对于管理系统的要求。
2设计分析
根据题目要求及本次课程设计的目的,采用结构体来存储每组数据,用单链表对每组数据进行相应的操作。现把相应的设计思路及各个函数解析如下。2.1数据结构设计分析
2.1.1 存储客户信息的结构体
客户资料有姓名、身份证号、客户编号、消费金额、客户积分等信息。具体结构如下:
struct Client//客户信息
{
string CCardNumber;//客户编号
string CNumber;//客户身份证号
float CBuy;//客户消费金额
float CGrade;//客户积分
string CName;//客户名称
};
2.1.2 存储商品信息的结构体
首先用一个商品信息的结构体Production存储商品的价格、商品的固定积分、商品的名称,在用一个数组进行存储每一件商品,使用数组和for 循环能够便捷并容易的进行数据的操作。另外再用一个商品消费的记录
ProCli,用来记录每个客户消费商品的记录具体结构如下:
struct Production//商品信息
{
float PPrice;//商品价格
int PGrade;//商品积分
string PName;//商品名称
};
struct PN/产品消费的信息记录
{
string ProName[16];//记录消费了的产品的名称
int mount[16];//记录该产品的消费数量
};
struct ProCli
{
string Cardnum;//客户的名称
PN CPN;//消费产品和数量
}
2.2各个函数分析
2.2.1 主函数
函数原型:int main()
main()函数主要是整个系统的控制端,主要功能是控制整个程序的运行。从主函数开始调用各相关函数来达到相应的功能。由于有多个不同的选项,所以用一个switch()语句控制每个函数调用,控制起来方便、明了。关键代码如下:
switch(work)
{
case 1:
cout<<"继续请输入1,返回请输入2"< cin>>work; if(work==1) { cout<<"请输入要查询客户的名称或编号或身份证号: "; cin>>str; locateElem_L(client,str); } else if(work==2) { system("cls"); face(); } else { cout<<"输入错误!"< system("cls"); } break; case 2: cout<<"删除请输入1,增加请输入2,返回请输入3: "; cin>>work; if(work==1) deleteElem_L(client,procli); else if(work==2) { cout<<"请输入客户编号"< cin>>ardNumber; cout<<"请输入客户身份证号"< cin>>umber; cout<<"请输入客户名称"< cin>>ame; cout<<"请输入客户消费金额"< cin>>clients.CBuy; cout<<"请输入客户积分"< cin>>clients.CGrade; insertElem_L(client,procli,clients); } else if(work==3) { system("cls"); face(); } else { cout<<"输入错误!"< system("cls"); } break; case 3: cout<<"现在进行客户信息修改:继续请输入1,返回请输入2"< cin>>work; if(work==1) { cout<<"请输入要修改的客户的名称或编号或身份证号: "; cin>>str; recompose(client,str); } else if(work==2) { system("cls"); face(); } else { cout<<"输入错误!"< system("cls"); face(); } break; case 4: trverseLnode(client); break; case 5: purchase(client,procli); break;