当前位置:文档之家› 数据结构课程设计客户积分系统

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

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

目录(参考)

1 系统分析 (1)

1.1 课程设计内容 (2)

1.2 系统功能需求分析 (3)

1.3 数据结构设计 (4)

2 系统设计 (5)

2.1 总体设计 (5)

2.2 各功能模块的设计 (6)

2.2.1 (6)

2.2.2 (7)

2.2.3 (8)

2.2.4 (9)

2.2.5 (10)

2.2.6 (11)

2.2.7 (12)

2.2.8 (13)

2.2.9 (14)

3 系统调试 (15)

4 总结 (20)

5 参考文献 (22)

附录(源代码)

1 系统分析

1.1 课程设计内容

客户消费积分管理系统系统,功能包括:

1、采用动态分配顺序表存储客户信息,并用文件保存和读写数据

2、能对客户信息进行添加、查询、修改、删除等基本操作

3、根据客户消费额,合理计算出客户消费所得积分

4、根据客户积分值,实行不同情况的优惠(即计算折扣)

客户消费积分管理系统系统的性能需求:

速度:系统整体运行要流畅,响应时间不能太长,不能出现系统卡死情况,能满足使用者普通操作。

安全性:系统涉及使用者的利益,为了防止造成使用者财产损失,应加强系统安全性检测,特别是后台文件的保密。

精度:系统中涉及到折扣和积分的计算一定要注意精度要求,特别是折扣,应采用高精度数据类型,积分使用整型。

容量:随着客户数的增多,系统容量不断增加,显然为满足容量需求,应采用动态分配存储空间辅以后台文件存储数据。

1.2 系统功能需求分析

功能需求:商家(软件使用者)可以进行添加、查询、修改、删除客户信息,查看客户信息存储文件,其中包括客户编号、客户姓名、客户消费积分值、客户享受的优惠(折扣)。

客户管理:客户信息包括客户编号、客户姓名、客户消费积分值、客户享受的优惠(折扣)。

积分管理:主要包括积分计算、积分更新、积分清零操作。积分计算:根据客户的一次性消费额,计算增加的积分值,记录客户本次消费使用的积分值;积分更新:每次消费后,商家根据客户消费增加的积分值以及使用的积分值计算剩余积分;积分清零:在年底,商家可以通过该操作将所有用户积分清零。

折扣管理:根据客户本次消费额和客户已有积分值,计算客户本次消费所享受的优惠,即折扣。具体规则:积分值大于2000,享受6折优惠;积分值大于500小于2000,享受7折优惠;积分值大于200小于500,享受8折优惠;积分值大于50小于200,享受9折优惠。

1.3 数据结构设计

Customer(客户)定义:

typedef struct{

char no[10]; //客户编号char name[5];

float points; //积分

float discount; //折扣

}Customer;

顺序表定义:

#define listinitsize 10

#define listincrement 10

typedef struct

{

Customer * elem;

int length; //当前长度

int listsize; //当前分配的存储容量}SqList;

void InitSq(SqList &L){ //动态分配顺序表存储空间 L.elem=(Customer*)malloc(listinitsize*sizeof(Customer)); if(!L.elem){

printf("Not able to allocate memory.\n");

exit(1);

}

L.length=0;

L.listsize=listinitsize;

}

2 系统设计

2.1 总体设计

2.2 各功能模块的设计

2.2.1 主函数main()

动态获取表空间,初始化顺序表,打开文件将客户数据加载入表中,进行表操作,操作结束将表数据保存到文件,文件关闭。

2.2.2客户信息添加

遍历当前顺序表,若待添加的用户编号已存在,则返回用户已存在的提示信息;若待添加的用户不存在,则将该客户信息添加到顺序表最后,并将顺序表长度加1。

2.2.3客户信息删除

遍历当前顺序表,若要删除的用户标号不存在,则返回提示信息;否则提示用户是否确定删除,确定即删除。

删除操作即将待删除记录的后面记录依次向前移动1步。

2.2.4 客户信息更新

遍历当前顺序表,若待更新的用户编号不存在,则返回用户不存在的提示信息;若待添加的用户存在,则提示输入新的信息。

2.2.5查找客户信息

2.2.6 显示客户信息

遍历顺序表,返回客户信息

2.2.7 消费积分清零

遍历顺序表,将积分与折扣赋值为0;

2.2.8 积分计算

int points_cal(float consume) //积分计算规则{

if(consume<=0) cons=0;else if(consume<=500) cons =consume/10; else if(consume<=2000) cons =(consume-500)/8+50;

else if(consume<=5000) cons =(consume-2000)/6+237;

else cons =(consume-5000)/5+737;return cons;

}

2.2.9 折扣计算

double Discount(int discount) //折扣的计算规则{

if(m<=0) discount=10;else if(m<=50) discount =10;

else if(m<=200) discount =9;else if(m<=500) discount =8;

else if(m<=2000) discount =7;else discount =6;

return discount;

}

3 系统调试1. 运行客户消费积分管理系统,主菜单如下:

2.调用添加客户模块,添加客户信息

3.测试删除模块

4.测试更新模块

其他模块测试类似。

4 总结

本次课程设计,是我发现了很多不足,比如:

1.软件设计阶段考虑不充分,导致编码时随机性大,方向性不明确;

2.存储结构的选择分析不够充分,没有考虑其它可行的存储实现(只用了动态数组);

3.设计的系统安全性方面未能达到极高级别(后台文件可以随意更改);

此外,在系统调试阶段,我发还现了很多细节方面的不足,使我认识到设计一个系统并非想象中那么简单,而是需要考虑各个方面结果的。

通过本次课程设计,我加深了对顺序存储结构的理解,更加熟悉了顺序表的基本操作,还有文件读写方面的知识得到了回顾。通过客户积分系统软件的设计,我基本熟悉了一般的软件开发流程,认识到前期设计的重要性与盲目编代码错误观点。总的来说,本次课程设计获益匪浅,既是对书本所学知识的回顾,更是对课本所学知识的运用。

5 参考文献

[1] 严蔚敏,吴伟民.数据结构. [M]清华大学出版社,2005.

[2] 何钦铭,颜晖.C语言程序设计. [M]高等教育出版社,2008.

附录

源代码:

#include #include #include

