课 程 设 计 报 告
课程设计名称:数结构课程设计
课程设计题目:舞伴配程序
院(系):计算机学院
专 业:计算机科学技术
班 级:
学 号:
姓 名:
指导教师:
完成日期:2014年
目 录
第1章 概设计 1
11题目容求 1
12总体结构 2
第2章 详细设计 3
21函数流程图 3
22构建空队列流程图 3
23元素进入队列流程图 4
24元素出队列流程图 4
25判断队列否空队列流程图 5
26销毁队列流程图 5
27输出配情况函数流程图 6
28输入跳舞信息函数流程图 7
29功函数流程图 8
第3章 调试分析 9
第4章 说明执行结果 10
41说明 10
42执行结果 11
参考文献 13
附 录(程序清单) 14
第1章 概设计
11题目容求
容:
题求男士女士进入舞厅时分排成两队跳舞开始分男队女队开始位置出配成舞伴较长队中未配等轮舞曲继续配
轮舞曲输入跳舞信息根性进行分组选择退出系统时结束程序
求:
1 男士女士记录存放数组中作输入
2 数组中输入进行男女分队
3 男士女士信息包括姓名性
4 进行轮舞曲时输入跳舞继续跳舞信息
5 输出配情况时输出姓名性
6 选择退出时结束程序
12总体结构
程序分四模块(功模块图见图11):输入信息模块输出结果模块轮舞曲模块退出系统模块
输入信息模块:模块作输入跳舞姓名性储存起进行男女分队舞伴配作准备
输出结果模块:模块作根输入跳舞信息操作男队女队分队头出跳舞员作输出跳舞配情况
轮舞曲模块:模块作轮舞曲结束输入跳舞想继续跳舞信息前未配成进行配跳舞
退出系统模块:模块作退出舞伴配系统
舞伴配程序
输出结果
轮舞曲
退出系统
输入 信
息
图11 功模块图
第2章 详细设计
21函数流程图
函数程序体部分开始时输出欢迎舞伴配系统然进行功选择见图21 示
开始
欢迎舞伴配系统
功选择:第次请选择输入跳舞信息
功函数gn()
结束
图21 函数流程图
22构建空队列流程图
函数目构建空队列程序队列队列首先建立空队列函数流程图见图22示
空队列kdl()
建立空队列
结束
图22 构建空队列流程图
23元素进入队列流程图
函数目元素进入队列函数流程图见图23示
元素入队crd()
元素插入队尾
队尾指针移
结束
图23 元素进入队列流程图
24元素出队列流程图
函数目元素出队列函数流程图见图24示
元素出队列cd()
队空队列
Y
N
头元素出队释放该空间
结束
图24 元素出队列流程图
25判断队列否空队列流程图
函数目判断队列否空队列作判断条件函数流程图见图25示
判断队列否空队列kd()
队头等队尾
N
Y
返回1
返回0
结束
图25 判断队列否空队列流程图
26销毁队列流程图
队头移删队头移前空间
队空
销毁队列xhd()
函数目程序结束销毁申请队列空间函数流程图见图26示
N
Y
结束
图26销毁队列流程图
27输出配情况函数流程图
函数目输出配情况函数流程图见图27示
输出函数sc()
输出配情况
男队女队空
N
Y
男队列队头出队
女队列队头出队
输出男女配情况
结束
图27输出配情况函数流程图
28输入跳舞信息函数流程图
函数目输入跳舞信息进行男女分队函数流程图见 28示
输入跳舞信息sr()
输入跳舞数n
i0
i
N
否男
Y
N
Y
女入女队
男入男队
i++
结束
图28 输入跳舞信息函数流程图
29功函数流程图
函数目程序开始时进行选择功函数流程图见图29示
功函数gn()
输入j
j
2 4
13
男队女队空
N
输出配情况sc()
Y
输入信息sr()
销毁队列xh()
结束
图29 功函数流程图
第3章 调试分析
问题1:运变量没定义
解决1:定义变量
问题2:输入信息直接输出结果
解决2:switch语句求运行添加{}case语句结束添加break图31示
图31
问题3:调子函数
解决3:函数类型改正函数中类型应
第4章 说明执行结果
41说明
1VC++环境程序代码输入
2输入程序进行检查
3修改程序中出现语法错误(:符号遗失等)
4运行程序
5界面中选择相应功:
(1)输入跳舞信息
(2)输出配情况
(3)进行轮舞曲输入跳舞继续跳舞信息
(4)退出系统
6选择功程序会执行选择功
7想结束程序时选择功(4)程序结束
42执行结果
界面:开始时输出欢迎舞伴配系统然进行功选择图41示
图41
1 输入跳舞信息:输入跳舞姓名性储存起进行男女分队舞伴配作准备图42示
图42
2输出配情况:根输入跳舞信息操作男队女队分队头出跳舞员作输出跳舞配情况图43示
图43
3 进行轮舞曲输入跳舞继续跳舞信息:轮舞曲结束输入跳舞想继续跳舞信息前未配成进行配跳舞图44示
图44
4退出系统:退出舞伴配系统输出谢谢图45示
图45
参考文献
[1] 严蔚敏吴伟民数结构[M]北京:清华学出版社2007
[2] 戴艳等零基础学算法(第二版)北京:机械工业出版社20122
[3] 谭浩强C语言程序设计(第三版) 北京:清华学出版社2005
[4] 张清国C语言程序设计教程(第二版)北京:清华学出版社2009
[5] 张长海C语言程序设计[M]北京高等教育出版社2006
[6] 吴文虎程序设计基础(第二版)北京:清华学出版社2004
附 录(程序清单)
关键代码:
#include
#include
struct xx跳舞信息
{
char name[10]
char sex[2]
}r[100]
typedef struct QNode
{
xx data
struct QNode*next
}QNode*q
typedef struct
{
q front队头指针
q rear队尾指针
}dl
int kdl(dl&d)构建空队列
{
dfrontdrear(q)malloc(sizeof(QNode))
if(dfront)
exit (0)
dfront>nextNULL
return 1
}
int crd(dl&dxx c)插入c队列元素
{
QNode*p
p(q)malloc(sizeof(QNode))
if(p)
exit (0)
p>datac
p>nextNULL
drear>nextp
drearp
return 1
}
int cd(dl&dxx&e)队列空删队头e返回值
{
QNode*p
if(dfrontdrear)
return 0
pdfront>next
ep>data
dfront>nextp>next
if(drearp)
dreardfront
free(p)
return 1
}
int dk(dl&d)判断队否空
{
if(dfrontdrear)
return 0
else
return 1
}
int xhd(dl&d)销毁队
{
while(dfront)
{
dreardfront>next
free(dfront)
dfrontdrear
}
return 1
}
int sc(dl&qmdl&qw)输出配情况
{
xx mw
printf(配情况\n)
while(dk(qm)&&dk(qw))
{
cd(qmm)
cd(qww)
printf(s s<>s s\nmnamemsexwnamewsex)
}
printf(\n\n)
return 0
}
int sr(dl&qmdl&qw)输入跳舞信息
{
int i0n
printf(请输入跳舞数<数100>)
scanf(d&n)
while(i
printf(请输入跳舞姓名性<男(m)女(w)>\n)
scanf(ssr[i]namer[i]sex)
if(r[i]sex[0]'m')
{
crd(qmr[i])
}
else
{
crd(qwr[i])
}
i++
}
return 0
}
int gn()功函数
{
int i1j
dl qmqw
kdl(qm)
kdl(qw)
while(1)
{
printf( 1输入跳舞信息★\n)
printf( 2输出配情况★\n)
printf( 3进行轮舞曲输入跳舞继续跳舞信息★\n)
printf( 4退出系统★\n\n)
printf(请输入选择序号:)
scanf(d&j)
switch(j)
{
case 3
case 1
{
printf(第d轮舞曲\n\ni)
i++
sr(qmqw)
break
}
case 2
{
if(dk(qm)&&dk(qw))
sc(qmqw)
break
}
case 4
{
xhd(qm)
xhd(qw)
printf(*****★★★谢谢★★★*****\n\n)
return 0
}
default
{
printf(输入错误请重新输入\n\n)
break
}
}
}
}
int main()
{
printf(********************************************\n)
printf(★★★★★★欢迎舞伴配系统★★★★★★\n)
printf(********************************************\n\n\n\n)
printf(功选择:★第次请选择输入跳舞信息\n\n)
gn()
return 0
}
课程设计总结:
通次课设学数结构知识更深层认识解提高C语言认识掌握操作力课设程中然遇困难通网查资料学帮助利完成次课设做程中体会数结构处应更函数调函数问题通次学进步锻炼实践力——进行编译修改错误单步踪检查错误等等时深刻解名优秀程序员成长需付出时深刻认识熟练运基知识做出程序基础条件做软件终满足户需求做软件时应切应户需求导学奠定基础更学语言知识学方法鉴学东西次课程设计受益匪浅十分帮助
指导教师评语:
指导教师(签字): 年 月 日
课程设计成绩
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档