超市会员卡管理设计.doc

上传人:星星 文档编号:1081816 上传时间:2024-04-14 格式:DOC 页数:22 大小:466KB
下载 相关 举报
超市会员卡管理设计.doc_第1页
第1页 / 共22页
超市会员卡管理设计.doc_第2页
第2页 / 共22页
超市会员卡管理设计.doc_第3页
第3页 / 共22页
超市会员卡管理设计.doc_第4页
第4页 / 共22页
超市会员卡管理设计.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、会员卡管理程序目录摘 要11绪论12系统分析22. 1功能需求22.2数据需求22. 3 性能需求23总体设计23.1功能模块设计23.2系统设计方案44详细设计44.1注册会员卡模块44.2消费管理模块54.3查询会员信息模块64.4修改会员卡模块74.5注销会员卡模块85调试与测试95.1 调试95.2 测试106结论10结束语10参考文献11附录1用户手册12附录2源程序15会员卡管理程序摘 要随着经济的发展和消费水平的提高,人们购物越来越频繁,这就使超市对顾客资料信息的管理更加的繁琐。会员卡管理程序能够更好、更准、更方便的对超市会员的相关信息进行管理,并且更有效的维护超市信息。这样不但

2、有助于超市秩序的管理及发展和信息的维护,而且有助于提高超市在顾客心目中的印象,进而提高超市的知名度和竞争力。本系统使用C语言作为开发工具,实现了管理员对会员信息的录入、修改和注销会员卡,并且可以按姓名、身份证号或消费金额范围等条件查询会员信息。本文首先分析了会员卡管理程序存在的必要性,由此提出了自己的会员卡管理程序的思想。然后,阐述了该系统的设计原则、功能实现过程,最后,阐述了本系统的实用性,并说明了需完善之处的实现方法。关键词:会员卡;信息管理;C语言1绪论当今中国零售业发展正盛,大量超市涌现于各个城市,很大程度上改变了人民的消费方式。超市为了避免固定客流的流失推出了会员卡制度,让顾客尝到一

3、点甜头从而留住顾客。会员卡管理程序就是为了更好的管理超市会员信息而产生的一款超市会员管理系统,它能使超市管理员快速地注册新会员卡号,能修改和注销会员信息,能通过姓名,身份证号等条件查询会员信息,并且通过会员卡累积持卡者消费的金额。会员卡管理程序相对于传统的管理而言具有查询方便、维护简易、精确性高等优点。计算机的使用能够节约大量的时间、人力、物力与财力,而且还可以大幅度提高超市会员资料的安全性和完整性。本系统的开发要求是利用C语言开发研究会员卡管理程序,满足超市对会员卡管理的要求,能够为会员卡信息的管理提供便利。系统用户主要分2类:超市管理员和会员顾客,该系统具体实现以下功能:在办理会员卡时,管

4、理员输入顾客的姓名、身份证号、联系电话等个人信息,系统自动生成会员卡号;会员持此卡者来消费时,系统将本次消费金额累加到该卡上;管理员能够修改和注销会员卡; 管理员可以按姓名、身份证号或消费金额范围等条件查询会员信息。2系统分析2. 1功能需求本系统的是利用C语言开发的会员卡管理程序,满足超市对会员卡管理的要求,能够为会员卡信息的管理提供便利。该系统能实现以下功能:管理员能注册会员卡、修改和注销会员卡,并能按不同条件查询会员信息,会员持此卡者来消费时,系统将本次消费金额累加到该卡上。2.2数据需求本次课设要求设计一个会员卡管理程序,根据具体要求需要编程者要掌握超市会员的基本信息; 会员卡基本信息

5、包括:卡号、姓名、密码、身份证号、联系电话、性别、消费金额。管理员信息包括:编号、密码。2. 3 性能需求 本系统在运行时,不会带来计算机的卡机,运行流畅,具有较高的安全性;错误报警比较完善,因此系统具有较高的稳定性,经过多番使用以及老师的认真检查,其功能齐全,在消费累积上,结果正确,具有可靠性强;系统存储并不复杂,并维护工作简单,可用时间长,具有较高的健壮性。3总体设计3.1功能模块设计 根据分析整个系统主要划分为5个功能模块,分别执行要求中的功能。并且查询会员信息模块又可以分成3个子模块,模块图如图1所示。 图1功能模块图注册会员卡模块该模块是为顾客办理会员卡功能。 消费管理模块该模块是对

