课程设计-客户积分管理系统_第1页
课程设计-客户积分管理系统_第2页
课程设计-客户积分管理系统_第3页
课程设计-客户积分管理系统_第4页
课程设计-客户积分管理系统_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编号课程设计报告2015 2016学年 第二学期客户积分管理系统实习 类 别课程设计学 生 姓 名xxx专业软件工程学号xxxxxxxxxx指导 教 师何巍、刘丹学院 计算机科学技术学院二一六年十二月长春理工大学计算机科学技术学院课程设计报告- -耑新新- -起止周17 18周数实习地点南研 1213/1208/1201 实验室课程设计目的:数据结构是为了将实际问题中所涉及的对象在计算机中表示出来并对它们进行处理。 通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。通过此次软件基础算法课程设计主要达到以下目的:了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设

2、计能力;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;训练学生用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。课程设计要求:1 、独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。2、做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。3、实践设计以实际应用中的小型题目为主,要求学生独立完成或合作完成。要求学生能根据不同的题目类型选择一种或两种开发模式,完成从系统定义

3、,指定开发计划,需求分析,设计,编码/测试,直至运行/维护的软件生存期的全过程。完成课程设计题目客户积分管理系统进度安排及主要内容:第一周:调研;需求分析及总体设计;规范化数据结构模型;设计数据结构。第二周:详细设计及测试;使用具体语言实现算法;调试程序;编写课程设计报告。成绩:指导教师(签字)月日一、概述在我们的生活中,很多超市、酒店等都有vip 卡,可以通过记录客户每次的消费情况计以积分,并根据不同的消费情况还会给予客户不同程度的优惠,以此方式来激励客户进行更多的消费,而商家需要一个可以做客户积分管理的系统来帮助其完成计入积分、计算折扣等操作。在这样的理念下,本程序实现了一个小型的客户积分

4、管理系统,可针对客户的消费情况,进行客户管理,并且根据客户的消费积分对客户实行不同的优惠。二、需求分析题目要实现一个客户积分管理系统,因其经常需要进行增删客户,故经考虑,应选取链式结构作为其存储结构,从而减少增删过程中频繁进行大量数据 移动。三、技术方案在 Windows7 平台下,利用Microsoft Visual Studio2010,以C+为主体,在数据结构的理论指导下,通过使用链表这种存储结构,实现对客户积分信息的管理,实现了一个简易的客户积分管理系统,可以通过客户积分对客户进行不同的折扣优惠和相关信息的管理。四、总体设计在使用系统过程中,我们需要根据客户的情况对客户进行一系列的操作

5、:添加客户、查找客户、删除客户、修改客户等,其对应着链表的增加节点、查找特定节点、 删除节点、修改节点信息等,我们通过对链表节点的操作来实现对客户信息的管理,从而进行一系列的操作。五、详细设计客户积分管理系统的功能模块程序主要分为六大功能模块:添加客户、查找客户、删除客户、修改客户、显示所有客户、统计客户,通过这六大模块可对客户积分进行管理。程序的业务流程开始输出主菜单No输入 XX0执行对应函数YesNo结束图 -2具体功能实现主菜单界面在控制台上显示所能进行的操作及对应的编号(如图-3),并提示输入根-3添加客户信息给链表添加节点从而实现添加客户信息,节点信息包括姓名、ID、消费金1 时,

6、进入该功能函数,依次要求输入后再次进入主菜单并提示输入一个数字选择后续操作。运行过程如图-4 所查找客户信息通过对链表节点的遍历并进行节点ID 匹配进行查找对应客户,当查找成之后进入主菜单界面并提示输入一个数字选择后续操作。运行情况如图-5 所示。修改客户信息通过 ID 找到对应客户修改其信息,在消费情况上可选择覆盖以前消费或然后显示出修改后的客户信息;若系统中没有该ID, 则提示后程序进入主菜单并提示输入一个数字选择后续操作。如图 -6 所示。开始输入姓名姓名为空?Yes输入 IDNoID 编码合法?Yes结束NoID合法?输入消 费金额输出客 户信息开始输入 IDYes显示查找结果开始输入

