《客户消费积分管理系统-课程设计(DOC49)5540.doc》由会员分享,可在线阅读,更多相关《客户消费积分管理系统-课程设计(DOC49)5540.doc(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Evaluation Warning: The document was created with Spire.Doc for .NET.客户消费费积分管管理系统统的设计计与实现现客户消费费积分管管理系统统摘 要要:客户消消费积分分管理系系统开发发的总体体目标是是实现酒酒吧会员员卡的积积分和打打折管理理。主要要是通过过对客户户积分卡卡积分的的统计,再再通过不不同层段段的积分分有不同同的折扣扣。本系系统根据据客户及及商品的的数据需需求,采采用了线线性表的的链式存存储结构构,主要要功能包包括数据据的录入入、插入入、删除除、修改改、以及及数据的的显示,对对客户积积分的管管理,对对客户购购物时依依据积
2、分分的数目目进行不不同打折折处理。 关键词词:C+语言;客户积积分管理理系统;数据结结构;链式存存储结构构;1前言 当今世界界由于人人类文明明进入了了高速发发展阶段段,计算算机技术术已经取取得了长长足的发发展,计计算机已已经普及及到各大大商城和和小市场场的管理理当中,介介于此,经经过了网网上的 资料查查阅和数数据分析析,开发发了这个个客户消消费积分分管理系系统,对对一些商商品进行行折扣的的统计和和管理。设计一一个程序序用于管管理客户户的消费费情况,从从而根据据客户的的消费积积分对客客户实行行不同程程度的打打折优惠惠。对于于客户消消费积分分管理系系统利用用线性表表的链表表存储方方式,使使用结构构
3、体指针针将每一一个用户户联系起起来。程程序中设设计了添加用用户查找用用户修改用用户删除用用户统计客客户数量量的功能能,充分分满足对对于管理理系统的的要求。2设计分分析根据题目目要求及及本次课课程设计计的目的的,采用用结构体体来存储储每组数数据,用用单链表表对每组组数据进进行相应应的操作作。现把把相应的的设计思思路及各各个函数数解析如如下。2.1数数据结构构设计分分析2.1.1 存储客户户信息的的结构体体客户资料料有姓名名、身份份证号、客客户编号号、消费费金额、客客户积分分等信息息。具体结结构如下下:struuct Clliennt/客户信信息striing CCCarddNummberr;/客
4、户编号strringgCNuumbeer;/客户身份份证号floaat CBBuy;/客户消费费金额floaat CGGradde;/客户户积分striing CNNamee;/客户名名称;2.1.2 存储商商品信息息的结构构体首先用一一个商品品信息的的结构体体Prooducctioon存储商商品的价价格、商商品的固固定积分分、商品品的名称称,在用用一个数数组进行行存储每每一件商商品,使使用数组组和for循环能能够便捷捷并容易易的进行行数据的的操作。另另外再用用一个商商品消费费的记录录ProoClii,用来来记录每每个客户户消费商商品的记记录具体体结构如如下:struuctPProdductt
5、ionn/商品品信息floaat PPrricee;/商品价价格int PPGraade;/商商品积分分strringg PPNamme;/商品品名称;struuct PNN/产品消消费的信信息记录录strringg PProNNamee166;/记录消消费了的的产品的的名称int mouunt16;/记录该该产品的的消费数数量;struuct PrroCllistrringg CCarddnumm;/客户的的名称PN CPNN;/消费产产品和数数量2.2各各个函数数分析2.2.1 主函数数函数原型型:intt maain()mainn()函函数主要要是整个个系统的的控制端端,主要要功能是是控
6、制整整个程序序的运行行。从主主函数开开始调用用各相关关函数来来达到相相应的功功能。由由于有多多个不同同的选项项,所以以用一个个swiitchh()语句控控制每个个函数调调用,控控制起来来方便、明明了。关关键代码码如下:swiitchh(woork)caase 1:ccoutt继续请请输入1,返回回请输入入2woork;iif(wworkk=11)ccouttsttr;llocaateEElemm_L(cliientt,sttr);eelsee iff(woork=2)sysstemm(ccls);facce(); eelseecouut输入错错误!enndl;sysstemm(ccls);fa
7、cce(); bbreaak;caase 2:ccouttwoork;iif(wworkk=11)delleteeEleem_LL(clliennt,pproccli);eelsee iff(woork=2)couut请输入入客户编编号cclieentss.CCCarddNummberr;couut请输入入客户身身份证号号cclieentss.CNNumbber;couut请输入入客户名名称cclieentss.CNNamee;couut请输入入客户消消费金额额cclieentss.CBBuy;couut请输入入客户积积分cclieentss.CGGradde;insserttEleem_LL
8、(clliennt,pproccli,cliientts);eelsee iff(woork=3)sysstemm(ccls);facce(); eelseecouut输入错错误!enndl;sysstemm(ccls);facce(); bbreaak;caase 3:ccoutt现在进进行客户户信息修修改:继继续请输输入1,返回回请输入入2woork;iif(wworkk=11) couutsstr; reccompposee(clliennt,sstr);eelsee iff(woork=2)sysstemm(ccls);facce(); eelseecouut输入错错误!enndl;s
9、ysstemm(ccls);facce(); bbreaak;caase 4:ttrveerseeLnoode(cliientt);bbreaak;caase 5:ppurcchasse(cclieent,prooclii);bbreaak;caase 6:ccoutt继续请请输入1,返回回请输入入2woork;iif(wworkk=11)ccouttsttr;llocaateEElemm_P(prooclii,sttr);eelsee iff(woork=2)sysstemm(ccls);facce(); eelseecouut输入错错误!enndl;sysstemm(ccls);facce
10、(); bbreaak;caase 7:ssysttem(clls);ffacee(); bbreaak;caase 8:ccouttsttr;iif(sstr=yyes)couutsstr11;if(strr1=yees)priinteer(cclieent);priinteer(pproccli);couut已经保保存成功功enddl;couut已成功功退出!nnextt = cliienttp-nexxt;ennterrhhi-datta.CCCarrdNuumbeer;ennterrhhi-datta.CCNummberr;ennterrhhi-datta.CCBuyy;ennterr
11、hhi-datta.CCGraade;ennterrhhi-datta.CCNamme;cllienntp-neext = hhi;cllienntp = cclieentpp-nnextt;/ccouttddataa.CCCarddNummberr daata.CNuumbeer ddataa.CNNameeddataa.CCCarddNummberr!=NULLL)&(cliienttp-datta.CCNummberr!=NULLL);2.2.3 菜单函函数函数原型型:vooid facce()在主函数数调用此此函数,展展示整个个系统可可供用户户选择的的功能选选项,清清晰明了了,使用用户
12、对系系统的操操作更容容易掌握握。显示示各个选选项,把把后台功功能显示示在显示示器上,给给用户以以提醒。2.2.4 显示函函数函数原型型:vooid trvversseLnnodee(LiinkLListt L)此函数用用来显示示所有客客户的信信息,包包括姓名名、身份份证号、客客户编号号、消费费金额、客客户积分分等信息息,当客客户想查查看所有有客户信信息时,可可以使用用此功能能。不过过说白了了,也就就是把链链表中的的东西打打印出来来。代码码如下:voidd trrverrseLLnodde(LLinkkLisst LL) /遍历链链表Lnoode *p;couut客户编编号 身份证证号 客户名名
13、称 消费金金额 客户积积分nexxt; p!=NULLL; p=pp-nnextt)iff(p-daata.CCaardNNumbber!=NNULLL)ccouttddataa.CCCarddNummberr datta.CCNummberr ddataa.CNNamee ddataa.CBBuy ddataa.CGGraddeenddl;couutneext;whille(pp)if(pp-ddataa.CCCarddNummberr=ee)breaak;elsee iff(p-daata.CNuumbeer=e)breaak;elsee iff(p-daata.CNaame=e)brea
14、ak;p = p-nexxt;if(pp)coutt客户编编号 身份证证号 客户名名称 消费金金额 客户积积分enddl;couttddataa.CCCarddNummberr datta.CCNummberr ddataa.CNNamee datta.CCBuyy daata.CGrradeeeendll;retuurn truue;elseecoutt不存在在此客户户!neext;whille(pp)if(pp-ddataa.Caardnnum=e)breaak;p = p-nexxt;if(pp)coutt客户名名称 产品名名称 消费数数量 ddataa.CPPN.mmounnt00da
15、tta.CCPN.mouuntj0; i+,j+)couttee datta.CCPN.ProoNammeii daata.CPNN.moounttjeendll;if(fflagg)coutt无消费费记录!enddl;retuurn truue;elseecouut不存在在此客户户!nnextt;LPoode *pii = PI-neext;boool fflagg1 = faalsee,fllag22 = fallse;strringg cnnamee; /输入的的客户名名strringg prronaame; /输入的的产品名名intt coountt; /输入的的产品数数量intt i
16、,j;couut请输入入客户的的姓名: ccnamme;whiile(p)iff(p-daata.CNaame=cnnamee)fflagg1 = trrue;bbreaak;p = pp-nnextt;whiile(pi)iff(pii-ddataa.Caardnnum=cnnamee)fflagg2 =truue;bbreaak;pii = pi-neext;if(p)cooutdaata.CCaardNNumbber datta.CCNummberr daata.CNaame datta.CCBuyy daata.CGrradeeeendll;elssecoout不存在在此客户户!enn
17、dl;couut请输入入购买的的产品名名和数量量ppronnameeccounnt;if(flaag1&fllag22)foor(ii=0,j=00; ppi-datta.CCPN.mouunti0; i+,j+)iif(ppi-datta.CCPN.ProoNammejj=proonamme)pi-daata.CPNN.moountti = pi-daata.CPNN.moountti+coountt;iff(pii-ddataa.CPPN.mmounntiidatta.CCPN.mouunti = ccounnt;ppi-datta.CCPN.ProoNammejj = prronaame
18、;if(flaag1)foor(ii=0; idatta.CCGraade=500&pp-ddataa.CGGraddedatta.CCBuyy = p-datta.CCBuyy + couunt*prooducctioonii.PPPriice*0.995;p-datta.CCGraade = pp-ddataa.CGGradde/22;elsse iif(pp-ddataa.CGGradde1100)p-datta.CCBuyy = p-datta.CCBuyy + couunt*prooducctioonii.PPPriice*0.885;p-datta.CCGraade = pp-dd
19、ataa.CGGradde/22;elsseif(couunt3)p-datta.CCBuyy = p-datta.CCBuyy +ccounnt*pprodducttionni.PPPricce; p-daata.CGrradee=p-daata.CGrradee+coountt*prroduuctiioni.PGrradee+coountt-3;elssep-datta.CCBuyy = p-datta.CCBuyy +ccounnt*pprodducttionni.PPPricce;p-datta.CCGraade = pp-ddataa.CGGradde+ccounnt*pproddu
20、cttionni.PGGradde;2.2.7 修改客客户信息息函数函数原型型:vooid reccompposee(LiinkLListt L,strringg nuumb)此函数首首先会打打印用户户要修改改的客户户信息,然然后再打打印出一一个子菜菜单让用用户选择择不同的的功能,进进行修改改该客户户不同的的信息,然然后要求求用户输输入要选选择的功功能的编编号。用用户只需需按照系系统给出出的提示示,就可可以修改改客户的的信息。2.3算算法及平平台分析析 本系统统用到的的算法主主要有链链表的前前插法、后后插法及及搜索等等基本算算法,没没有用到到其它比比较复杂杂的算法法,操作作起来简简单,并并且容
21、易易控制;还用到到输入输输出流的的一些操操作来使使显示的的信息对对称,不不凌乱;再就是是一些文文件操作作,更改改存储文文件中的的内容,保保存操作作后的所所有信息息。本系统是是在Miccrossoftt Viisuaal CC+ 6.00上设计计及运行行的,所所有的信信息显示示均是在在dos界面中中显示出出来,利利用sysstemm(ccoloor 00B)操作使使主界面面以黑色色为背景景,前景景色为亮亮蓝色,而而其它界界面显示示及字的的显示均均为绿色色。并且且在每一一步操作作后,都都利用sysstemm(ccls)对dos界面进进行清屏屏,使显显示器显显示的信信息清晰晰、整齐齐。3实现方方法通
22、过对设设计题目目的深入入分析,及及题目的的要求,在在设计时时,主要要实现八八大功能能模块,大大致满足足一个客客户消费费积分管管理系统统系统的的基本需需要,主主要的流流程及实实现方法法请看下下面的报报告。3.1客客户消费费积分管管理系统统系统框框架图客户消费积分管理系统返回首面查询客户消费状况 退出系统购买产品显示所有客户信息修改客户信息查询客户信息增加或删除客户客户编号客户名称客户消费产品星客户信息客户身份证号产品名称客户姓名客户消费金额消费产品数量客户积分3.2 客户消费费积分管管理系统统系统主主函数流流程图结束修改客户信息显示所有客户信息退出系统购买产品返回首面查询客户消费状况初始化录入函
23、数显示函数输入work值switch(work)开始查询客户信息增加或删除客户4 调调试问题题在制作和和编写系系统的过过程中,碰碰到不少少问题。在在着手写写代码时时,我首首先把主主界面设设计好,并并按照主主界面上上显示的的各种功功能设计计各个函函数,这这样不至至于太盲盲目了。可可是当我我测试主主界面时时,出现现了好多多问题,出出现好多多函数没没有声明明的错误误,然后后把所有有的屏蔽蔽掉,就就可以运运行了。接接着就是是写第一一个读取取文件中中的信息息的函数数,本想想用二进进制进行行读写操操作,但但是使用用之后,输输出的信信息全是是些乱码码,最后后也只能能确定用用ASCCII码进行行读写了了。在写
24、到购购买产品品函数的的时候,由由于每一一次购买买后,都都要把信信息储存存到文件件中去,所所以要用用到写入入文件操操作,但但是由于于项目比比较多,所所以在编编写代码码的时候候漏掉了了终点时时间没有有写入,所所以在保保存后,退退出系统统后重新新启动系系统时,读读入函数数读入客客户信息息和客户户消费信信息时,在在文件中中所能读读到的信信息就缺缺少了一一项,所所以会把把后面的的信息读读入到链链表的头头表中去去,从而而使数据据读入时时出现交交错错误误,使一一些变量量没有读读得信息息,从而而在显示示的时候候,就会会打印出出乱码,这这个错误误在我找找了好久久,才从从文件的的数据中中找到。还有个问问题就是是显
25、示方方面的。在在写那些些函数时时,总会会清屏上上一次的的屏幕,把把函数写写完之后后,也会会做同样样的工作作,所以以在运行行到syysteem(“cls”)时,就就会清除除屏幕信信息而显显示其它它内容。所所以要想想清晰看看到每次次操作的的信息,就就要延迟迟sysstemm(“cls”)的执行行。在没没有做处处理之前前,总会会出现一一闪而过过的现象象,一瞬瞬即逝,根根本看不不清所要要显示的的信息。在在sysstemm(“cls”)前加上上两行gettchaar()函数,它它会吸收收一个回回车,然然后再等等待用户户输入一一个字符符来结束束当前的的操作,所所以在用用户进入入下一个个操作时时,按下下任意
26、一一个键就就行了。这这使得用用户可以以看清自自己想要要的信息息,做好好下一步步操作的的准备工工作。当然,在在编写代代码调试试程序的的时候,还还碰到很很多大大大小小的的问题,但但在自己己一遍又又一遍的的调试中中改正了了,从而而使系统统的功能能更加完完善,使使系统的的功能更更从人性性化,容容错能力力更加强强大。但但是系统统还有可可能有这这样或那那样的问问题,只只是自己己没有发发现,在在测试过过程中,没没有用到到一些特特别的样样例,可可能会使使系统崩崩溃,我我想这也也是可能能的,希希望老师师加以指指正和指指导。5 系系统的使使用说明明书对于整个个系统的的使用及及每一次次你所作作出选择择和操作作之后会
27、会出现什什么样的的界面及及操作结结果,在在下面的的说明中中作出详详细的说说明及展展示,具具体如下下所示。5.1 主界面说说明当运行系系统时,首首先进入入的是主主界面,显显示了整整个系统统所提供供的功能能选项,在在最后一一行有提提示让您您输入你你所要选选择的功功能项。如如下所示示:5.2 查询客户户信息功功能介绍绍根据系统统的提示示选择主主界面的的功能的的序号,输输入查询询客户信信息功能能的序号号1回车,系系统就会会打印出出客户信信息。5.3 增加或删删除功能能介绍根据系统统的提示示选择主主界面的的功能的的序号,键键入2进行增增加或删删除功能能的操作作,但是是这个时时候,系系统会打打印出一一个信
28、息息对用户户进行提提示,若若用户要要求进行行删除操操作就需需要客户户键入1,若客客户要求求进行增增加客户户的操作作就需要要用户键键入2,删除除的具体体操作如如下所示示用户若是是增加客客户,键键入2时,系系统会打打印出一一些增加加客户所所需要的的输入的的信息,用用户需要要按照系系统给出出的提示示,输入入客户的的信息,添添加成功功后系统统会打印印出增加加成功的的字样进进行提示示,增加加客户的的操作如如下所示示5.4 修改客户户信息功功能介绍绍首先根据据系统的的提示选选择主界界面的功功能的序序号,键键入3回车后后,系统统会弹出出一个修修改客户户信息的的子菜单单和要修修改的客客户的客客户信息息。用户户
29、可以按按照子菜菜单上的的功能编编号进行行选择,然然后键入入相应的的编号。例如以下下就是键键入功能能编号D之后,就就可以修修改客户户的消费费金额。根根据系统统提示键键入新的的客户消消费金额额。成功功之后,系系统会弹弹出提示示修改成成功!5.5 查询客户户信息功功能介绍绍首先根据据系统的的提示选选择主界界面的功功能的序序号,键键入4回车后后,用户户就可以以看到所所有客户户的信息息资料。5.6 购买产品品功能介介绍选择购买买产品功功能,需需要首先先根据系统统的提示示选择主主界面的的功能的的序号,键键入5回车后后,系统统会弹出出“请输入入客户的的姓名”提示,用用户就需需要填写写客户的的姓名,回回车之后
30、后系统会会弹出该该客户的的一些信信息,然然后系统统给出提提示,要要用户填填入需要要购买的的产品的的名称和和数量。购购买之后后系统会会弹出“购买成成功”的提示示。5.7 查询客户户消费资资料功能能介绍首先根据据系统的的提示选选择主界界面的功功能的序序号,键键入6回车后后,系统统会弹出出“请输入入客户的的姓名”提示,用用户就需需要填写写客户的的姓名,回回车之后后系统会会弹出该该客户的的一些消消费记录录信息。5.8 退出系统统功能首先根据据系统的的提示选选择主界界面的功功能的序序号,键键入8回车后后,系统统就会弹弹出“是否确确定退出出,是,请请输入yess,否请请输入no!:”提示,需需要用户户根据
31、选选择进行行键入。最最后系统统会询问问用户是是否要对对之前的的一些操操作,进进行保存存,如果果需要的的话,用用户可以以根据提提示,键键入yes,如果果不需要要保存的的话,用用户可以以根据提提示,键键入no。系统统就不会会保存之之前的一一切操作作而退出出系统。6 结结论经过几天天的忙碌碌,最终终把课程程设计任任务完成成了。要要做好一一件事,只只能一步步一步的的去做,不不可能一一下子就就完成。本本来以为为简单的的几个功功能,要要实现以以为很容容易,至至多一天天就可以以做完,可可是在真真正实现现、编写写代码的的过程却却发现有有太多的的问题没没有解决决。比如如要存储储哪些数数据,用用什么方方式存储储;用怎怎么样的的结构去去保存各各种数据据等。要做好一一个系统统,一个个严谨的的思维是是不可以以或缺的的,每一一个联系系都要考考虑,每每个细节节都需要要注意,每每一种错错误都要要会解决决。只有有把每一一种问题题都解决决了,才才能做出出一个完完善的系系统出来来。参考文献献1谭谭浩强.C程序设设计(第三版). 北京: 清华大大学出版版社,200052严严蔚敏著著.吴伟民.数据结结构(C语言版). 北京: 清华大大学出版版社,200073谭谭浩强著著.C+程序设设计. 北京:清华大大学出版版社,20004.
限制150内