typedef struct{

char no[10]; //客户编号 char name[5];

float points; //积分 float discount; //折扣

}Customer;

#define listinitsize 10 #define listincrement 10

typedef struct {

Customer * elem;

int length; //当前长度 int listsize; //当前分配的存储容量

}SqList;

void InitSq(SqList &L){

L.elem=(Customer *)malloc(listinitsize*sizeof(Customer)); //动态分配顺序表存储空间

if(!L.elem){

printf("Not able to allocate memory.\n");exit(1);}

L.length=0; L.listsize=listinitsize;

}

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;InitSq(L);

char ch; Customer * newbase; FILE *fp;

if((fp=fopen("1.txt","r"))==NULL){

printf("File open error!\n"); exit(0);}

Customer customer; int c=0,f; ch=fgetc(fp) ;rewind(fp);

if(ch==EOF) printf("文件为空!\n");

else{

fscanf(fp,"%s%s%f%f",customer.no,https://www.doczj.com/doc/a216546159.html,,&customer.discount,&customer .points);

while(!feof(fp)){

L.elem[c]=customer; c++; L.length++;

fscanf(fp,"%s%s%f%f",customer.no,https://www.doczj.com/doc/a216546159.html,,&customer.discount,&customer .points);

if(L.length>=L.listsize){

newbase=(Customer

*)realloc(L.elem,(L.listsize+listincrement)*sizeof(Customer));

if(!newbase){

printf("Not able to allocate memory.\n");exit(1);}

L.elem=newbase; L.listsize+=listincrement;}

}}

printf("输入你要选择的操作:\n\t1-添加顾客信息\n\t2-删除顾客信息\n\t3-更新顾客信息\n\t4-查找顾客信息\n\t5-显示所有顾客信息\n\t6-清零所有客户的消费积分

\n\t0-退出\n");

printf("*****************************\n请选择操作:");scanf("%d",&f);

while(f!=0){

switch(f){

case 1: Add(L);break;case 2:Delete(L);break;case 3:update(L);break;

case 4:Query(L);break;case 5:Show(L);break;case 6:Reset(L);break;

default: printf("请输入正确的操作!\n"); break;}

printf("*****************************\n请选择操作:");scanf("%d",&f);}

if(fclose(fp)){

printf("Can not close the file error!\n");exit(0);}

if((fp=fopen("1.txt","w+"))==NULL){

printf("File open error!\n");exit(0);}

for(int i=0;i

fprintf(fp,"%s %s %.1f %.0f\n",L.elem[i].no,L.elem[i].name,L.elem[i].discount,L .elem[i].points);

if(fclose(fp)){

printf("Can not close the file error!\n");exit(0);}

return 0;

}

void Add(SqList &L){

int z=L.length; Customer customer;

printf("请输入客户信息:\n");

printf("编号:"); scanf("%s",customer.no);

for(int i=0;i

if(strcmp(L.elem[i].no,customer.no)==0){

printf("编号已存在,请重新输入:"); scanf("%s",customer.no); i=0; }

printf("姓名:"); scanf("%s",https://www.doczj.com/doc/a216546159.html, );

customer.discount=10; customer.points =0; L.elem[z]=customer;L.length++;

}

void Show(SqList &L){

for(int i=0;i

printf("%s %s %.1f %.0f\n",L.elem[i].no,L.elem[i].name,L.elem[i].discount,L .elem[i].points);

}

void Query(SqList &L){ char no3[10];

int i;

printf("输入要查询的顾客编号:"); scanf("%s",no3);

for( i=0;i

if(strcmp(L.elem[i].no,no3)==0){

printf("%s %s %.1f %.0f\n",L.elem[i].no,L.elem[i].name,L.elem[i].discount,L.ele m[i].points);

break;}

if(i>=L.length) printf("没有该顾客信息!\n");

}

void Delete(SqList &L){

char no1[10],xx; int cc=1;

printf("输入你要删除的顾客的编号:"); scanf("%s",no1);

printf("您确定要删除%s号客户的信息吗?\n确定-Y,取消-N:",no1);

scanf("%s",&xx);

if(xx=='Y'||xx=='y'){

for(int i=0;i

if(strcmp(L.elem[i].no,no1)==0){

for(int j=i;j

L.length--; printf("顾客信息删除完毕!\n"); cc=0;}

if(cc==0) break;}

if(i>=L.length) printf("您所要删除的顾客信息不存在或已删除!\n");} else if(xx=='N'||xx=='n') printf("您的删除操作已取消!\n");

}

int points_cal(float consume){ //积分计算规则

int ss=0;

if(consume<=0) ss=0; else if(consume<=500) ss=consume/10;

else if(consume<=2000) ss=(consume-500)/8+50;

else if(consume<=5000) ss=(consume-2000)/6+237;

else ss=(consume-5000)/5+737;

return ss;}

double Discount(int m){ //折扣的计算规则

double ee;

if(m<=50) ee=10; else if(m<=200) ee=9; else if(m<=500) ee=8; else if(m<=2000) ee=7; else ee=6;

return ee;}

void update(SqList &L){

char no2[10];float sum;int i,x,y;

printf("输入您所要更新顾客的编号:");scanf("%s",no2);

for(i=0;i

if(strcmp(L.elem[i].no,no2)==0) break;

if(i>=L.length) printf("顾客信息不存在。");

else{

printf("选择你要的操作:1-增加积分,2-减少积分:\n");

scanf("%d",&x);

if(x==1){ printf("输入本次一次性消费的金额:"); scanf("%f",&sum);

L.elem[i].points+=points_cal(sum);

L.elem[i].discount=Discount(L.elem[i].points); }

else {

printf("输入本次使用的积分值:"); scanf("%d",&y);

L.elem[i].points-=y;

L.elem[i].discount=Discount(L.elem[i].points);}

printf("顾客更新后的信息:");

printf("%s %s %.1f %.0f\n",L.elem[i].no,L.elem[i].name,L.elem[i].discount,L.ele m[i].points);}

}

void Reset(SqList &L){//清零所有客户的积分

for(int i=0;i

L.elem[i].points=0;L.elem[i].discount=10;} }

CRM客户关系管理系统建设方案(完整版)

CRM 客户关系管理系统 建设方案 商务代表:沈言炎 2013年11月5日 本本方方案案未未经经许许可可,,不不得得转转载载;;违违者者必必究究!! 目录

一、全局模块功能 (5) 1.1基于三层体系构架 (5) 1.2关联菜单设计 (6) 1.3自定义表单扩展 (6) 1.4技术领先的流程自动化组件 (7) 1.5支持标准文档格式和Office在线编辑控件 (7) 1.6目标任务的管理模式 (7) 1.7多种方式协作交流 (8) 1.8全文检索技术对所有文章进行检索,查找,以便快速找到用户需要的信息。9 1.9报表、图表和分析决策 (9) 1.10灵活可靠的权限控制组合 (9) 1.11自定义字段扩展 (9) 二、客户管理功能 (10) 2.1客户管理功能实现 (10) 2.2客户信息管理 (10) 2.3联系人信息管理 (11) 2.4潜在客户管理 (11) 2.5客户关怀管理 (11) 2.6客户满意度 (12) 2.7客户请求及投诉 (12) 2.8客户信用评估 (12) 2.9在线捕获潜在客户 (13) 2.10客户统计 (13) 2.11行动记录 (13) 三、服务管理功能 (13) 3.1客户服务工作自动化 (13) 3.2合作伙伴入口 (13) 3.3客户服务知识库 (14) 3.4客户反馈管理 (14) 3.5一对一服务 (15) 3.6与呼叫中心集成 (15) 3.7客户服务知识库 (15) 3.8服务资源 (16) 四、事件日程功能 (16) 4.1个人日程安排 (16) 4.2实时任务和事件日程查询 (16) 4.3事件计划 (17) 五、审批流程功能 (17) 5.1流程审批的常用审批表单 (17) 5.2图形化流程视图 (18) 5.3基于模板的流程定义 (18)

数据结构课程设计题目

数据结构课程设计 一、教学目的和要求 课程设计是加强学生实践能力的一个强有力手段。综合课设 1主要针对数据结构和 C/C++语言开展 的实践性课程。要求学生掌握数据结构的应用、算法的编写、类 C 语言的算法转换成 C ( C++)程序并 上机调试的基本方法。 课程设计要求学生在完成程序设计的同时能够写出比较规范的课程设计报告。 培 养学生综合运用所学理论知识解决复杂实际问题的实践能力、研究性学习能力和团队合作能力。 、课程设计要求 1、 选好题目: 每题一人, 每班每个题目只允许一人选做 ,学习委员将选题情况在课设第一天统计上交。 2、 课设报告 独立思考,独立完成: 课设报告出现雷同超过 60% ,不论什么原因,一律不及格。 班和班之间,相同题目的同学,可以组成小组,相互讨论,共同完成课程设计中各任务的设计和调试 要求。小组成员间, 算法思路可以相同, 程序可以类似, 但不能完全一样。 课设报告不能雷同超过 60% 。 3、 做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置 方法,准备好有关的文件。 4、 设计要点: ⑴需求分析: 在该部分中叙述总共几个模块,每个模块的功能要求。 ⑵系统设计 总体设计:定义某个数据结构的抽象数据类型及其他算法的功能说明。 详细设计:在此定义存储结构,每个部分的算法设计说明(建议描述算法采用流程图) 。 ⑶编码实现 各个算法实现的源程序,对每个题目要有相应的源程序(每个功能模块采用不同的函数实现) 。源程 序要按照程序的规则来编写, 要结构清晰, 重点函数的重点变量, 重点功能部分要加上清晰的程序注释。 程序能够运行,要有基本的容错功能,尽量避免出现操作失误时出现死循环。 ⑷调试分析 给出实现功能的一组或多组测试数据, 程序调试后, 将按照此测试数据进行测试的结果列出来。 时间 复杂度分析,每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?) ,算法的改进设 想。 ⑸课设总结: 课程设计过程的收获、 遇到问题、 遇到问题解决问题过程的思考、 程序调试能力的思考、 对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容。 5、 实现的结果必须进行检查和演示; 程序源代码和程序的说明文件必须上交, 作为考核内容的一部分; (上交时文件夹的取名规则为: “课设题目( *** 设计完成) ”,如“资源管理系统的设计与实现(张三设 计完成) ”。该文件夹下包括三个目录: “源代码 ”、 “可执行文件 ”、 “张三 _课程设计报告 ”。由学习委员 按规定时间统一上交) 。 6、报告提交 形式:纸介质(要求B5纸张打印,加封皮)和电子文档。 三、考核方法和内容 根据课程设计过程中学生的学生态度、 题目完成情况、 课程设计报告书的质量和回答问题的情况等 按照 10%、 40%、 30%、 20% 加权综合打分。成绩评定实行优秀、良好、中等、及格和不及格五个等级。 评分标准: 任务书( 签名,把题目要求贴在相应位置,注意下划线 ) ---------- 目录(注意目录的格式,页码) -------- 1、设 计任务( 题目要求 ) ---- 2 、需求分析( 准备选用什么数据逻辑结构?数据元素包含哪些属性?需要哪 些函数?为什么要这样设计?最后列出抽象数据类型定义 ) ----------- 3 、系统设计( 设计实现抽象数据类型, 包含选择什么物理存储方式?数据元素的结构体或类定义,以及各函数的设计思路,算法,程序流程 图等 ) 4 、编码实 现( 重要函数的实现代码 ) --------------------------- 5 、调试分析( 选择多组测试数据、运行截图、结 果分析 ) ---- 6、课设总结( 心得体会 ) ----- 7 、谢辞 8 、参考文献; 课设报告打印要求: B5纸张打印,报告总页数控制在 10—15页内,报告中不能全是代码, 报告中代码总量控制在150行内。 版式:无页眉,有页码,页码居中 优秀: 答辩所有问题都能答出 良好: 答辩所有问题都能答出 中等: 答辩大部分问题能答出 及格: 答辩大部分问题能答出 不及格:答辩几乎答不出问题 课设报告的装订顺序如下: + 报告良好 +报告一般 + 报告良好 +报告一般 或者 报告几乎都是代码 或者 雷同部分达到 60%

客户消费积分管理系统 课程设计

数据结构 课程设计报告设计题目: 专业软件工程 班级0902班 学生周雷 学号09430225 指导教师张雪

21.客户消费积分管理系统 问题描述:针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实施不同程度的打折优惠。 1.采用一定存储结构进行客户信息存储。 2.对客户信息可以修改、删除、添加。 3.能够根据消费情况进行客户积分计算。 4.根据积分情况实行不同程度的打折优惠。 1.本程序对于客户消费积分管理系统利用线性表的链表存储方式,使用结构体指针将每一个用户联系起来。使用结构体指针的链表动态链接形式将便于客户的封装,节省空间,便于插入和删除。 2.程序中设计了①添加用户②查找用户③修改用户④删除用户⑤统计客户数量的功能。 3.①添加用户:函数void Getelem (cnode *head);添加用户中,采用结构体将每个用户的信息封装,其中包括用户姓名name、用户省份证号ID、用户消费金额consume、积分integer 的信息。输入一个客户信息后再开辟新的节点连接。开一个空间加一个用户可以节省空间,解决实现开辟的空间不够的问题。 4.②void Search(cnode *head,char ID[]);查找用户利用指针一个一个用户比对信息知道,直到找到正确信息并显示。 5③void Amend(cnode *head,char ID[]);查找并显示然后修改。 6④void Delete(cnode *head,char ID[]);查找显示并删除。 7⑤void Showall(cnode *head);遍历链表并显示客户。 8⑥void count(cnode *head);遍历统计客户数量显示 9⑦double display_discount(double integer);计算客户折扣,每次显示用户信息调用一次保证客户为最新打折信息。 主函数 主菜单①添加用户②查找用户③修改用户④删除用户⑤统计客户数量⑥退出。各个函数通过调用头结点连接。 4.功能模块详细设计、运行结果。

数据结构课程设计题目2010

一、数据结构课程设计要求 1.学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课设的要求。有问题及时主动通过各种方式与教师联系沟通。 2.学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时向教师汇报。 3.课程设计按照教学要求需要两周时间完成,两周中每天(按每周5天)至少要上2小时的上机来调试C 或C++语言设计的程序,总共至少要上机调试程序20小时。属教师安排上机时间学生不得缺席。 二、数据结构课程设计题目 1. 运动会分数统计(限1 人完成) 任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20) 功能要求: 1) 可以输入各个项目的前三名或前五名的成绩; 2) 能统计各学校总分, 3) 可以按学校编号或名称、学校总分、男女团体总分排序输出; 4) 可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 5) 数据存入文件并能随时查询 6) 规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称 输出形式:有中文提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构; 测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明; 2. 飞机订票系统(限1 人完成) 任务:通过此系统可以实现如下功能: 录入: 可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)

