当前位置:文档之家› 客户消费积分管理系统-数据结构设计报告

客户消费积分管理系统-数据结构设计报告

客户消费积分管理系统-数据结构设计报告
客户消费积分管理系统-数据结构设计报告

广州XX学院

课程设计报告

课程数据结构与算法

题目李CC 专业计算机科学与技术

指导教师 XX 班级计科XX 学号 22姓名李XX

2020年1月3日

《数据结构与算法》课程设计任务书

银行排队系统的设计与实现

一、设计要求

1.问题描述

针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。

2.需求分析

(1)采用一定存储结构进行客户信息存储;

(2)对客户的信息可以进行修改、删除、添加;

(3)能够根据消费情况进行客户积分的累加;

(4)根据积分情况,对客户实行不同程度的打折优惠;

(5)演示程序以用户和计算机的对话方式进行。

二、概要设计

1.主界面设计

为了实现“客户消费积分管理系统”的各项功能,首先设计一个含有多个菜单项的主控菜单子程序,以链接系统的各项子功能,方便用户使用本系统。本系统主控菜单运行界面如下图1所示。

2.存储结构设计

本系统采用链表存储客户消费积分管理系统中的客户信息。

3.系统功能设计

本系统分为以下7个功能模块。

(1)添加客户:添加客户需要输入客户的姓名、身份证号码、电话号码、消费金额,在输入消费金额后系统会自动计算出该用户获得的积分,并且输出对应折扣到该客户信息中。

(2)查找客户:查找需要输入客户相应的身份证号码。

(3)修改客户:可以单独选择修改客户的姓名、身份证号码、电话号码、消费金额,也可以一次性全都修改。

(4)删除客户:查找到需要删除的客户即可一键删除。

(5)显示客户:显示外部文件保存的所有客户的信息。

(6)统计客户:统计客户总数。

(0)保存退出:保存所有修改删除操作到文件中。

三、模块设计

1.模块设计

本程序包含3个模块:主程序模块、菜单选择模块和链表操作模块。调用关系如图所示。

2.系统子程序及功能设计

本系统共设置13个函数,包括主函数。各函数名及功能说明如下。

printf("\n");

p->discount=y;

printf("添加客户成功!\n\n");

customer_number++;

p->next=head->next;

head->next=p;

}

(2)查找客户函数

void Search(cnode *head,char ID[])lf\n",p->consume);

printf("积分:%lf\n",p->integer);

y=display_discount(p->integer);

printf("折扣:%.1lf折\n",y);

p->discount=y;}}}}

(3)修改客户函数

void Amend(cnode *head,char ID[])lf\n",p->consume);

printf("积分:%lf\n",p->integer);

y=display_discount(p->integer);

printf("折扣:%.1lf折\n\n",y);

p->discount=y;

}

}

printf("1.姓名 2.身份证号 3.电话号码 4.消费金额 5.修改全部\n");

printf("请选择你要修改的选项:");

scanf("%d",&choose1);

if(choose1==1)

{

printf("\n请输入修改后姓名:");

scanf("%s",&p->name);

printf("修改成功!\n");

}

if(choose1==2)

{

printf("\n请输入修改后的身份证号:");

scanf("%s",&p->ID);

printf("修改成功!\n");

}

if(choose1==3)

{

printf("\n请输入修改后电话:");

scanf("%s",&p->tnumber);

printf("修改成功!\n");

}

if(choose1==4)

{

printf("\n请输入修改后的消费:");

scanf("%lf",&p->consume);

p->integer=p->consume/10;

printf("积分:%lf\n",p->integer);

y=display_discount(p->integer);

printf("折扣:%.1lf折\n\n",y);

printf("修改成功!\n");

}

if(choose1==5)

{

printf("\n请输入姓名:");

scanf("%s",&p->name);

printf("请输入身份证号:");

scanf("%s",&p->ID);

printf("请输入电话号码:");

scanf("%s",&p->tnumber);

printf("请输入消费金额:");

scanf("%lf",&p->consume);

p->integer=p->consume/10;

printf("对应积分:%lf\n",p->integer);

y=display_discount(p->integer); lf折",y);

printf("\n");

p->discount=y; }}}

(4)删除客户函数

void Delete(cnode *head,char ID[])lf\n",p->consume);

printf("积分:%lf\n",p->integer);

y=display_discount(p->integer);

printf("折扣:%.1lf折\n\n",y);

q->next=p->next;}}

printf("已找到该客户,是否删除(y/n)");

scanf("%s",ch);

if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判断是否要进行删除*/{ for(i=j;i<=customer_number;i++){

q=q->next;}

customer_number--;

printf("删除成功!");}

else

{printf("删除失败!");}}}

(5)显示客户函数

void Showall(cnode *head) lf\n",p->consume);

printf("积分:%lf\n",p->integer);

y=display_discount(p->integer);

printf("折扣:%.1lf折\n\n",y);}}}

(6)计算客户相应折扣

double display_discount(double points) {

double discount;

if(points == 0)

discount = 0;

if(points > 0&&points <= 20)

discount = ;

if(points > 20&&points <= 30)

discount = 9;

if(points > 30&&points <= 50)

discount = ;

if(points > 50&&points <= 80)

discount = 8;

if(points > 80&&points <= 90)

discount = ;

else if(points > 90)

discount = 7;

return discount;}