6、会员持卡者的消费金额累积功能。 查询会员信息模块分为:按姓名查询子模块,通过姓名查询会员信息的功能。按身份证号查询子模块,通过身份证号查询会员信息的功能。按金额范围查询子模块,通过金额范围查询会员信息的功能。 修改会员卡模块该模块是管理员对会员信息执行修改的功能。 注销会员卡模块该模块是管理员对会员卡执行删除的功能。3.2系统设计方案(1)数组设计采用二维数组进行数据存储,其中行为个数、列为长度来存储字符串。(2)菜单设计菜单由主操作菜单和管理员操作菜单两大菜单组成。主操作菜单用cd( )函数实现,可以申请会员卡和会员消费,并且可以进入到管理员操作菜单;管理员操作菜单用gdo( )函数实现,可

7、以浏览、修改、删除、查询会员信息,并且可以返回到主操作菜单。(3)函数设计用cd( )函数实现主操作菜单,提示该菜单功能信息;用add( )函数实现注册会员卡功能;用gd( )函数实现管理员登陆功能;用gdo( )函数实现管理员操作菜单,提示管理员操作菜单功能信息;用cha( )函数实现会员信息的查询功能;用xd( )函数实现会员持卡者的登陆功能;用xf( )函数实现会员消费管理并消费金额自动累加功能;用xiu( )函数实现修改和注销会员卡功能。(4)设计思路程序由一个主程序 main( )和8个子程序add( ),cd( ),cha( ),gd( ),gdo( ),xd( ),xf( ),x

8、iu( )组成,可以实现会员卡的注册,修改和删除,并查询会员信息,还可以实现会员卡消费金额累加功能。4详细设计4.1注册会员卡模块注册会员卡模块主要是注册新的会员卡,即对顾客的基本信息进行添加,基本信息包括姓名、身份证号、联系电话、性别等,并生成新的会员卡号,生成的会员卡是以1000为基数,第一个是1000,第二个是1001,以此类推,新生成的会员卡号是最后一个会员卡号加1。具体实现程序流程如图2所示。 图2 注册会员卡流程图 4.2消费管理模块消费管理模块是会员持卡者输入卡号和密码后,进入消费管理,输入本次消费金额并累加到总消费金额上。是通过if判断语句和while循环语句实现的,用whil

9、e循环语句从所有会员中找出要消费的会员,用if判断语句判断是否登陆成功,如果成功就可以输入本次的消费金额,并自动执行金额累加,如果不成功就回到while循环的开始位置并重新执行一次while循环语句。消费管理模块流程图如图3所示。 图3消费管理流程图4.3查询会员信息模块查询会员信息模块分为按姓名查询,按身份证号查询,按消费金额范围查询三个子模块,查询会员模块是通过if判断语句和while循环语句实现,用while循环语句找出与输入条件对应的会员信息,没找到就回到while循环开始位置并重新执行一次while循环语句,再用if判断语句看是否存在,存在就把找到的会员信息输出,不存在就输出“没有此

10、会员”的提示信息。按身份证号查询模块流程图如图4所示。图4查询流程图4.4修改会员卡模块修改会员卡模块是通过输入会员卡号找到该会员并修改各基本信息,是通过if判断语句和while循环语句实现的,用while循环语句找到与输入的会员卡号相对应的会员信息,没找到就回到while循环开始位置并重新执行一次while循环语句。然后用if判断语句看是否存在,存在就输入要修改的会员信息并把修改后的信息输出,不存在就输出“无此会员”的提示信息。修改会员卡模块的流程图如图5所示。 图5修改会员卡流程图4.5注销会员卡模块注销会员卡模块是通过输入会员卡号从而删除该会员卡的所有信息。是通过if判断语句和while

11、循环语句实现的,通过一个while循环语句找到与输入的会员卡号相对应的会员,没找到就回到while循环开始位置并重新执行一次while循环语句。然后用if判断语句判断是否存在,不存在的话就输出“无此会员”的提示信息,存在就再执行下一个while循环语句,此while循环语句把找到的会员卡信息后面的所有会员卡信息都往前串一行,没有找到就执行结束语句。注销会员卡的流程图如图6所示。 图6注销会员卡流程图5调试与测试5.1 调试调试是软件开发过程中的一个重要环节,也是最复杂,对软件开发者者来说也是最艰巨的任务。调试的任务是及时改正测试过程中发现的软件错误。具体地说,调试过程由两个步骤组成,它从表示程

12、序中存在错误的某迹象开始,首先确定错误的准确位置,也就是找出哪个模块或哪个语句引起的错误。然后仔细研究推断代码以确定问题的原因,并设法改正。调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到相关的问题所在。本系统调试过程中遇到问题、原因和解决方法如下面介绍。(1) 一维数组存储错误用一维数组存储时,它每行只能存一个字符,而用二维数组就可以存一个字符串,也就是可以存一行语句,所以把一维数组换成二维数组就解决了此问题。(2) 消费金额累加错误在进行消费金额累加的相关操作的时候发现与实际情况不符,原因是,程序累加时没有把原来的金额加进去以至于得不到正确的结果,经调试后改正其原因,即可