数据结构课程设计-学生成绩管理系统

淮阴工学院 数据结构课程设计报告 选题名称:学生成绩管理系统 系(院):数理学院 专业:信息与计算科学 班级:计科1102班 姓名:徐连喜学号: 1104101233 指导教师:周海岩 学年学期:2011 ~ 2012 学年第 1 学期 2012 年06 月06 日

【摘要】 21世纪,科学技术突飞猛进,经济知识和信息产业初见端倪,特别是信息技术和网络技术的讯速发展和广泛应用,对社会的政治,经济,军事,文化等领域产生越来越深刻。学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。本论文叙述到的学生成绩管理系统是用IIS+ASP网页编程+ACCESS数据库+DREAMWEAVER MX 2004+SQL查询语言实现的。重点介绍了学生成绩管理系统的实现过程:包括系统分析,系统调查,功能设计,数据库设计,系统实现,系统测试和调试等。本系统主要功能有查询学生成绩、单个添加学生成绩、批量添加学生成绩、删除学生成绩、管理页面和修改管理员密码等内容。 【关键词】 成绩管理;成绩查询;C++

目录 中文摘要。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 1 1绪论。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 4 1.1 选题背景。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 5 1.2 需求分析。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 6 2总体设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。7 2.1程序设计组成框图。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。8 2.2 模块功能说明。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。9 2.3 程序流程图。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。10 2.4 主要函数之间相互调用。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11 3 在设计过程中的感受。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。12 致谢。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。13 参考文献。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。14附录:源程序清单。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15

