数据结构课程设计客户积分系统方案

上传人:鲁** 文档编号:506452605 上传时间:2023-08-09 格式:DOCX 页数:15 大小:124.75KB
返回 下载 相关 举报
数据结构课程设计客户积分系统方案_第1页
第1页 / 共15页
数据结构课程设计客户积分系统方案_第2页
第2页 / 共15页
数据结构课程设计客户积分系统方案_第3页
第3页 / 共15页
数据结构课程设计客户积分系统方案_第4页
第4页 / 共15页
数据结构课程设计客户积分系统方案_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《数据结构课程设计客户积分系统方案》由会员分享,可在线阅读,更多相关《数据结构课程设计客户积分系统方案(15页珍藏版)》请在金锄头文库上搜索。

1、.专业整理.录(参考)1系统分析 11.1 课程设计容 21.2系统功能需求分析 31.3数据结构设计 42系统设计 52.1总体设计 52.2各功能模块的设计 62.2.1 62.2.2 72.2.3 82.2.4 92.2.5 102.2.6 112.2.7 122.2.8 132.2.9 143系统调试 154总结 205参考文献 22附录(源代码)1系统分析1.1课程设计容客户消费积分管理系统 系统,功能包括:1、采用动态分配顺序表存储客户信息,并用文件保存和读写数据2、能对客户信息进行添加、查询、修改、删除等基本操作3、根据客户消费额,合理计算出客户消费所得积分4、根据客户积分值,实

2、行不同情况的优惠(即计算折扣)客户消费积分管理系统 系统的性能需求:速度:系统整体运行要流畅,响应时间不能太长,不能出现系统卡死情况,能满 足使用者普通操作。安全性:系统涉及使用者的利益,为了防止造成使用者财产损失,应加强系统安 全性检测,特别是后台文件的保密。精度:系统中涉及到折扣和积分的计算一定要注意精度要求,特别是折扣,应采用高精度数据类型,积分使用整型。容量:随着客户数的增多,系统容量不断增加,显然为满足容量需求,应采用动 态分配存储空间辅以后台文件存储数据。1.2系统功能需求分析功能需求:商家(软件使用者)可以进行添加、查询、修改、删除客户信息,查看客户信 息存储文件,其中包括客户编

3、号、客户、客户消费积分值、客户享受的优惠(折扣)。客户管理:客户信息包括客户编号、客户、客户消费积分值、客户享受的优惠(折扣)。积分管理:主要包括积分计算、积分更新、积分清零操作。积分计算:根据客户的一次性 消费额,计算增加的积分值,记录客户本次消费使用的积分值;积分更新:每次消费后,商 家根据客户消费增加的积分值以及使用的积分值计算剩余积分;积分清零:在年底,商家可以通过该操作将所有用户积分清零。折扣管理:根据客户本次消费额和客户已有积分值,计算客户本次消费所享受的优惠,即折扣。具体规则:积分值大于 2000,享受6折优惠;积分值大于 500小于2000,享受7折 优惠;积分值大于 200小

4、于500,享受8折优惠;积分值大于 50小于200,享受9折优惠。.学习帮手.1.3数据结构设计Customer (客户)定义: typedef structchar no10;/char n ame5;float poin ts;/float disco unt;/Customer;顺序表定义:#define listinitsize 10#defi ne list in creme nt 10 typedef structCustomer * elem;int len gth;/int listsize;/SqList;void InitSq(SqList &L)/客户编号积分折扣当前长度