13、得出理想数据。5.2 测试软件测试是软件生存期中的一个重要阶段,是软件质量保证的关键步骤从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测试应该是“为了发现错误而执行程序的过程”。或者说,软件测试应该根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷。过度测试则会浪费许多宝贵的资源。到测试后期,即使找到了错误,然而付出了过高的代价。测试数据过程如下。1.注册会员卡: 从键盘中输入以下数据,张飞、123456、998877665544332211、13888888888、

14、男。然后经查询发现相应数组长度确实正确,而且存储值也是理想值。2会员消费累加时:从键盘输入姓名张飞和密码123456后,再输入消费金额100,经检验发现姓名为张飞的顾客的消费总金额确实比上次多了100元,证实此功能完全。3.消费金额范围查询会员信息:从键盘输入最小金额100和最大金额300后,查询后所有金额在这之间的会员都显示出来了,证实金额范围查询功能完全。6结论在老师的精心指导下,本次课程设计终于顺利完成,题目所要求的功能也都一一实现,可以对会员卡信息进行注册、修改、删除以及按不同条件进行查询功能,也实现了会员持卡者消费时消费金额累积功能。结束语这次课程设计让我学到了很多知识,对学过的知识

15、也有了更进一步的了解。顺利地完成了老师布置的任务,得出了所要求的程序。从这次课设中我感觉到无论做什么事只有真正用心去做,就能克服困难,只要有信心,就没有解决不了得问题。此次课设任务书上的要求都一一得以实现,虽然程序还不是特别完整,但是它对我所学知识起了复习作用,让我对自己所学的东西了解的更加深刻。参考文献谭浩强.C程序设计(第三版).北京:清华大学出版社,2005.7高涛,陆丽娜.C语言程序设计.西安西安交通大学出版社,2007崔武子,赵重敏,李青.C程序设计(第三版).清华大学出版社,2007.6龚沛曾,杨志强.C/C语言程序设计教程 .高等教育出版社,2004.9附录1用户手册点击运行,首

16、先出现功能菜单选项,选择申请会员卡选项就可以申请会员卡,如图7所示。 图7 申请会员卡选择会员消费选项可以在会员持卡者输入卡号和密码后,系统把本次消费金额累加到该卡上,并可以查看消费信息,如图8所示。图8 消费管理选择管理员操作选项可以在管理员输入ID和密码后,进入到管理员菜单操作界面,如图9所示。图9 管理员操作在管理员菜单操作界面选择选择浏览(修改、删除)会员所有信息选项可以浏览会员信息,如图10所示。图10 浏览会员信息选择修改会员信息选项可以根据会员卡号修改会员信息,如图11所示。图11 修改会员卡 选择删除会员信息选项可以根据会员卡号删除该会员信息,如图12所示。图12 删除会员卡在

17、管理员菜单操作界面选择选择查找会员所有信息选项可以按姓名、身份证号、金额范围查询会员信息,按姓名查找会员信息如图13所示。图13 姓名查询按身份证号查找会员信息,如图14所示。图14 身份证号查询按金额范围查找会员信息,如图15所示。图15 消费金额查询 附录2源程序 #includestdio.h#includestring.hchar id5020,pw5020,sf5030,ph5030,sex5020;char id15020,pw15020,sf15030,ph15030,sex15020;char guan1020,gpw1020;float cash50;float cash15

18、0;int zh50,zh150;int n=3;int s;void gd();void add();void cha();void cd();void gdo();void xf(int s1);void xiu();void xd();void main()strcpy(guan0,1);strcpy(gpw0,111);strcpy(id0,叶文);strcpy(pw0,123);strcpy(sf0,123123123123123123);strcpy(ph0,15232123123);strcpy(sex0,女);cash0=100;zh0=1000;strcpy(id1,天叶);

19、strcpy(pw1,111);strcpy(sf1,232323424242525252);strcpy(ph1,15000120000);strcpy(sex1,男);cash1=200;zh1=1001;strcpy(id2,真姬);strcpy(pw2,222);strcpy(sf2,445242525266262626);strcpy(ph2,15425125122);strcpy(sex2,女);cash2=350;zh2=1002;strcpy(id3,萧炎);strcpy(pw3,333);strcpy(sf3,900885858585858248);strcpy(ph3,11

20、231231244);strcpy(sex3,男);cash3=300;zh3=1003;printf(请选择所需操作(0:申请会员卡 1:会员消费 2:管理员操作)n);scanf(%d,&s);if(s=0)add();if(s=2)gd();if(s=1)xd();void add() int f;n+;printf(请输入要办理会员卡的人员信息(依次是姓名,密码,身份证号,联系电话,性别)n);scanf(%s,&idn);scanf(%s,&pwn);scanf(%s,&sfn);scanf(%s,&phn);scanf(%s,&sexn);cashn=0;zhn=zhn-1+1;p