客户消费积分管理系统设计与实现教材(DOC49页)

客户消费积分管理系统的设计与实现 客户消费积分管理系统 摘要:客户消费积分管理系统开发的总体目标是实现酒吧会员卡的积分和打折管理。主要是通过对客户积分卡积分的统计,再通过不同层段的积分有不同的折扣。本系统根据客户及商品的数据需求,采用了线性表的链式存储结构,主要功能包括数据的录入、插入、删除、修改、以及数据的显示,对客户积分的管理,对客户购物时依据积分的数目进行不同打折处理。 关键词:C++语言;客户积分管理系统;数据结构;链式存储结构;

1前言 当今世界由于人类文明进入了高速发展阶段,计算机技术已经取得了长足的发展,计算机已经普及到各大商城和小市场的管理当中,介于此,经过了网上的资料查阅和数据分析,开发了这个客户消费积分管理系统,对一些商品进行折扣的统计和管理。设计一个程序用于管理客户的消费情况,从而根据客户的消费积分对客户实行不同程度的打折优惠。对于客户消费积分管理系统利用线性表的链表存储方式,使用结构体指针将每一个用户联系起来。程序中设计了①添加用户②查找用户③修改用户④删除用户⑤统计客户数量的功能,充分满足对于管理系统的要求。 2设计分析

根据题目要求及本次课程设计的目的,采用结构体来存储每组数据,用单链表对每组数据进行相应的操作。现把相应的设计思路及各个函数解析如下。2.1数据结构设计分析 2.1.1 存储客户信息的结构体 客户资料有姓名、身份证号、客户编号、消费金额、客户积分等信息。具体结构如下: struct Client//客户信息 { string CCardNumber;//客户编号 string CNumber;//客户身份证号 float CBuy;//客户消费金额 float CGrade;//客户积分 string CName;//客户名称 }; 2.1.2 存储商品信息的结构体 首先用一个商品信息的结构体Production存储商品的价格、商品的固定积分、商品的名称,在用一个数组进行存储每一件商品,使用数组和for 循环能够便捷并容易的进行数据的操作。另外再用一个商品消费的记录 ProCli,用来记录每个客户消费商品的记录具体结构如下: struct Production//商品信息 { float PPrice;//商品价格 int PGrade;//商品积分 string PName;//商品名称 }; struct PN/产品消费的信息记录 { string ProName[16];//记录消费了的产品的名称 int mount[16];//记录该产品的消费数量 };