7、 ID NoID合法?Yes输出客 户信息输入修改 后的内容输出客户信息结束图 -6删除客户信息通过 ID 找到对应客户,然后输出其信息,经过确认之后删除其信息。之后进入主菜单界面并提示输入一个数字选择后续操作。显示所有客户遍历输出所有节点信息,在链表不为空的情况下while(p-next!=NULL)p=p-next;cout姓名:nameendl;cout身份证号:IDendl;cout消费:setprecision(2)consumeendl;cout积分:integerinteger);cout折扣: y 折 next!=NULL)p=p-next;cout姓名: nameendl;c

8、out身份证号:IDendl;cout消费: setprecision(2)consumeendl;cout积分:integerinteger);cout折扣: y 折 next!=NULL)p=p-next;i+;cout现有客户数量为i 位 !endl;之后进入主菜单页面并提示输入一个数字选择后续操作。六、软件测试1 测试方案依次测试程序的相关功能,对每个功能都进行多次测试,并记录测试结果。对每个功能的各输入项进行不同格式的输入,检测其是否可以按预期运行,测试程序的健壮性和可行性。2 测试用例及测试结果添加客户首先输入姓名,之后输入身份证号码,当输入的身份证号不足18 位或者不符合身份证号

9、编码规则时,提示所输入的格式不正确,并要求重新输入,如图 -8 所示。当身份证号码输入正确后,要求输入消费金额,之后输出并进入主菜单界面,如图-9 所示。长春理工大学计算机科学技术学院课程设计报告其余测试属于及测试情况如表-1 所示- -长春理工大学计算机科学技术学院课程设计报告其余测试属于及测试情况如表-1 所示- -8图 -9耑新新-10- -耑新新-10- # -表 -1 添加客户信息测试数据及测试情况测试项测试数据内容程序反应姓名为空需要重新输入Adad读入成功Daads1331读入成功ID411141241要求重新输入411233aaaaaaaaaaaaa1要求重新输入4112091

10、98706233011读入成功41121019900989112S要求重新输入41120919870987789X读入成功消费情况19.8 折30009.8折132329.2折1432337折60009.5折90009.5折170009折240008折查找客户-10,提示“没有客户!”。长春理工大学计算机科学技术学院课程设计报告- -耑新新- -当身份证号输入不正确时,提示输入格式不正确,并要求重新输入。当身ID 的字符串匹配,当不存在该ID 时,系统提示不存在该客户;当查询成功时,输出对应客户的相关信息,如-7 所示。图 -11修改客户当链表为空时,提示没有客户。当链表不为空时,提示输入要修

11、改的客户ID,若没有此客户,则提示不存在此客户!反之,输出该客户信息,并提示-12 所示-12删除客户当链表为空时,提示没有客户。当链表不为空时,提示输入要删除的客户ID,进行 ID 匹配,若找不到提示不存在该客户,反之,显示对应客户信息,“取消”的选择,操作之后进入主菜单,-13 所示。图 -13显示客户当链表为空时,提示没有客户,反之依次输出所有客户信息。之后进入主统计客户链表为空时,显示“没有客户”,反之提示客户数目。在程序刚开始时,由于节点中包括string 类型,利用malloc 开辟空间,string 对象未进行实例化,从而引发内存使用问题在上网查资料和认真思考之后,改 mallo

12、c 为使用 newNew和 malloc 都具有按需开辟空间的功能,但new同时调用构第一次使用Visio ,刚开始画出的图出现这样那样的问题,经过几次制作Visio 是一个很强大的工具。附录 1参考文献 TOC o 1-5 h z Stephen Prata C+ Primer Plus 第 6 版 M 北京:人民邮电出版社,2012.stpeace 聊聊 malloc 和 new 的区别当malloc 和 string 相遇时,容易出错 HYPERLINK /stpeace/article/details/41663381 /stpeace/article/details/41663381

13、 , 2014-12-02Thomas H.Cormen Charles E.Leiserson Ronald L.Rivest Clifford Stein. 算法导论第3 版M 北京:机械工业出版社,2013.谭浩强C+程序设计M 北京:清华大学出版社,2011.附录 2程序主要代码/* *客户消费积分管理系统的设计与实现针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。1 、采用一定的存储结构进行客户信息的存储;2 、对客户的信息可以进行修改、删除、添加;3 、能够根据消费情况进行客户积分的累加4 、根据积分情况,对客户实行不同程度的打折优惠;*/#inc