五、测试分析

系统运行主界面如图1所示。各子功能测试运行结果如下:

1.添加客户

在主菜单下,用户输入l并回车,运行结果如图所示。图中输入数据全为1,仅供测

试。

2.查找客户

在主菜单下,用户输入2并回车,进入查找客户界面。根据提示输入客户身份证号即可查询。当输入一个客户的身份证号码123后运行结果如图所示。

3.修改客户

在主菜单下,用户输入3并回车,可以进入修改客户界面,运行结果如图所示,例如输入客户李四的身份证123,显示李四的各项信息,并且输入相应序号可以单独修改该用户信息或者一步修改所有信息。

4.删除客户

在主菜单下,用户输入4并回车,进入删除客户界面,运行结果如图所示。按界面显示输入身份证号码,输入正确后会显示出该用户信息,再次输入y/n选择删除操作。

5.显示客户

在主菜单下,用户输入5并回车,进入显示客户界面,运行结果如图所示。

6.统计客户

在主菜单下,用户输入6并回车,即可统计文件中保存的客户总数。运行结果如图。

7.保存信息并退出系统

在主菜单下,用户输入0并回车,会提示“已保存,退出系统”,即可保存前面修改、删除的操作并写入文件中,运行结果如下图所示。

六、用户手册

(1) 本程序执行文件为“客户消费积分管理系统.exe”。

(2) 进入本系统之后,随即显示系统主菜单界面。用户可在该界面下输入各子菜单前对应的数字,并按回车键执行相应子菜单命令。

(3) 输入1按回车进行添加客户操作;输入2按回车进行查找客户操作;输入3进行修改客户各项信息操作;输入4进行删除客户操作;输入5进行显示客户操作;输入6进行统计客户操作;输入0保存前面的操作,接着写入外部TXT文件,并且退出系统。

(4) 该系统需要操作人员记住客户的身份证号码,在系统中身份证号码是用来实现查

找、删除、修改的关键数据。

(5) 在运行本系统前需要在电脑D盘建立一个Customer的文件夹,并且在该文件夹子目录下建立一个以customer命名的.TXT文件,用来储存数据。

七、源程序清单

#include ""

#include ""

#include ""

typedef struct cnode{

char name[20]; lf折",y);

printf("\n");

p->discount=y;

printf("添加客户成功!\n\n");

customer_number++;

p->next=head->next;

head->next=p;}

void Search(cnode *head,char ID[])lf\n",p->consume);

printf("积分:%lf\n",p->integer);

y=display_discount(p->integer);

printf("折扣:%.1lf折\n",y);

p->discount=y;

}

}

}

}

void Amend(cnode *head,char ID[])lf\n",p->consume);

printf("积分:%lf\n",p->integer);

y=display_discount(p->integer);

printf("折扣:%.1lf折\n\n",y);

p->discount=y;

}

}

printf("1.姓名 2.身份证号 3.电话号码 4.消费金额 5.修改全部\n");

printf("请选择你要修改的选项:");

scanf("%d",&choose1);

if(choose1==1)

{

printf("\n请输入修改后姓名:");

scanf("%s",&p->name);

printf("修改成功!\n");

}

if(choose1==2)

{

printf("\n请输入修改后的身份证号:");

scanf("%s",&p->ID);

printf("修改成功!\n");

}

if(choose1==3)

{

printf("\n请输入修改后电话:");

scanf("%s",&p->tnumber);

printf("修改成功!\n");

}

if(choose1==4)

{

printf("\n请输入修改后的消费:");

scanf("%lf",&p->consume);

p->integer=p->consume/10;

printf("积分:%lf\n",p->integer);

y=display_discount(p->integer);

printf("折扣:%.1lf折\n\n",y);

printf("修改成功!\n");

}

if(choose1==5)

{

printf("\n请输入姓名:");

scanf("%s",&p->name);

printf("请输入身份证号:");

scanf("%s",&p->ID);

printf("请输入电话号码:");

scanf("%s",&p->tnumber);

printf("请输入消费金额:");

scanf("%lf",&p->consume);

p->integer=p->consume/10;

printf("对应积分:%lf\n",p->integer);

y=display_discount(p->integer); lf折",y);

printf("\n");

p->discount=y;

}

}

}

void Delete(cnode *head,char ID[])lf\n",p->consume);

printf("积分:%lf\n",p->integer);

y=display_discount(p->integer);

printf("折扣:%.1lf折\n\n",y);

q->next=p->next;

}

}

printf("已找到该客户,是否删除(y/n)");

scanf("%s",ch);

if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判断是否要进行删除*/

{

for(i=j;i<=customer_number;i++)

{

q=q->next;

}

customer_number--;

printf("删除成功!");

}

else

{

printf("删除失败!");

}

}

}

void Showall(cnode *head) lf\n",p->consume);

printf("积分:%lf\n",p->integer);

y=display_discount(p->integer);

printf("折扣:%.1lf折\n\n",y);

}

}

}

void count(cnode *head) //显示所有客户总数