数据结构课程设计

福建工程学院课程设计 课程:数据结构课程设计 题目: 1.综合应用 2.折半查找 3.快速排序 专业:软件工程 班级:1101 座号:3110305129 姓名:潘聪 2012 年 6 月26 日

设计题目1:综合应用 一、问题描述 有N名学生,每名学生含有如下信息:学号、姓名、某四门课的成绩,并计算其总分,用一结构数组表示之。然后实现以下功能: (1)将这些数据存放至文件stuf.dat中; (2)将文件中的数据读出至结构数组中,并显示之; (3)输出总分最高分和最低分的名字; (4)输出总分在340分,单科成绩不低于80分的名单; (5)求出各科平均分数; (6)按总分排名; (7)输出补考名单。 二、解决问题的算法思想描述 (1)子函数:首先确定需要的子函数,总共7个,对应的功能分别是题目要求的七项(2)主函数:主函数中,要设计出易于使用的人机界面,就必须要用到switch 。 (3)文件的存放读取,必须要用到文件的函数,fopen,fread,fclose等。 (4)把每个学生的信息定义在一个结构数组中,利用结构数组更加方便。 (5)各科成绩排名用冒泡排序即可。 (6)输出总分,补考名单,各科的平均分都比较简单。 三、设计 1. 数据结构的设计和说明 //定义结构体 typedef struct { int num; //学号 char name[10]; //姓名 int score1; //语文 int score2; //数学 int score3; //物理 int score4; //化学 }student; student stu[MAX]; //结构数组 2.模块结构图及各模块的功能:

医院客户关系管理系统医院CRM

医院客户关系管理的研究 高杰、何雨生、王秀民、刘丽红、李凯 摘要:本文从CRM的理论分析入手,介绍了医院CRM的定义及其特点。通过CRM软 件的分类和设计原则,构建了医院CRM的系统结构,并对医院CRM系统的功能进行了详细的分析。最后介绍了实现医院CRM的一些关键技术。 引言 随着我国医疗体制改革的深化和医疗事业的发展,医疗市场竞争逐渐加剧,医院管理模式正由以医院管理为中心向以客户管理为中心转变。客户关系管理作为一种新型的管理模式和技术方法正引入医院中。2004年初,卫生部和国家中医药管理局联合召开了“以病人为中心,以提高医疗服务质量为主题”的医院管理年工作会议,确定2005年作为“医院管理年”,要在全国范围内规范和加强医院的管理工作。如何提高医疗服务质量,做到“以人为本,以病人为中心”,是各家医院正在探索的问题。本文对医院客户关系管理系统及相关技术进行探讨,以推进医院客户关系管理的研究和发展。 1 医院客户关系管理 医院客户关系管理( Hospital Customer Relationship Management , HCRM)是借鉴企业CRM管理经验、服务理念,融入医院经营理念、业务流程、市场营销策略和客户服务等建立起来的以医院客户为中心的管理体系。其目的是维持和保留现有客户,吸引潜在客户,培育并扩大忠诚客户队伍,获得客户的终身价值,提高医院的核心竞争力,最终达到医院社会 效益和经济效益双赢的目的。 1.1 医院客户管理的特点 医院是具有一定福利性质的社会公益事业,其性质不同于一般企事业单位。因此,医院客户关系管理必然有其自身的特点:(1)医院的客户不仅仅指病人,还包括病人的家属、朋 友以及所有健康人群, 即所谓的潜在客户,或者是某类医疗保险的参保者以及某个合同单位 的全体职工等团体客户。(2)医院的20%重点客户并非如企业所指的可以带来巨额利润的客户, 而是诸如慢性病患者、肿瘤患者等需要较长周期的治疗才能康复的客户, 或者和医院之间是“多对多”关系的客户。(3)医院的80%利润相对于企业而言, 更多是从社会效益的另一方面由于医务人员对, 一方面由于客户的信赖为医院带来了稳定的经济效益角度考虑。. 提高了诊治的效率和, , 避免了病人的就诊障碍客户病情、病史、心理、生理各方面的熟悉减少了医疗资源的耗费。, 效果, 节省了病人的诊治费用和成本实施医院客户管理的意义 1.2实医院客户关系管理是一种旨在改善医院与客户关系的新型管理系统和运作方 法体系。 医院客户关系管理可以为客户提供更好的服务来保持施医院客户关系管理有着重要的意义:可以充分可以提高医院的市场竞争能力;医院与客户的有效沟通,提升医院长期经济效益;开发利

数据结构课程设计题目及要求

实验一~实验四任选一题;实验五~实验九任选一题。 实验一运动会分数统计 一、实验目的: (1)熟练掌握线性表的两种存储方式 (2)掌握链表的操作和应用。 (3)掌握指针、结构体的应用 (4)按照不同的学校,不同项目和不同的名次要求,产生各学校的成绩单、团体总分报表。 二、实验内容: 【问题描述】 参加运动会的n个学校编号为1~n。比赛分成m个男子项目和w个女子项目,项目编号分别为1~m和m+1~m+w。由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。写一个统计程序产生各种成绩单和得分报表。 【基本要求】 产生各学校的成绩单,内容包括各校所取得的每项成绩的项目号、名次(成绩)、姓名和得分;产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分。 【测试数据】 对于n=4,m=3,w=2,编号为奇数的项目取前五名,编号为偶数的项目取前三名,设计一组实例数据。 【实现提示】 可以假设m≤20,m≤30,w≤20,姓名长度不超过20个字符。每个项目结束时,将其编号、类型符(区分取前五名还是前三名)输入,并按名次顺序输入运动员姓名、校名(和成绩)。 【选作内容】 允许用户指定某些项目可采取其他名次取法。