14、lude#include#include stdlib.h#includeusing namespace std;bool isID(string &);typedef struct cnodechar name20;string ID;double consume;double integer;struct cnode *next;cnode;void Initstack(cnode * &head)/* 初始化链表*/head= new cnode(); /开辟节点空间 head-next=NULL;void Getelem (cnode *head);void Search(cnode

15、*head,string &ID);void Amend(cnode *head,string &ID);void Delete(cnode *head,string &ID);void Showall(cnode *head);void count(cnode *head);double display_discount(double integer);int main()cnode *head;int choice;string y;Initstack(head); do coutendl;cout客户消费积分管理系统endl;cout*endl;cout*endl;cout*主菜单*en

16、dl;cout*1添加客户*endl;cout*2查找客户*endl;cout*3修改客户*endl;cout*4删除客户*endl;cout*5显示客户*endl;cout*6统计客户*endl;cout*7退出*endl;cout*endl;cout*endl;/查找/显示/添加coutchoice;if(choice=1)Getelem(head);else if(choice=2)couty;isID(y);Search(head,y);else if(choice=3)couty;isID(y);Amend(head,y);/修改else if(choice=4)couty;isID

17、(y);Delete(head,y);/删除else if(choice=5)Showall(head);else if(choice=6)count(head);/统计else if(choice=7) exit(1);while(choicenext=new cnode;/*申请空的节点空间*/p-ID= ;coutp-name;coutp-ID;isID(p-ID);coutp-consume;p-integer=p-consume/100;cout积分: integerinteger);/调用函数计算折扣cout折扣 :/*setprecision(1)*/y 折 next=head-

18、next;head-next=p;void Search(cnode *head,string &ID)cnode *p=new cnode;double y;p=head;if(p-next=NULL)cout没有客户!next!=NULL)p=p-next;if(ID=p-ID)/判断身份证号是否相同cout姓名:nameendl;cout身份证号:IDendl;cout消费:/*setprecision(2)consumeendl;长春理工大学计算机科学技术学院课程设计报告- -耑新新- -cout积分:integerinteger);cout折扣/*setprecision(1)*/y

19、 折 endl;return;cout不存在该客户!next=NULL)cout没有客户!next!=NULL)p=p-next;if(ID=p-ID) /判断身份证号是否相同cout姓名:nameendl;cout身份证号:IDendl;cout消费:/*setprecision(2)*/consumeendl;cout积分:/*setprecision(1)integerinteger);cout折扣:/*setprecision(1)*/y 折 endl;费金额。coutchoose;if(choose=1)coutp-name;if(choose=2)coutp-ID;isID(p-I

20、D);if(choose=3)coutx;if(x=1)coutp-consume;elseprintf(请输入续加金额:);cinz;p-consume+=z;cout姓名:nameendl;cout身份证号:IDendl;cout消费:/*setprecision(2)consumeinteger=p-consume/100.0;cout积分:integerinteger);cout折扣:/*setprecision(1)*/y 折 endl;return;cout不存在该客户!next=NULL)cout没有客户!next!=NULL)head=p;p=p-next;if(ID=p-ID

21、)/判断身份证号是否相同cout姓名:nameendl;cout身份证号:IDendl;cout消费:/*setprecision(2)*/consumeendl;cout积分:integerinteger);cout折扣:/*setprecision(1)*/y 折 endl;coutx;if(x=1)head-next=p-next;cout(删除成功!);elsecout删除失败!;return ;长春理工大学计算机科学技术学院课程设计报告- -耑新新- -cout不存在该客户!next=NULL)cout没有客户!next!=NULL)p=p-next;cout姓名:nameendl;cout身份证号:IDendl;cout消费:/*setprecision(2)consumeendl;cout积分:integerinteger);cout折扣:/*setprecision(1)*/y 折 next=NULL)cout没有客户!next!=NULL)p=p-next;i+;cout现有客户数量为i 位 ! 0&points 50&points 100&points 150&points 200&points 300)discount = 7;return discount;int cal(stri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论