21、rintf(您的卡号是%dn,zhn);printf(是否继续办理?(0:是1:否)n);scanf(%d,&f);if(f=1)cd();if(f=0)add();/void cd()printf(请选择所需操作(0:申请会员卡 1:会员消费 2:管理员操作)n);scanf(%d,&s);if(s=0)add();if(s=2)gd();if(s=1)xd();void gd() char str120,str220;int a1=0,g;printf(请输入管理员的ID与密码n);scanf(%s,&str1);scanf(%s,&str2);while(a150) if(strcmp(

22、guana1,str1)=0&strcmp(gpwa1,str2)=0) gdo();break;elsea1+;if(strcmp(guana1,str1)!=0|strcmp(gpwa1,str2)!=0)printf(输入的ID或密码有错误!n);printf(是否继续?(0:是1:否)n);scanf(%d,&g);if(g=0)gd();if(g=1)cd();void gdo() int b,a=0;printf(请选择所需操作:n 0:浏览(修改/删除)会员所有信息n 1:查找会员信息n 2:返回上级菜单n);scanf(%d,&b);if(b=0)printf(卡号 姓名 身份

23、证号 联系电话 性别 已消费金额n);while(a=n) if(strcmp(ida,sfa)!=0)printf(%d %s %s %s %s %.2fn,zha,ida,sfa,pha,sexa,casha);a+; xiu();if(b=2)cd();if(b=1)cha();void cha() int a,b1=0;char str20;printf(选择查找条件: 0:姓名 1:身份证号 2:消费金额 3:直接返回上级菜单n);scanf(%d,&a);if(a=3)gdo();if(a=0) printf(输入要查找的会员姓名n);scanf(%s,&str);/姓名模糊查询:

24、int i=0,l=9;while(i49)if(strstr(idi,str)/模糊查询语句strstr(包含,被包含)若包含则为真值,若不包含则为FALSEprintf(-n);printf(卡号 姓名 身份证号 联系电话 性别 已消费金额n);printf(%d %s %s %s %s %.2fn,zhi,idi,sfi,phi,sexi,cashi);printf(-n);l=8;i+;if(l=9) printf(名称有此字的会员不存在!n);cha();elsegdo();if(a=1) printf(输入要查找的会员名身份证n);scanf(%s,&str);while(b150

25、)if(strcmp(sfb1,str)!=0) b1+; elsebreak;if(b150)printf(-n);printf(卡号 姓名 身份证号 联系电话 性别 已消费金额n);printf(%d %s %s %s %s %.2fn,zhb1,idb1,sfb1,phb1,sexb1,cashb1);printf(-n);gdo();elseprintf(没有此会员!n); gdo();if(a=2) float min,max;int n=0;int p=0;int x=0;printf(请依次输入要查找的最少金额与最大金额n);scanf(%f,&min);scanf(%f,&ma

26、x);while(x=min&cashx=max) strcpy(id1n,idx);strcpy(sf1n,sfx);strcpy(ph1n,phx);strcpy(sex1n,sexx);cash1n=cashx;zh1n=zhx;n+;x+;elsex+;if(n!=0)printf(消费额在min-max之间的会员信息如下n);printf(-n);printf(卡号 姓名 身份证号 联系电话 性别 已消费金额n);while(p49) printf(无此会员!n);break;xiu();while(i49) printf(无此会员!n);xiu();if(i49)printf(输入

27、修改后的信息(此会员的姓名,身份证号,联系电话,性别)n);scanf(%s,&idi);scanf(%s,&sfi);scanf(%s,&phi);scanf(%s,&sexi);gdo();if(j=2)gdo();void xd() int l=0;char str220;int a1=0,str1;printf(请输入会员卡号以及密码n);scanf(%d,&str1);scanf(%s,&str2);while(a149)printf( 输入的会员名称不存在或密码错误!返回上级菜单!n);cd();if(l=1)xf(a1);void xf(int s1) float k;int o;printf(请输入您的此次消费:);scanf(%f,&k);cashs1=cashs1+k;printf(是否要继续消费?(0:是1:否)n);scanf(%d,&o);if(o=1) int g;printf(是否查看消费信息(0:是1:否)n);scanf(%d,&g);if(g=0)printf(卡号 姓名 身份证号 联系电话 性别 已消费金额n);printf(%d %s %s %s %s %.2fn,zhs1,ids1,sfs1,phs1,sexs1,cashs1);cd();if(g=1)cd();if(o=0)xf(s1);21

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922