实验二停车场管理 一、实验目的: (1)熟练掌握栈顺存和链存两种存储方式。 (2)掌握栈的基本操作及应用。 (3)以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。 二、实验内容: 【问题描述】 设停车场是一个可停放n辆汽车的长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车信放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场院,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。 【基本要求】 以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表结构实现。 【测试数据】 设n=2,输入数据为:(A,1,5),(A,1,15),(A,3,20),(A,4,25),(A,5,30),(D,2,35),(D,4,40),(E,0,0)。其中:A表示到达(Arrival);D表示离去(Departure);E表示输入结束(End)。 【实现提示】 需另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车,也用顺序存储结构实现。输入数据按到达或离去的时刻有序。栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照号码和进入停车场的时刻。 【选作内容】 (1)两个栈共享空间,思考应开辟数组的空间是多少? (2)汽车可有不同种类,则他们的占地面积不同收费标准也不同,如1辆客车和1.5辆小汽车的占地面积相同,1辆十轮卡车占地面积相当于3辆小汽车的占地面积。(3)汽车可以直接从便道开走,此时排在它前面的汽车要先开走让路,然后再依次排到队尾。 (4)停放在便道上的汽车也收费,收费标准比停放在停车场的车低,请思考如何修改结构以满足这种要求。

客户消费积分管理系统

课程设计(论文)任务书 软件学院软件工程+交通运输专业2013-2班 一、课程设计(论文)题目客户消费积分管理系统的设计与实现 二、课程设计(论文)工作自2015年 1月 5 日起至2015年 1月 9日止。 三、课程设计(论文) 地点: 创新大楼机房 四、课程设计(论文)内容要求: 1.课程设计的目的 为了配合《数据结构》课程的教学,使学生能更深刻的领会《数据结构》课程的重要性,特开设此课程设计;编写一些在特定数据结构上的算法,通过上机调试,更好的掌握各种数据结构及其特点,培养学生综合运用所学理论知识解决复杂实际问题的实践能力、研究性学习能力和团队合作能力。 2.课程设计的任务及要求 1)基本要求 (1)课程设计前必须选定课程设计题目,并认真进行需求分析与系统设计; (2)上机调试之前要认真准备实验程序及调试时所需的测试数据; (3)独立思考,独立完成,严禁抄袭,调试过程要规范,认真记录调试结果;(4)上机结束后认真规范撰写课设报告,对设计进行总结和讨论。 2)课程设计论文编写要求 (1)要按照书稿的规格撰写打印课设论文 (2)论文包括任务书、目录、绪论、正文、总结、参考文献、附录等 (3)正文中要有问题描述、抽象数据类型的定义、数据的存储结构、设计的求解算法、算法的实现、调试分析与测试结果 (4)课设论文装订按学校的统一要求完成 3)课设考核 从以下几方面来考查: (1)考勤和态度;

(2)任务的难易程度及设计思路; (3)动手调试能力; (4)论文撰写的水平、格式的规范性。 4)参考文献 [1] 严蔚敏, 吴伟民. 数据结构(C语言版)[M]. 北京:清华大学出版社, 2007年. [2] 严蔚敏, 吴伟民. 数据结构题集(C语言版)[M]. 北京:清华大学出版社, 2007年. [3] 谭浩强. C语言程序设计[M]. 北京:清华大学出版社,2006年. 5)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 程序设计与调试3计算机房 撰写论文1图书馆 6)任务及具体要求 客户消费积分管理系统的设计与实现 (1)采用一定的存储结构进行信息的存储; (2)对客户的信息可以进行修改,删除,添加; (3)能够根据消费情况进行积分的累加; (4)根据积分情况,对客户实行不同程度的打折优惠; 学生签名: 2015年1 月9 日 课程设计(论文)评审意见 (1)考勤和态度:优()、良()、中()、一般()、差()(2)任务难易及设计思路:优()、良()、中()、一般()、差()(3)动手调试能力评价:优()、良()、中()、一般()、差()(4)论文撰写水平及规范性评价:优()、良()、中()、一般()、差() 评阅人:职称:讲师 2015年1 月9 日

数据结构课程设计

<<数据结构>> 课 程 设 计 班级:111004 姓名:董丽美 学号:111004122 指导教师:史延新 完成日期:2013 _07 _10

题目一:约瑟夫环问题 【问题描述】约瑟夫(Joseph)问题的一种描述是:编号为1,2,…,n 的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m 的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出列顺序。【基本要求】利用单向循环链表存储结构模拟此过程,按照出列的顺序打印出各人的编号。 【测试数据】m的初值为20;n=7,7个人的密码依次为:3,1,7,2,4,8,4,首先m值为6(正确的出列顺序应为:6,1,4,7,2,3,5) 一 .需求分析 1.用单循环链表存储并遍历及删除节点的方法,计算并输出约瑟夫环的问题。 2.环中总人数和节点信息由用户输入,且均为正整数。3.在窗口界面输出出列顺序的编号。 二.概要设计

1.设定链表的抽象数据类型定义: ADT List{ 数据对象:D={a(i)|a(i)∝Elemset,i=1,2,…,n,n>=0} 数据关系:R1={|a(i-1),a(i)∝D,i=2,…,n}基本操作: InitList(&L) 操作结果:构造一个空的线性表 ListInsert(&L,i,e) 初始条件:线性表L已经存在。 操作结果:在L中第i个位置之前插入新的数据元素 e,L的长度增加1。 ListDelete(&L,i,&e) 初始条件:线性表L已经存在且非空,1<=i<=ListLength(L)。操作结果:删除L的第i个数据元素,并用e返回其值,L 的长度减1 。 } 2.算法的基本思想: 根据题目要求,采用单循环线性表的基本操作来实现约瑟夫环问题。首先根据所给信息生成链表节点并插入,根据节点记录密码及其所在链表中的顺序,由给出的初始访问值进行遍历,当变量i增量等于所给的值(即关键字)时,指针所指的节点处的顺序值即为所需输出的顺序号。每输出一次顺

数据结构课程设计

课程设计说明书 课程名称:数据结构和算法 设计题目:多种排序 院系:计算机科学与信息工程学院 学生姓名: 学号: 专业班级:计科嵌入式(12-1) 指导教师: 年月日

课程设计任务书 设计题目表达式计算程序设计 学生姓名所在院系计科专业、年级、班12计科(嵌入式)设计要求: 1) 采用如下七种方法实现上述问题求解:插入排序、希尔排序、起泡排序、快速排 序、选择排序、堆排序、归并排序。 2) 统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出 其中两种较快的方法。并将数据序列和不同的查找算法的性能结果记录入txt 文件。 学生应完成的工作: 1. 利用随机函数产生N 个随机整数(10000 以上)。 2. 对这些数字进行排序。 3. 采用插入、希尔、起泡、快速、选择、归并、堆排序方法解决问题。 4. 对不同的排序算法进行性能比较并记录。 参考文献阅读: 1. 《数据结构(C 语言版)》严蔚敏清华大学出版社 2. 《C 语言程序设计》丁峻岭中国铁道出版社 3. 《C 程序设计》谭浩强清华大学出版社 工作计划: 任务下达日期:年月日 任务完成日期:年月日 指导教师(签名):学生(签名):