{

int i=0;

cnode *p;

p=head;

if(p->next==NULL)

printf("没有客户!\n");

else

{

while(p->next!=NULL)

{

p=p->next;

i++;

}

}

printf("现有客户数量为%d位!\n\n",i);

}

double display_discount(double points) //计算客户折扣函数,接受一个double型的数作为参数,输出对应的折扣

{

double discount;

if(points == 0)

discount = 0;

if(points > 0&&points <= 20)

discount = ;

if(points > 20&&points <= 30)

discount = 9;

if(points > 30&&points <= 50)

discount = ;

if(points > 50&&points <= 80)

discount = 8;

if(points > 80&&points <= 90)

discount = ;

else if(points > 90)

discount = 7;

return discount;

}

cnode *creslink()//读取文件数据

{

FILE * fp;

cnode *head,*p,*q;

char name[20],tnumber[20],ID[20];

double consume,integer,discount;

head=(cnode*)malloc(sizeof(cnode));

p=head;

if((fp=fopen("D:\\Customer\\","r"))==NULL) /*打开文件*/ {

printf("不能打开文件\n");

system("pause");

exit(0);

}

fscanf(fp,"%d\n",&customer_number);

while(fscanf(fp,"%s%s%s%lf%lf%lf",name,ID,tnumber,&consume,&integer,&discou nt)!=EOF)

{

q=(cnode*)malloc(sizeof(cnode));

strcpy(q->name,name);

strcpy(q->ID,ID);

strcpy(q->tnumber,tnumber);

q->consume=consume;

q->integer=integer;

q->discount=discount;

p->next=q;

p=q;

}

p->next=NULL;

fclose(fp);

return head;

}

void WritetoText(cnode *head) //将所有记录写入文件

{

FILE *fp; /*定义文件指针*/

cnode *p;

p=head->next;

if((fp=fopen("D:\\Customer\\","w"))==NULL) /*打开文件*/

{

printf("不能打开文件\n");

system("pause");

exit(0);

}

fprintf(fp,"%d\n",customer_number); /*循环写入数据*/

while(p)

{

fprintf(fp,"%-8s %-8s %-

8s %f %f %f\n",p->name,p->ID,p->tnumber,p->consume,p->integer,p->disco unt);

p=p->next;

}

printf("\n");

fprintf(fp,"\n");

fclose(fp); /*关闭文件*/

}

void main()//主函数

{

cnode *head;

char y[20];

head=creslink();

//AddfromText(head);

for(;;)

{

switch(menu_select()) /*选择判断*/

{

case 1://添加

Getelem(head);

system("pause");

break;

case 2://查找

printf("\n请输入您查找客户的身份证号:");

scanf("%s",y);

Search(head,y);

system("pause");

break;

case 3://修改

printf("\n请输入您想修改客户的身份证号:");

scanf("%s",y);

Amend(head,y);

system("pause");

break;

case 4://删除

printf("\n");

printf("请输入你想要删除的客户的身份证号:");

scanf("%s",y);

Delete(head,y);

system("pause");

break;

case 5://显示所有客户信息

printf("\n");

Showall(head);

system("pause");

break;

case 6://显示客户总数

printf("\n");

count(head);

system("pause");

break;

case 0:

WritetoText(head);

printf("已保存,退出系统\n"); //结束程序

system("pause");

exit(0);

}

}

}

数据结构课程设计报告模板

《数据结构I》三级项目报告 大连东软信息学院 电子工程系 ××××年××月

三级项目报告注意事项 1. 按照项目要求书写项目报告,条理清晰,数据准确; 2. 项目报告严禁抄袭,如发现抄袭的情况,则抄袭者与被抄袭者均 以0分计; 3. 课程结束后报告上交教师,并进行考核与存档。 三级项目报告格式规范 1. 正文:宋体,小四号,首行缩进2字符,1.5倍行距,段前段后 各0行; 2. 图表:居中,图名用五号字,中文用宋体,英文用“Times New Roman”,位于图表下方,须全文统一。

目录 一项目设计方案 (3) 二项目设计分析 (4) 三项目设计成果 (4) 四项目创新创业 (5) 五项目展望 (6) 附录一:项目成员 (6) 附录二:相关代码、电路图等 (6)

一项目设计方案 1、项目名称: 垃圾回收 2、项目要求及系统基本功能: 1)利用数据结构的知识独立完成一个应用系统设计 2)程序正常运行,能够实现基本的数据增加、删除、修改、查询等功能3)体现程序实现算法复杂度优化 4)体现程序的健壮性 二项目设计分析 1、系统预期实现基本功能: (结合本系统预期具体实现,描述出对应基本要求(增、删、改、查等)的具体功能) 1. 2. 3. 4. 5. 6. 7. 2、项目模块功能描述 (基本分为组织实施组织、程序功能模块编写、系统说明撰写等。其中程序功能子模块实现) 模块一: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块二: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块n: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

数据结构 课程设计报告设计题目: 专业软件工程 班级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.功能模块详细设计、运行结果。

员工信息管理系统(数据结构)

员工信息管理系统课程设计报告 系别:计算机与信息工程系 班级: B080501 姓名:李海鹏 学号: B08050128 指导教师:张红霞 课设时间:2010-6-21到2010-6-25

