收藏 分销(赏)

客户消费积分标准管理系统.doc

上传人:a199****6536 文档编号:2998387 上传时间:2024-06-12 格式:DOC 页数:28 大小:305.04KB
下载 相关 举报
客户消费积分标准管理系统.doc_第1页
第1页 / 共28页
客户消费积分标准管理系统.doc_第2页
第2页 / 共28页
客户消费积分标准管理系统.doc_第3页
第3页 / 共28页
客户消费积分标准管理系统.doc_第4页
第4页 / 共28页
客户消费积分标准管理系统.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、目录一、系统开发背景1二、系统分析和设计1(一)系统功效要求1(二)系统模块结构设计1三、系统设计和实现2(一)添加用户: GETELEM(CNODE*HEAD)2(二)修改用户AMEND(CNODE*HEAD,CHAR NAME)5(三)删除用户DELETE(CNODE*HEAD,CHAR NAME)8(四)显示用户VOID SHOWALL(CNODE*HEAD)10四、系统测试12(一)测试VOID NAIN ()函数12(二)部分调用函数测试13五、总结14六、附件(代码)14 用户消费积分管理系统一、 系统开发背景为了能够快速依据用户消费积分计算打折后价格,和优惠后价格,给用户以心理上

2、刺激,激发用户消费欲望。而且减轻收银员工作负担;所以,我尤其编写了一套相关用户消费积分管理系统,来方便在日常生活中使用。二、 系统分析和设计(一) 系统功效要求针对用户消费情况,进行用户管理,依据用户消费积分对用户实施不一样程度打折优惠。1、对用户信息能够进行修改、删除、添加;2、能够依据消费情况进行用户积分计算;3、依据积分情况实施不一样程度打折优惠;(二) 系统模块结构设计经过对系统功效分析,用户消费积分管理系统功效图(1)所表示。用户消费积分管理系统添加函数修改函数 删除函数显示函数图(1)用户消费管理系用统图经过上图功效分析,首先定义了一个数据域,来存放用户基础信息;其次,基础函数组员

3、有姓名,消费卡号,消费价格和折扣后价格。最关键是利用While语句和switch语句套用来实现,另外,就是要用到malloc函数来存放用户信息分配内存。把整个系统关键划分为4个模块:1、 添加用户信息:该模块关键实现,用户基础信息(姓名、消费卡号、消费金额)添加,借助函数Getelem(cnode*head)来实现;2、 修改用户信息:该模块关键实现,对消费者基础信息修改功效,借助函数Amend(cnode*head,char name)来实现;3、 删除用户信息:此模块功效是,删除所要确定用户信息,而达成从整个系统清除目标,借助函数Delete(cnode*head,char name)来实

4、现;4、 显示用户信息:此模块关键作用是显示消费者相关信息,借助函数Showall(cnode*head)来实现。三、 系统设计和实现(一) 添加用户: Getelem(cnode*head)分析:首先选择添加用户指令,然后输入用户基础信息。用户姓名,用户ID消费卡号,假如输入不正确则需要提醒重输,还有就是用户消费金额,这么才能计算后面积分优惠折扣。最终就显示该添加用户信息。步骤图图(2)所表示。运行结果图(a)所表示。 用户姓名消费卡ID号消费金额积分折扣图(2)-1模块分析图开始输入用户姓名及ID号(正确)输出用户相关信息相关信息结束(错误)重新输入用户相关信息(正确)输出用户相关信息图(

5、2)添加用户信息步骤图该模块具体代码以下所表示:#include/标准输入输出库函数#include/动态存放分配函数#include/字符串函数struct cnodechar name20;/用户姓名char ID4;/用户ID号double consume;/用户消费double integer;/用户积分cnode*next;double display_discount(double points)/用户积分折扣函数double discount;if(points=0)discount=0;else if (points0&points50&points100&points200&