多种排序 摘要: 排序是算法中最基础的问题之一,经典的排序算法是前人不断总结得到的,基于比较的方法是比较直观的方式,主要存在插入法排序、堆排序、希尔排序、归并排序、快速排序,每一种排序算法都有自己的优缺点,比如插入法排序适用于那些长度短的排序,要是长的话,有些爱莫能助啦,堆排序主要是依据了二叉堆的特性,但是创建堆的过程也是一个复杂的问题,希尔排序的过程是一个不断精确的过程,但是目前也只是一个经验方式。归并排序是一个递归的问题,采用分治的思想实现,但是这种算法需要额外的存储空间,快速排序虽然是实践中比较常用的算法,但是对于有序的数组采用快速排序就是灾难。比较型算法的时间复杂度最优也只能到达O(NlogN)。 关键词: 归并排序快排排序选择排序冒泡排序 插入排序堆排序希尔排序内部排序

客户消费积分管理系统的设计与实现课程设计范本

客户消费积分管理系统的设计与实现 课程设计

编号 课程设计报告 ~第一学期 客户消费积分管理系统的设计与实现 The Design and Implementation of a Client Integral Management System 实习类别课程设计 学生姓名李志莹 专业软件工程 学号 指导教师刘丹、何巍 学院计算机科学技术学院 二〇一五年十二月

一、概述 1.1 设计主要完成的任务 1.1.1 题目要求 针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。 ⑴采用一定的存储结构进行客户信息的存储; ⑵对客户的信息能够进行修改、删除、添加; ⑶能够根据消费情况进行客户积分的累加; ⑷根据积分情况,对客户实行不同程度的打折优惠; 1.2 解决的主要问题 1.2.1 采用何种数据结构和编程语言实现客户抽象 由于客户数目不定,因此采用链表结构实现客户的增删改查等基本操作,用C#窗体图形用户界面技术编写程序。 本程序要运用链表对客户信息进行存储,首先对结点进行定义,采用C#泛型思想和接口建立单链表类,并实现单链表的基本操作,代码主要参考的是《数据结构(C#语言版)》,可是在实际编写过程中略有调整。 1.2.2 界面设计 (1)主界面:功能按钮导航; (2)添加界面:添加新客户的信息; (3)删除界面:按客户ID删除已有客户。

(4)修改界面:按客户ID修改已有客户信息。 (5)查找界面:按客户ID查找已有客户。 (6)显示界面:遍历显示表中所有的客户的所有信息。 (7)消费界面:按客户ID对已有客户进行消费操作。 1.2.3 数据结构中单链表的C#实现 对于单链表的操作,主要用到两个类,一个是Node类,一个是List类。 Node类主要是建立节点的类,这个类包含数据内容data和“指针”next用于指向下一个节点,实现单链表的连接。List类主要是进行对单链表的各种操作: ?初始化头节点为空的链表。 ?求单链表的长度。 ?清空单链表。 ?判断链表是否为空。 ?在单链表尾部追加数据元素。 ?在单链表的第i个结点的位置前插入一个值为value的结点。?删除单链表的第i个结点,只是修改引用域,逻辑上的删除,由垃圾回收器回收。 ?获得单链表中第i个数据元素。 ?在单链表中查找值为value的结点。 所有的操作都是基于List中的私有变量head和经过方法得到的长度,利用她们实现节点的查找和定位。

数据结构课程设计

郑州工业应用技术学院 课程设计说明书 题目:手机信息数据检索 姓名:王港 院(系):信息工程学院 专业班级:16级计算机科学与技术6班 学号:1601110241 指导教师:王礼云 成绩: 时间:2018 年 1 月 2 日至2018 年 1 月12

郑州工业应用技术学院 课程设计任务书 题目手机信息数据检索 专业、班级16级计算机科学与技术6班学号1601110241姓名王港 主要内容: 开发一个手机信息数据检索,使管理员可以很好的管理回收的手机,避免平时废旧手机没有作用,不知道如何去处理旧的手机等问题。减轻废旧手机资源的浪费。本废旧手机回收系统利用单链表实现了基本信息的添加。管理员能够对各种信息进行修改,例如手机信息添加,手机信息删除,密码修改,退出系统。 基本要求: 1、巩固并加深学生对数据结构基本算法的理解; 2、认识面向过程和面向对象两种设计方法的区别; 3、进一步掌握和应用VC++6.0 集成开发环境; 4、提高运用对于数据结构的理解,增强了我解决实际问题的能力; 5、初步掌握开发小型实用软件的基本方法。 主要参考资料: [1]谭浩强. C语言基础课程[M].北京:清华大学出版社,2009. [2]刘振安. C程序设计课程设计[M].北京:机械工业出版社,2016. [3]滕国文. 数据结构课程设计[M].北京:清华大学出版社, 2010. [4]吴伟民. 数据结构[M].北京:清华大学出版社, 2017. 完成期限:2018.1.2-2018.1.12 指导教师签名: 课程负责人签名: 2018 年1 月12 日

摘要 21世纪以来,经济高速发展,人们生活发生了日新月异的变化,特别是手机普及到每个人生活的各个领域。但对于手机的回收越来越不适应现在社会的发展。计算机技术的飞速发展,也为我们带来了巨大的便利。为了适应现代人们回收旧手机方便的愿望。手机信息管理系统软件能够为我们现如今手机回收带来巨大的便利。 我国现如今已经成为手机产品的生产消费大国,伴随着通信技术的迅猛发展,手机更新换代的速度不断提高。特别是追求时尚潮流的大学生群体手机的更换频率增加更快。随着智能手机产品不断推陈出新,手机更新换代的周期也在缩短。据业内人士估计,我国存量闲置手机至少以亿计,但旧手机的回收率却不到2%,旧手机的处置成为一大问题。 中国目前废旧手机的回收现状和回收模式,造成我国手机回收效率低下,更是对垃圾回收产业带来了巨大的冲击,同时目前,我国年废旧手机产生量约上亿部,大部分闲置家中,未能有效回收利用。既浪费了资源,又威胁居民身心健康,造成环境污染。在分析我国废旧手机回收利用现状的基础上,提出了完善废旧手机回收的法律制度、增强消费者环保意识、构建绿色环保废旧手机回收利用新模式等建议。本手机信息数据检索为回收手机的人管理废旧的手机使用,使用单链表实现,对于信息的增加删除效率比较高,可以很方便的进行各种信息管理,对于数据的管理可以让我们更好的面对管理手机的繁杂工作。 关键字:信息检索;冒泡算法;单链表