摘要 员工信息管理系统属于信息管理系统。员工信息管理是每个公司不可缺少的。系统用C程序开发,主要在于建立好一个合适的数据结构,并要求程序简洁实用。 本系统利用C语言简洁、灵活,数据结构丰富等特点,编写适合公司使用的系统。整个系统使用起来也比较方便,入手简单,操作方便。论文主要介绍了程序设计过程、设计方案以及测试过程,重点讲解了设计过程中的思想,技术解决方案等等。 关键字:员工信息管理,C程序,数据结构

前言 (3) 第1章课设题目 (4) 第2章开发运行环境及相关知识 (4) 第3章程序总体设计 (5) 3.1 主要功能模块 (5) 3.2 数据结构 (6) 第4章程序详细设计及实现 (7) 4.1 输入函数 (7) 4.2 排序函数 (7) 4.3 显示函数 (7) 4.4 查找函数 (7) 4.5更改函数 (8) 4.6 删除函数 (8) 4.7 主函数 (8) 4.8 其他函数 (9) 第5章系统功能测试 (9) 5.1 系统主界面 (9) 5.2 输入数据 (9) 5.3 显示数据 (10) 5.4 信息排序 (10) 5.5 更改信息 (11) 5.6 删除信息 (11) 第6章课设总结 (12) 第7章程序清单 (13) 参考文献 (22)

前言 本课程设计旨在理论学习和基础实验的基础上,开发规模较大的程序,掌握应用计算机编程解决实际问题的基本方法,熟悉C程序开发的全过程,掌握数据结构的使用方法,熟练应用各种数据结构。 本次任务是根据给定的数据和程序,应用单向链表处理一系列公司员工的信息。通过整个程序开发的过程,提高综合应用C语言的能力、编程和调试能力,为进一步学习相关专业课程创建较扎实的理论基础和实践基础。 报告将分6个章节来详细讲述本次课设题目的开发过程。 第1章主要描述课设的题目及要求; 第2章来介绍程序开发运行环境; 第3章介绍程序主体设计,网络程序概要; 第4章是对程序进行详细分析,对各个函数进行详细描述,并阐述程序实现技术等信息; 第5章为测试过程,主要用测试过程中的图片来表述最终信息; 第6章也是最后一章,为本次实践活动的心得体会。

系统设计报告模板范文

系统设计报告模板

CRM系统设计 1. 功能模块划分及描述 1.1系统功能模块结构图 1.2系统功能模块描述 2. 系统配置设计 3.系统流程图设计 4. 代码设计 5. 数据库设计 5.1概念结构设计 5.2逻辑设计 6. 系统模块设计

1. 功能模块划分及描述 客户关系管理系统是一个典型的数据库开发应用程序,由客户管理模块、库存管理模块、服务管理模块、报表管理模块、email管理模块、用户管理模块组成,系统功能模块及描述如下。 1.1系统功能模块结构图 图1 系统功能模块结构图 1.2系统功能模块描述 1、客户管理模块 该模块主要功能是对客户信息、客户联系人信息、合同信息进行添加、删除、查询等操作。

2、库存管理模块 该模块的主要功能是管理入库、出库信息、产品信息进行管理,其中包括对库存信息、产品信息进行添加、删除、查询等操作。 3、服务管理模块 该模块主要功能是对客户反馈信息进行添加、删除、查询等操作。 4、报表管理模块 该模块主要经过查询条件,对各种信息进行查询,并将得到的结果导出Excel表、进行打印报表等操作(其中信息包括:客户信息、联系人信息、反馈客户信息、库存信息)。 5、邮件管理模块 该模块主要管理客户联系人email地址信息,对企业客户之间的email文件进行管理,向客户发送邮件。 6、用户管理 该模块主要管理用户信息的添加、删除等操作,并设置用户的使用权限。 2. 系统配置设计 硬件平台: CPU:P4 2.8GHz; 内存:2GB以上。 软件平台:

操作系统:Windows xp/ Windows 7/ Windows ; 数据库:SQL Server ; 浏览器:IE6.0,推荐使用IE8.0; Web服务器:IIS5.0; 分辨率:最佳效果1024*768。 3.系统流程图设计 系统流程图又叫事务流程图,是在计算机事务处理应用进行系统分析时常见的一种描述方法(另一个是数据流图),它描述了计算机事务处理中从数据输入开始到获得输出为止,各个处理工序的逻辑过程。 根据需求分析的要求对系统进行设计,系统流程图如图2:

客户消费积分管理系统设计与实现教材(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.课程设计任务内容 通过玩家与电脑双方的交替下棋,在一个8行8列的方格中,进行棋子的相互交替翻转。反复循环下棋,最后让双方的棋子填满整个方格。再根据循环遍历方格程序,判断玩家与电脑双方的棋子数。进行大小判断,最红给出胜负的一方。并根据y/n选项,判断是否要进行下一局的游戏。 2.课程设计要求 实现黑白两色棋子的对峙 开发环境:vc++6.0 实现目标: (1)熟悉的运用c语言程序编写代码。 (2)能够理清整个程序的运行过程并绘画流程图 (3)了解如何定义局部变量和整体变量; (4)学会上机调试程序,发现问题,并解决 (5)学习使用C++程序来了解游戏原理。 (6)学习用文档书写程序说明

摘要 本文的研究工作在于利用计算机模拟人脑进行下黑白棋,计算机下棋是人工智能领域中的一个研究热点,多年以来,随着计算机技术和人工智能技术的不断发展,计算机下棋的水平得到了长足的进步 该程序的最终胜负是由棋盘上岗双方的棋子的个数来判断的,多的一方为胜,少的一方为负。所以该程序主要运用的战术有削弱对手行动战术、四角优先战术、在游戏开局和中局时,程序采用削弱对手行动力战术,即尽量减少对手能够落子的位置;在游戏终局时则采用最大贪吃战术,即尽可能多的吃掉对手的棋子;而四角优先战术则是贯穿游戏的始终,棋盘的四角围稳定角,不会被对手吃掉,所以这里是兵家的必争之地,在阻止对手进角的同时,自己却又要努力的进角。 关键词:黑白棋;编程;设计

数据结构课程设计报告模板

数据结构课程设计报告模板

课程设计说明书 课程名称:数据结构 专业:班级: 姓名:学号: 指导教师:成绩: 完成日期:年月日

任务书 题目:黑白棋系统 设计内容及要求: 1.课程设计任务内容 通过玩家与电脑双方的交替下棋,在一个8行8列的方格中,进行棋子的相互交替翻转。反复循环下棋,最后让双方的棋子填满整个方格。再根据循环遍历方格程序,判断玩家与电脑双方的棋子数。进行大小判断,最红给出胜负的一方。并根据y/n选项,判断是否要进行下一局的游戏。 2.课程设计要求 实现黑白两色棋子的对峙 开发环境:vc++6.0 实现目标: (1)熟悉的运用c语言程序编写代码。 (2)能够理清整个程序的运行过程并绘画流程图 (3)了解如何定义局部变量和整体变量; (4)学会上机调试程序,发现问题,并解决 (5)学习使用C++程序来了解游戏原理。 (6)学习用文档书写程序说明

目录 1.引言 (1) 2.课题分析 (4) 3.具体设计过程 (5) 3.1设计思路 (5) 3.2程序设计流程图 (5) 3.3.函数实现说明 (10) 4.程序运行结果 (12) 5.软件使用说明 (16) 6.结论 (19) 参考文献 (20) 附录:源代码 (21)

1.引言 数据结构在计算机科学界至今没有标准的定义。个人根据各自的理解的不同而有不同的表述方法: Sartaj Sahni在他的《数据结构、算法与应用》一书中称:“数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。”他将数据对象(data object)定义为“一个数据对象是实例或值的集合”。Clifford A.Shaffer在《数据结构与算法分析》一书中的定义是:“数据结构是ADT(抽象数据类型Abstract Data Type)的物理实现。” Lobert L.Kruse在《数据结构与程序设计》一书中,将一个数据结构的设计过程分成抽象层、数据结构层和实现层。其中,抽象层是指抽象数据类型层,它讨论数据的逻辑结构及其运算,数据结构层和实现层讨论一个数据结构的表示和在计算机内的存储细节以及运算的实现。数据结构具体指同一类数据元素中,各元素之间的相互关系,包括三个组成成分,数据的逻辑结构,数据的存储结构和数据运算结构。 1.1. 重要意义 一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的逻辑结构;数据必须在计算机内存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据上执行的运算才有意义。 在许多类型的程序的设计中,数据结构的选择是一个基本的设计考虑因素。许多大型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。许多时候,确定了数据结构后,算法就容易得到了。有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。不论哪种情况,选择合适的数据结构都是非常重要的。 选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键因素。这种洞见导致了许多种软件设计方法和程序设计语言的出现,面向对象的程序设计语言就是其中之一。 1.2. 研究内容

客户消费积分管理系统

课程设计(论文)任务书 软件学院软件工程+交通运输专业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 日

数据结构课程设计报告

《数据结构课程设计》报告 题目:课程设计题目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

结构设计原理试验指导书及报告格式word文档

结构设计原理实验指导书 长安大学 二00七

实验一:钢筋混凝土矩形梁正截面破坏试验 一、实验目的及要求 钢筋混凝土受弯构件计算包括三个方面的内容,即强度计算、抗裂性计算(裂缝开展宽度计算)及刚度计算(挠度计算)。 计算理论来源于实践,针对某种具体结构或构件的试验分析,即是对计算理论的校核,也可推断某种假设,从而进一步完善理论。 通过对钢筋混凝土矩形梁正截面的破坏试验,进一步巩固本专业基础课程的知识,结合本课程的专业内容,使学生能够系统性的掌握从钢筋、混凝土材料性能,设计和计算分析方法,提高学生综合知识的水平,了解在纯弯曲段内正截面的受力状态和变形规律,从而加深对所学理论知识的理解,培养学生试验研究的能力。 二、实验内容 1.通过对钢筋混凝土矩形梁正截面破坏试验的全过程,从梁的构造、钢筋构造、配筋率、正截面计算的基本内容、受弯构件的工作阶段、破坏特征,验算实验梁在不同荷载作用下控制截面(最不利截面)的应力、挠度和裂缝开展的位置及宽度,梁最大破坏荷载时相应的挠度。 2.正式试验前,根据试验梁的构造、配筋和强度,估算梁的最大破坏荷载,然后估算的最大破坏荷载分五级列表算出每级荷载作用下相应测点处理论计算(应变和挠度)值,以此指 导试验方案的实施。 3.试验完成后,再根据实验中实际分级的荷载重新计算每级荷载作用下相应测点处理论计算(应变和挠度)值,并将实验记录值整理,将试验过程中出现的异常情况或测试极值取舍后作为实测值再与理论值进行比较。 三、实验条件及要求 1.试验用钢筋混凝土梁,截面尺寸及配筋见图-1所示。混凝土强度等级C25;骨料最大粒径15mm;钢筋采用R235,直径Ф10mm;净保护层15mm。 3.试验课前,在正截面破坏试验梁上,纯弯曲段混凝土表面,沿梁高方向贴4只5×40mm 电阻应变片,在相应位置的两根主筋上予埋3×5mm的电阻应变片2只,设置3个挠度测点;跨中一点,分配梁加载点对应处各一点,支座沉降测点两点(刚性支座时省略),见图-1所示。

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

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

编号 课程设计报告 ~第一学期 客户消费积分管理系统的设计与实现 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和经过方法得到的长度,利用她们实现节点的查找和定位。

数据结构物流信息管理系统

2014-2015学年第一学期学号 《数据结构》 课程设计报告 题目:物流信息管理系统 专业:计算机科学与技术 班级: 姓名: 学号: 指导教师: 成绩: 目录 摘要 (1) 1设计内容及要求 (1) 1.1内容描述 (1) 1.2基本要求 (1) 2详细设计 (1) 2.1概要设计 (1) 2.2功能模块详细设计 (1) 2.3程序流程图 (4) 3源代码 (5)

4程序结果 (9) 5总结 (12) 6参考文献 (12)

摘要 物流信息管理系统是利用单链表实现信息管理,进而掌握C语言中的结构体,链表,指针,函数(系统函数,自定义函数)等C语言知识。 本文通过利用模块化程序设计思想,使用单链表和结构体等编写出的创建,删除,查询等功能的物流信息管理系统。通过完成这个程序设计让我们熟悉并掌握c语言中使用结构体,单链表,指针,函数,和模块化设计思想。 关键词结构体,链表,指针,函数 1设计内容及要求 1.1内容描述 对客户的基本信息进行存储,利用取货号来查询顾客信息,核对信息后方可取货。 1.2基本要求 1.采用一定的存储结构进行客户信息的存储; 2.对客户的信息可以进行修改、删除、查询; 2详细设计 2.1概要设计 本系统用到的主要数据结构为数组和文件。一个数组对应一个客户,里面用3个字符串分别存储着用户的客户号、姓名和电话号码。然后将数组写入文件,查询时读取文件,提取相应信息。 2.2功能模块详细设计 本程序运用链表对客户信息进行存储,首先对结点进行定义,结点中的数据域分别定义了取货人的取货号、身份证、姓名、电话号码,其中身份证用了字符型数组进行定义,然后定义了客户取货链表,每添加一个取货人,先分配内存,再添加取货人的信息,之后将链表中最后一个指针指向该新的取货人,删除时,需先找到该取货人前面的取货人,直接将其指针指向删除取货人的下一个取货人,修改信息时,先找到该去人,选择修改的内容,再进行修改。 void create(Linklist &h){ Linklist s,t; int j=1; char x; h=(Listnode *)malloc(sizeof(Listnode)); h->next=NULL;t=h; while(j){ s=(Listnode*)malloc(sizeof(Listnode)); printf("顾客取货号为%d\n",i); s->customer.m=i; printf("请输入身份证号码:"); scanf("%c",&x);

数据结构课程设计报告模板

校园导游系统设计 一、设计要求 1.问题描述 设计一个校园导游程序,为来访的客人提供信息查询服务。 2.需求分析 (1)设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图(无向网),以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。 (2)存放景点代号、名称、简介等信息供用户查询。 (3)为来访客人提供图中任意景点相关信息的查询。 (4)为来访客人提供图中任意景点之间的问路查询。 (5)可以为校园平面图增加或删除景点或边,修改边上的权值等。 二、概要设计 为了实现以上功能,可以从3个方面着手设计。 1.主界面设计 为了实现校园导游系统各功能的管理,首先设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能,方便用户使用本系统。本系统主控菜单运行界面如图7-10所示。 2.存储结构设计 本系统采用图结构类型(mgraph)存储抽象校园图的信息。其中:各景点间的邻接关系用图的邻接矩阵类型(adjmatrix)存储;景点(顶点)信息用结构数组(vexs)存储,其中每个数组元素是一个结构变量,包含景点编号、景点名称及景点介绍三个分量;图的顶点个数及边的个数由分量vexnum、arcnum表示,它们是整型数据。 此外,本系统还设置了三个全局变量:visited[ ] 数组用于存储顶点是否被访问标志;d[ ]数组用于存放边上的权值或存储查找路径顶点的编号;campus是一个图结构的全局变量。 3.系统功能设计 本系统除了要完成图的初始化功能外还设置了8个子功能菜单。图的初始化由函数initgraph( )实现。依据读入的图的顶点个数和边的个数,分别初始化图结构中图的顶点向量数组和图的邻接矩阵。8个子功能的设计描述如下。 (1)学校景点介绍 学校景点介绍由函数browsecompus( )实现。当用户选择该功能,系统即能输出学校全部景点的信息:包括景点编号、景点名称及景点简介。 (2)查看浏览路线 查看浏览路线由函数shortestpath_dij( )实现。该功能采用迪杰斯特拉(Dijkstra)算法实现。当用户选择该功能,系统能根据用户输入的起始景点编号,求出从该景点到其它景点的最短路径线路及距离。 (3)查看两景点间最短路径

软件详细设计报告文档模板

软件详细设计报告文档模板 1.引言 1.1编写目的 说明编写详细设计方案的主要目的。 说明书编制的目的是说明一个软件系统各个层次中的每个程序(每个模块或子程序)和数据库系统的设计考虑,为程序员编码提供依据。 如果一个软件系统比较简单,层次很少,本文件可以不单独编写,和概要设il?说明书中不重复部分合并编写。 方案重点是模块的执行流程和数据库系统详细设计的描述。 1.2背景 应包含以下几个方而的容: A.待开发软件系统爼称: B.该系统基本概念,如该系统的类型、从属地位等; C.开发项目组轻称。 1.3參考资料 列出详细设讣报告引用的文献或资料,资料的作者、标题、出版单位和出版日期等信息,必要时说明如何得到这些资料。 1.4术语定义及说明 列岀本文档中用到的可能会引起混淆的专门术语、左义和缩写词的原文。 2.设计概述 2.1任务和目标 说明详细设计的任务及详细设汁所要达到的目标。 1丄1需求概述

对所开发软件的槪要描述,包括主要的业务需求、输入、输出、主要功能、性能等,尤其需要描述系统性能需求。 1.1.2运行环境概述 对本系统所依赖于运行的硬件,包括操作系统、数据库系统、中间件、接口软件、可能的性能监控与分析等软件环境的描述,及配置要求。 1」.3条件与限制 详细描述系统所受的部和外部条件的约束和限制说明。包括业务和技术方而的条件与限制以及进度、管理等方而的限制。 1.1.4详细设计方法和工具 简要说明详细设计所采用的方法和使用的工具。如HIPO图方法、IDEF(I2DEF)方法、E-R图,数据流程图、业务流程图、选用的CASE I具等,尽量采用标准规和辅助工具。 3.系统详细需求分析 主要对系统级的需求进行分析。首先应对需求分析提出的企业需求进一步确认,并对由于情况变化而带来的需求变化进行较为详细的分析。 3.1详细需求分析 包括: ?详细功能需求分析 ?详细性能需求分析 ?详细资源需求分析 ?详细系统运行环境及限制条件分析 3.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)

数据结构物流信息管理系统设计

数据结构物流信息管 理系统设计 Revised on November 25, 2020

目 录 摘要...................................................1 1设计内容及要求...........................................................................1 内容描述..............................................................................1 基本要求..............................................................................1 2详细设计....................................................................................1 概要设计..............................................................................1 功能模块详细设计..................................................................1 程序流程图...........................................................................4 3源代码 .....................................................................................5 4程序结果....................................................................................9 5总结...........................................................................................12 6参考文献 (12) 数据结构物流信息管理系统设计 【最新资料,WORD 文档,可编辑修改】

数据结构课程设计报告范例

Guangxi University of Science and Technology 课程设计报告 课程名称:算法与编程综合实习 课题名称: 姓名: 学号: 院系:计算机学院 专业班级:通信121 指导教师: 完成日期:2012年12月15日

目录 第1部分课程设计报告 (3) 第1章课程设计目的 (3) 第2章课程设计内容和要求 (4) 2.1 问题描述 (4) 2.2 设计要求 (4) 第3章课程设计总体方案及分析 (4) 3.1 问题分析 (4) 3.2 概要设计 (7) 3.3 详细设计 (7) 3.4 调试分析 (10) 3.5 测试结果 (10) 3.6 参考文献 (12) 第2部分课程设计总结 (13) 附录(源代码) (14)

第1部分课程设计报告 第1章课程设计目的 仅仅认识到队列是一种特殊的线性表是远远不够的,本次实习的目的在于使学生深入了解队列的特征,以便在实际问题背景下灵活运用它,同时还将巩固这种数据结构的构造方………………………………………………………………………………………………………………………………………………………………………………………..(省略)

第2章课程设计内容和要求 2.1问题描述: 迷宫问题是取自心理学的一个古典实验。在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒子中设置了许多墙,对行进方向形成了多处阻挡。盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。对同一只老鼠重复进行上述实验,一直到老鼠从入口走到出口,而不走错一步。老鼠经过多次试验最终学会走通迷宫的路线。设计一个计算机程序对任意设定的矩形迷宫如下图A所示,求出一条从入口到出口的通路,或得出没有通路的结论。 图A 2.2设计要求: 要求设计程序输出如下: (1) 建立一个大小为m×n的任意迷宫(迷宫数据可由用户输入或由程序自动生成),并在屏 幕上显示出来; (2)找出一条通路的二元组(i,j)数据序列,(i,j)表示通路上某一点的坐标。 (3)用一种标志(如数字8)在迷宫中标出该条通路; (4)在屏幕上输出迷宫和通路; (5)上述功能可用菜单选择。

体系结构设计报告

{ 项目名称} 体系结构设计报告 机构公开信息

版本历史

目录 0. 文档介绍 (4) 0.1文档目的 (4) 0.2文档范围 (4) 0.3读者对象 (4) 0.4参考文献 (4) 0.5术语与缩写解释 (4) 1. 系统概述 (5) 2. 设计约束 (5) 3. 设计策略 (5) 4. 系统总体结构 (5) 5. 子系统N的结构与功能 (6) 6. 开发环境的配置 (6) 7. 运行环境的配置 (6) 8. 测试环境的配置 (6) 9. 其它 (6)

0. 文档介绍 0.1 文档目的 0.2 文档范围 0.3 读者对象 0.4 参考文献 提示:列出本文档的所有参考文献(可以是非正式出版物),格式如下:[标识符] 作者,文献名称,出版单位(或归属单位),日期 例如: [AAA]作者,《立项建议书》,机构名称,日期 [SPP-PROC-SD] SEPG,系统设计规范,机构名称,日期 0.5 术语与缩写解释

1. 系统概述 提示:(1)说明本系统“是什么”,(2)描述本系统的主要功能。 2. 设计约束 提示: (1)需求约束。体系结构设计人员从需求文档(如《用户需求说明书》和《软件需求规格说明书》)中提取需求约束,例如: ?本系统应当遵循的标准或规范 ?软件、硬件环境(包括运行环境和开发环境)的约束 ?接口/协议的约束 ?用户界面的约束 ?软件质量的约束,如正确性、健壮性、可靠性、效率(性能)、易用性、清晰性、 安全性、可扩展性、兼容性、可移植性等等。 (2)隐含约束。有一些假设或依赖并没有在需求文档中明确指出,但可能会对系统设计产生影响,设计人员应当尽可能地在此处说明。例如对用户教育程度、计算机技能的一些假设或依赖,对支撑本系统的软件硬件的假设或依赖等。 3. 设计策略 提示:体系结构设计人员根据产品的需求与发展战略,确定设计策略(Design Strategy)。例如: ?扩展策略。说明为了方便本系统在将来扩展功能,现在有什么措施。 ?复用策略。说明本系统在当前以及将来的复用策略。 ?折衷策略。说明当两个目标难以同时优化时如何折衷,例如“时-空”效率折 衷,复杂性与实用性折衷。 4. 系统总体结构 提示: (1)将系统分解为若干子系统,绘制物理图和逻辑图,说明各子系统的主要功能。(2)说明“如何”以及“为什么”(how and why)如此分解系统。 (3)说明各子系统如何协调工作,从而实现原系统的功能。

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

中北大学 数据结构 课程设计说明书 学生姓名:郭世杰学号: 1021011743学院: 软件学院 专业: 软件开发与测试 题目: 客户消费积分管理系统 指导教师李瑞红 2011年12月20日

1. 设计任务概述(包括系统总体框图及功能描述) 功能描述: 针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。 1.采用数组和文件存储结构进行客户信息的存储; 2.对客户的信息可以进行修改、删除、添加; 3.能够根据消费情况进行客户积分的计算; 根据积分情况实行不同程度的打折优惠。 2. 本设计所采用的数据结构(如:链表、栈、树、图等) 本系统用到的主要数据结构为数组和文件。 一个数组对应一个客户,里面用3个字符串分别存储着用户的客户号、姓名和消费情况。 然后将数组写入文件,查询时读取文件,提取相应信息。 3.功能模块详细设计 3.1 详细设计思想 在数组中定义3个字符串number 、name 、xiaofei ,分别存储客户的顾客号、 积分打折操作系统 插 入 修 改 查 看 删 除 存 入 文 件 修 改 信 息 读 取 文 件 删 除 文件

姓名、消费额。通过录入函数对3个字符串循环进行赋值,然后根据消费额使用if语句判断其折扣区间,复制完毕后存入文件s_score.txt。修改函数首先按照用户输入的客户号找到相应存储文件,然后输出相应信息供客户阅览,最后提供修改命令,修改完毕后删除原文件,用新文件替代原文件。查找函数首先读取文件,然后根据用户输入客户号找到相应文件输出客户信息(顾客号、姓名、消费额、积分、折扣)。删除函数根据用户输入客户号找到相应文件进行删除。主函数为用户界面,1-4分别对应录入、修改、查找、删除函数,5为退出。 3.2 核心代码 #include "stdio.h" #include "stdlib.h" #include "string.h" #include "conio.h" #include "mem.h" #include "ctype.h" #include "alloc.h" struct score { char number[8]; /*定义3个存储客户信息的字符串*/ char name[10]; float score[6]; float discount[8]; }data,info[100]; /*定义数组*/ int i,j,k=0; char temp[20],temp1[20],ch; FILE *fp,*fp1;

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