6、points300)discount=7.0; return discount;void Initstack(cnode*&head)head=(cnode*)malloc(sizeof(cnode);/malloc函数开辟内存单元,分配cnode长度字节存放区head-next=NULL;void Getelem(cnode*head)/添加用户函数cnode*p;double y;p=(cnode*)malloc(sizeof(cnode);printf(请输入姓名:);scanf(%s,&p-name);printf(请输入ID(4位):);scanf(%s,&p-ID);while(s

7、trlen(p-ID)!=4)printf(ID有误,请重新输入(4位):);scanf(%s,p-ID);printf(请输入消费金额:);scanf(%lf,&p-consume);p-integer=p-consume/100;y=display_discount(p-integer);printf(折扣:%llf折n,y);p-next=head-next;head-next=p;system(pasue);void main()cnode*head;int choice;char name10;Initstack(head);doprintf(n);printf( n);printf

8、( $ 用户消费积分管理系统 $n);printf( n);printf(n *);printf(n * *);printf(n * *);printf(n * 1.添加用户 *);printf(n * 2.查找用户 *);printf(n * 3.修改用户 *);printf(n * 4.删除用户 *);printf(n * 5.显示用户 *);printf(n * 6.统计用户 *);printf(n * 7.退出 *);printf(n *);printf(n 请输入您选择(1,2,3,4,5,6,7):); Getelem(head);break;system(cls);/程序运行后自

9、动清屏while(choicenext=NULL)printf(n没有用户!);elsewhile(p-next!=NULL)p=p-next;if(strcmp(name,p-name)=0)printf(姓名:%sn,p-name); printf(ID:%sn,p-ID); printf(消费:%.2lf,p-consume); printf(积分:%lf,p-integer); y=display_discount(p-integer); printf(折扣:%.llf折n,y);printf(n请选择您要修改资料:1.姓名 2.ID 3.消费金额n);scanf(%d,&choose

10、);switch(choose)case 1: printf(请输入修改后姓名:); scanf(%s,p-name);break;case 2: printf(请输入修改后ID:); scanf(%s,p-ID);break; while(strlen(p-ID)!=4) printf(ID有误,请重输(4位):); scanf(%s,p-ID); break;case 3: printf(请选择:1覆盖以前消费. 2续加上现在消费.); scanf(%d,&x);switch(x)case 1:printf(请输入修改后消费:); scanf(%lf,&p-consume);break;c

11、ase 2:printf(请输入续加金额:);scanf(%lf,&z);p-consume+=z;break;printf(姓名:%sn,p-name);printf(ID:%sn,p-ID);printf(消费额:%.2lf,p-consume);p-integer=p-consume/100;printf(积分:%lf,p-integer);y=display_discount(p-integer);printf(折扣:%.llf折n,y);system(pasue);图(b)(三) 删除用户Delete(cnode*head,char name)分析:首先也是要确定该用户消费积分系统有

12、没有用户,在有用户条件下对所在用户相关信息进行删除。第一步要输入所要删除用户姓名,第二步是就是对所选定用户进行删除,在删除结束时,会出现是否删除成功提醒语,方便进行慎重删除操作。步骤图图(4)所表示。运行结果如图(c)所表示。开始要删除用户是否删除成功结束没有用户结束有用户图(4)删除用户信息步骤图该模块具体代码以下所表示:void Delete(cnode*head,char name)/删除用户函数cnode*p;int x;double y;p=head;if(p-next=NULL)printf(n没有用户!);elsewhile(p-next!=NULL)head=p;p=p-nex

13、t;if(strcmp(name,p-name)=0) printf(姓名:%sn,p-name); printf(ID:%sn,p-ID); printf(消费:%.2lf,p-consume); printf(积分:%lf,p-integer); y=display_discount(p-integer); printf(折扣:%.llf折n,y); printf(确定删除? 1确定 2取消 请选择:);scanf(%d,&x);if(x=1)head-next=p-next;printf(删除成功!); elseprintf(删除失败!); printf(n);system(pause)

14、;图(c)(四) 显示用户void Showall(cnode*head)分析:首先还是要确定该用户消费积分系统有没有用户,在有用户条件下对全部用户相关信息进行显示。最终将全部用户相关信息显示在屏幕上。步骤图图(5)所表示。运行结果图(d)所表示。开始显示全部用户输出结果结束没有用户结束有用户图(5)显示用户信息步骤图该模块具体代码以下所表示:void Showall(cnode*head)/显示用户函数cnode*p;double y;p=head;if(p-next=NULL)printf(没有用户!);elsewhile(p-next!=NULL)p=p-next; printf(姓名:

15、%sn,p-name); printf(ID:%sn,p-ID); printf(消费:%.2lf,p-consume); printf(积分:%lf,p-integer); y=display_discount(p-integer); printf(折扣:%.llf折n,y);system(pause);图(d)四、 系统测试(一) 测试void nain ()函数测试该函数使用测试方法,测试具体步骤,测试用例选择,测试结果。首先,经过编译,运行两步操作,排除了该程序中基础语法错误,链接深入检验了程序正确性和正当性,完全排除了程序中逻辑错误,使得程序能够正确运行出来。然后检验程序可实用性,经

16、过操作者自己输入部分对用户操作要求,来完成检验这一步。最终,还要看显示结果是否正确可靠。这么,一个用户消费积分系统程序就完成了。所以,下图(6)就是主函数测试结果。图(6)主函数测试结果(二) 部分调用函数测试图(4)是查找函数测试,图(5)是统计函数测试。图(4)查找函数测试结果 图(5)是统计函数测试结果五、 总结系统完成了对一个消费商店内部,进行一次优惠打折活动,依据用户在本商店所进行消费情况,对相关消费用户信息进行了增加、删除和修改等操作。而且利用switch语句完成用户自行选择要求,使得程序变得愈加友善友好,让用户依据每一步提醒来完成所需操作,进而达成对相关消费用户操作,而且和此次活

17、动优惠积分要求相一致,来计算用户所得积分及其对应折扣。而且完成了对消费用户信息增加,删除,添改功效。另外充足利用C语言语法结构(次序机构、循环结构及其选择机构),对整个程序进行了合理编写和调试。尽可能做到程序简单、合理明白,加部分合适注释说明部分。系统不足:这个系统不足在于她不能将用户信息资料存放于磁盘中,只能在完整一次操作中,不退出此界面一直能有效正确实施命令。不过退出一次以后,重新操作时,以前用户信息就不再存在了。所以,这是还有待于我不停改善完善地方。我收获:在此次C+课程设计中,经过设计掌握了C+课程及其数据结构在以后学习C课程中关键性。数据机构中基础理论和算法综合应用是处理实际问题关键

18、手段。在做这次课程设计中最让我得到提升是自己独立思索及实践能力,在完成此项设计过程中,我利用多种和C相关工具书、相关网络信息完成了一个相关用户消费积分管理系统程序,让我从中更多了解了C这门语言及其相关知识,更让我对最初学C态度有了一个强烈转变C中奥秒就在于自己不停探索和积累。六、 附件(代码)#include/标准输入输出库函数#include/动态存放分配函数#include/字符串函数struct cnodechar name20;/用户姓名char ID4;/用户ID号double consume;/用户消费double integer;/用户积分cnode*next;void Coun

19、t(cnode*head)/统计用户函数cnode *p;int i=0;p=head;if(p-next=NULL)printf(n没有用户!);elsewhile(p-next!=NULL)p=p-next; i+;printf(n现有用户数量为%d位n,i);system(pause);double display_discount(double points)/用户积分折扣函数double discount;if(points=0)discount=0;else if (points0&points50&points100&points200&points300)discount=7.

20、0; return discount;void Initstack(cnode*&head)head=(cnode*)malloc(sizeof(cnode);/malloc函数开辟内存单元,分配cnode长度字节存放区head-next=NULL;void Getelem(cnode*head)/添加用户函数cnode*p;double y;p=(cnode*)malloc(sizeof(cnode);printf(请输入姓名:);scanf(%s,&p-name);printf(请输入ID(4位):);scanf(%s,&p-ID);while(strlen(p-ID)!=4)printf

21、(ID有误,请重新输入(4位):);scanf(%s,p-ID);printf(请输入消费金额:);scanf(%lf,&p-consume);p-integer=p-consume/100;y=display_discount(p-integer);printf(折扣:%llf折n,y);p-next=head-next;head-next=p;system(pasue);void Search(cnode*head,char name)/查找用户函数 cnode*p;double y;int flag=false;p=head;if(p-next=NULL)printf(n没有用户!);e

22、lsewhile(p-next!=NULL)p=p-next;if(!strcmp(name,p-name)printf(姓名:%sn,p-name);printf(ID:%sn,p-ID);printf(消费:%.2lf,p-consume);printf(积分:%lf,p-integer);printf(折扣:%.llf折n,y);flag=true;if(!flag)printf(该用户不存在!n);system(pasue);void Amend(cnode*head,char name)/修改用户函数cnode*p;double y,z;int choose, x;p=head;if

23、(p-next=NULL)printf(n没有用户!);elsewhile(p-next!=NULL)p=p-next;if(strcmp(name,p-name)=0)printf(姓名:%sn,p-name); printf(ID:%sn,p-ID); printf(消费:%.2lf,p-consume); printf(积分:%lf,p-integer); y=display_discount(p-integer); printf(折扣:%.llf折n,y);printf(n请选择您要修改资料:1.姓名 2.ID 3.消费金额n);scanf(%d,&choose);switch(cho

24、ose)case 1: printf(请输入修改后姓名:); scanf(%s,p-name);break;case 2: printf(请输入修改后ID:); scanf(%s,p-ID);break; while(strlen(p-ID)!=4) printf(ID有误,请重输(4位):); scanf(%s,p-ID); break;case 3: printf(请选择:1覆盖以前消费. 2续加上现在消费.); scanf(%d,&x);switch(x)case 1:printf(请输入修改后消费:); scanf(%lf,&p-consume);break;case 2:printf

25、(请输入续加金额:);scanf(%lf,&z);p-consume+=z;break;printf(姓名:%sn,p-name);printf(ID:%sn,p-ID);printf(消费额:%.2lf,p-consume);p-integer=p-consume/100;printf(积分:%lf,p-integer);y=display_discount(p-integer);printf(折扣:%.llf折n,y);system(pasue);void Delete(cnode*head,char name)/删除用户函数cnode*p;int x;double y;p=head;if

26、(p-next=NULL)printf(n没有用户!);elsewhile(p-next!=NULL)head=p;p=p-next;if(strcmp(name,p-name)=0) printf(姓名:%sn,p-name); printf(ID:%sn,p-ID); printf(消费:%.2lf,p-consume); printf(积分:%lf,p-integer); y=display_discount(p-integer); printf(折扣:%.llf折n,y);printf(确定删除? 1确定 2取消 请选择:);scanf(%d,&x);if(x=1)head-next=

27、p-next;printf(删除成功!);elseprintf(删除失败!);printf(n);system(pause);void Showall(cnode*head)/显示用户函数cnode*p;double y;p=head;if(p-next=NULL)printf(没有用户!);elsewhile(p-next!=NULL)p=p-next; printf(姓名:%sn,p-name); printf(ID:%sn,p-ID); printf(消费:%.2lf,p-consume); printf(积分:%lf,p-integer); y=display_discount(p-i

28、nteger); printf(折扣:%.llf折n,y);system(pause);/主文件void main()cnode*head;int choice;char name10;Initstack(head);doprintf(n);printf( n);printf( $ 用户消费积分管理系统 $n);printf( n);printf(n *);printf(n * *);printf(n * *);printf(n * 1.添加用户 *);printf(n * 2.查找用户 *);printf(n * 3.修改用户 *);printf(n * 4.删除用户 *);printf(n

29、 * 5.显示用户 *);printf(n * 6.统计用户 *);printf(n * 7.退出 *);printf(n *);printf(n 请输入您选择(1,2,3,4,5,6,7):);scanf(%d,&choice);switch(choice)case 1: Getelem(head);break;case 2: printf(n请输入要查找用户姓名:); scanf(%s,name);Search(head,name);break;case 3: printf(n请输入要修改用户姓名:); scanf(%s,name);Amend(head,name);break;case 4: printf(n请输入要删除用户姓名:); scanf(%s,name);Delete(head,name);break;case 5: printf(n); Showall(head);break;case 6: printf(n);Count(head);break;case 7: exit(1);break;/标准C库函数,作用是使程序终止。故开头有stdlib.h头文件system(cls);/程序运行后自动清屏while(choice=7);

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服