数据结构课程设计报告

数据结构课程设计 设计说明书 TSP 问题 起止日期:2016 年 6 月27 日至2016 年7 月 1 日 学生姓名 班级 学号 成绩 指导教师( 签字) 2016 年7 月 1 日

目录 第1 章需求分析.................................................................................1... 1.1 简介 (1) 1.2 系统的开发背景 (1) 1.3 研究现状 (1) 第2 章概要设计.................................................................................2... 2.1 系统开发环境和技术介绍 (2) 2.2 系统需求分析 (2) 2.2.1 总体功能分析 (2) 2.2.2 核心功能分析 (3) 第3 章详细设计...................................................................................4... 3.1 系统开发流程 (4) 3.2 系统模块设计 (4) 3.3 系统结构 (6) 3.2 系统流程图 (6) 第4 章调试分析...................................................................................7... 4.1 程序逻辑调试 (7) 4.2 系统界面调试 (8) 第5 章测试结果...................................................................................9... 5.1 测试环境 (9) 5.2 输入输出测试项目 (9) 5.3 测试结果 (10) 结论.....................................................................................................1..1.. 参考文献................................................................................................1..1. 附录.......................................................................................................1..2..

客户积分管理系统

数据结构课程设计题目:客户消费积分管理系统的设计与实现 学生姓名: 学号: 1006401045 系别:计算机科学与技术 专业:计算机科学与技术 指导教师:高艳霞讲师 起止日期:2012.3.11——2012.4.15 2012年 4月 20日

目录 摘要................................................................................................................................................. I 关键词............................................................................................................................................... I 1 前言 (1) 2 需求分析 (2) 2.1 范围 (2) 2.1.1 标识 (2) 2.1.2 系统概述 (2) 2.2 需求概述 (2) 2.2.1 系统目标 (2) 2.2.2 运行环境 (3) 2.2.2.1 设备 (3) 2.2.2.2 支持程序 (3) 2.2.3 用户的特点 (3) 2.3功能需求 (3) 2.3.1 系统用例图 (4) 2.3.2系统各项功能描述 (7) 2.4实体关系图 (9) 3 概要设计 (11) 3.1 范围 (11) 3.1.1 标识 (11) 3.1.2 系统概述 (11) 3.2 系统结构 (11) 3.3数据结构设计分析 (11) 3.3.1 客户信息 (11) 3.3.2商品信息 (12) 4系统详细设计 (13) 4.1 范围 (13) 4.1.1 标识 (13) 4.1.2 系统概述 (13) 4.2 详细设计说明 (13) 4.2.1 功能模块设计流程图 (13) 4.2.2客户消费积分管理系统框架图 (15) 4.2.3 客户消费积分管理系统主函数流程图 (16) 5 测试说明 (17) 5.1 范围 (17) 5.1.1 标识 (17) 5.1.2 系统概述 (17) 5.2 测试计划及预期结果 (17) 5.3 具体测试情况 (20) 6 总结 (22) 参考文献 (23) 致谢 (24)

数据结构课程设计报告

《数据结构课程设计》报告 题目:课程设计题目2教学计划编制 班级:700 学号:09070026 姓名:尹煜 完成日期:2011年11月7日

一.需求分析 本课设的任务是根据课程之间的先后的顺序,利用拓扑排序算法,设计出教学计划,在七个学期中合理安排所需修的所有课程。 (一)输入形式:文件 文件中存储课程信息,包括课程名称、课程属性、课程学分以及课程之间先修关系。 格式:第一行给出课程数量。大于等于0的整形,无上限。 之后每行按如下格式“高等数学公共基础必修6.0”将每门课程的具体信息存入文件。 课程基本信息存储完毕后,接着给出各门课程之间的关系,把每门课程看成顶点,则关系即为边。 先给出边的数量。大于等于0的整形。 默认课程编号从0开始依次增加。之后每行按如下格式“1 3”存储。此例即为编号为1的课程与编号为3的课程之间有一条边,而1为3的前驱,即修完1课程才能修3课程。 例: (二)输出形式:1.以图形方式显示有向无环图

2.以文本文件形式存储课程安排 (三)课设的功能 1.根据文本文件中存储的课程信息(课程名称、课程属性、课程学分、课程之间关系) 以图形方式输出课程的有向无环图。 拓展:其显示的有向无环图可进行拖拽、拉伸、修改课程名称等操作。 2.对课程进行拓扑排序。 3.根据拓扑排序结果以及课程的学分安排七个学期的课程。 4.安排好的教学计划可以按图形方式显示也可存储在文本文件里供用户查看。 5.点击信息菜单项可显示本人的学好及姓名“09070026 尹煜” (四)测试数据(见六测设结果)

二.概要设计 数据类型的定义: 1.Class Graph即图类采用邻接矩阵的存储结构。类中定义两个二维数组int[][] matrix 和Object[][] adjMat。第一个用来标记两个顶点之间是否有边,为画图服务。第二个 是为了实现核心算法拓扑排序。 2.ArrayList list用来存储课程信息。DrawInfo类是一个辅助画图的类,其中 包括成员变量num、name、shuxing、xuefen分别代表课程的编号、名称、属性、 学分。ArrayList是一个DrawInfo类型的数组,主要用来在ReadFile、DrawG、DrawC、SaveFile、Window这些类之间辅助参数传递,传递课程信息。 3.Class DrawInfo, 包括int num;String name;String shuxing;float xuefen;四个成员变量。 4.Class Edge包括int from;int to;double weight;三个成员变量。 5.Class Vertex包括int value一个成员变量。 主要程序的流程图: //ReadFile.java

相关主题
文本预览
相关文档 最新文档