5、当前分配的存储容量动态分配顺序表存储空间L.elem=(Customer*)malloc(list in itsize*sizeof(Customer); if(!L.elem)prin tf(Not able to allocate memory. n);exit(1);L.le ngth=0;L.l istsize=listi ni tsize;2系统设计2.1总体设计2.2各功能模块的设计2.2.1 主函数 main()动态获取表空间,初始化顺序表,打开文件将客户数据加载入表中,进行 表操作,操作结束将表数据保存到文件,文件关闭。2.2.2 客户信息添加遍历当前顺序表,若待添加的用户编号

6、已存在,则返回用户已存在的提示 信息;若待添加的用户不存在,则将该客户信息添加到顺序表最后,并将顺序表长度加1。2.2.3 客户信息删除遍历当前顺序表,若要删除的用户标号不存在,则返回提示信息;否则提 示用户是否确定删除,确定即删除。删除操作即将待删除记录的后面记录依次向前移动1步。2.2.4 客户信息更新遍历当前顺序表,若待更新的用户编号不存在,则返回用户不存在的提示信息; 若待添加的用户存在,则提示输入新的信息。225 查找客户信息226 显示客户信息 遍历顺序表,返回客户信息2.2.7消费积分清零遍历顺序表,将积分与折扣赋值为0;2.2.8 积分计算int points_cal(floa

7、t consume) /积分计算规则if(con sume=0) con s=0;else if(con sume=500) cons =con sume/10; else if(con sume=2000) cons =(co nsume-500)/8+50;else if(con sume=5000) co ns =(co nsume-2000)/6+237;else cons =(c on sume-5000)/5+737;retur n cons;2.2.9 折扣计算double Discount(int discount) /折扣的计算规则if(m=0) disco un t=10;

8、else if(m=50) disco unt =10;else if(m=200) disco unt =9;else if(m=500) disco unt =8;else if(menT s and SetTincsX&dBinist ralorXJ面卜胡廝春积分撰作Debu(l.I 择人;4;sa1A:信 S 择入:2 选ir嗒SI二息:信Sr.操宮ill 择扎:3:1 B01 请王扇姓3. 测试删除模块回择操作匚2顾客信目出矗写辛r- 匸恶円和已击口巧ktop详琴设计C90旳菇吕EVZ少戏夸冃分堡怜.Debug启“首谱 一 WB客存一砰八 找囊岀“ 亘口亶一 一一 二 4 5 & 0

9、 -OT5AJZ:息8S0警0.择客丄送有KU甯1! uang ld.U U t Ilu 1Q,A aL s.un 1G. Q 9xii 18.3 0 wang 13.0 E sun 丄8.B B4. 测试更新模块-C ::3円叩已第$ kto p特琴我计090了。3 3呂冷Z小氐客冃分摄年门ebug l.e:te逼L-2-Hi-s&-B-费目曙三口的 B mJlis息息一昔户 k膛离足中収蛋忏 舊有畐 顷顾顾顾t 巳诰豆TRT出 择箭更查杲退 总一 一一一:一一 _!_OT5+.-息 磴;. 操户d.11Q搽客丄 送有Xu壽 甯丄2 43率 =J 作薛的 操所S 择麻2 :分 号和 茁增 曲

10、E S锁厶4竣二弦性苗费的金臥&yo 博各更新后的信息:2 Wang 9-0 62呂 at u u k w war at ua irxafatKK ar 馆选择操作其他模块测试类似。本次课程设计,是我发现了很多不足,比如:1. 软件设计阶段考虑不充分,导致编码时随机性大,方向性不明确;2. 存储结构的选择分析不够充分,没有考虑其它可行的存储实现(只用了动 态数组);3. 设计的系统安全性方面未能达到极高级别(后台文件可以随意更改);此外,在系统调试阶段,我发还现了很多细节方面的不足,使我认识到设计 一个系统并非想象中那么简单,而是需要考虑各个方面结果的。通过本次课程设计,我加深了对顺序存储结构

11、的理解,更加熟悉了顺序表的 基本操作,还有文件读写方面的知识得到了回顾。通过客户积分系统软件的设计, 我基本熟悉了一般的软件开发流程,认识到前期设计的重要性与盲目编代码错误 观点。总的来说,本次课程设计获益匪浅,既是对书本所学知识的回顾,更是对 课本所学知识的运用。5参考文献1 严蔚敏,吴伟民数据结构 M清华大学出版社,2005.2 何钦铭,颜晖.C语言程序设计.M高等教育出版社,2008.附录源代码:#in clude#in clude #in cludetypedef structchar no10;/客户编号 char name5;float poin ts;/积分float disco

12、u nt; /折扣Customer;#define listinitsize 10#defi ne list in creme nt 10typedef structCustomer * elem;int len gth;/当前长度 int listsize; /当前分配的存储容量SqList;void In itSq(SqList & L)L.elem=(Customer *)malloc(listi nitsize*sizeof(Customer); /动态分配顺序表存储空间if(!L.elem)prin tf(Not able to allocate memory. n );exit(1);L.len gth=O;L.li stsize=list in itsize;int main (void)void Add(SqList & L);void Show(SqList & L);void Delete(SqList & L);void update(SqList & L);void Query(SqList & L);void Reset(SqList & L);SqList L;lnitSq(L);char ch; Cust

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

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号