数据结构课程设计舞伴配对程序


    沈阳航空航天学


    课 程 设 计 报 告


    课程设计名称:数结构课程设计
    课程设计题目:舞伴配程序




    院(系):计算机学院
    专 业:计算机科学技术
    班 级:
    学 号:
    姓 名:
    指导教师:
    完成日期: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)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 3 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    数据结构实训报告舞伴配对实训

    数据结构实训报告(一) 应用程序名称及要求··································3 (二) 应用程序主体、设计目的························...

    3年前   
    1057    0

    舞伴配对系统实训报告

    舞伴配对系统本题目设计目的是训练本人的基本编程能力,了解数据结构C++实现系统的开发流程,掌握数据结构和熟悉C++语言的面向对象各种基本操作。本程序中涉及结构体、单链表、类等方面的知识。通过本...

    3年前   
    741    0

    算法与数据结构的商品货架管理课程设计报告(还有程序源代码)

    课程设计课 程: 算法与数据结构 题 目: 商品货架管理 专 业: 计算机类 班 级: ...

    1年前   
    322    0

    数据结构和算法课程设计题目

    XX大学课程设计课程名称: 数 据 结 构 与 算 法院(部)名 称: 信息与计算科学学院组长姓名学号 同组人员姓名指导教师姓名: 设 计 时 间: 2010.6.7-...

    11个月前   
    377    0

    选择舞伴的规矩

    选择舞伴的规矩  在私人舞会上,每位男士都应当同举办舞会的女主人,以及他在餐桌上座位两侧的女士跳舞。当然,他必须同他带来的女士跳第一支和最后一支舞。他还应该在整个晚上观察他妻子没有同其他舞伴跳...

    9年前   
    808    0

    数据结构课程设计报告最小生成树Kruskal算法

    计算机科学与技术系课程设计报告 2014-2015学年第二学期课程数据结构课程设计名称Kruskal算法求最小生成树学生姓名 学号 专业班级 软件工程指导教师 2014年X月题目:设计...

    1年前   
    204    0

    设计散列表实现电话号码查找系统数据结构课程设计

    XX学院课程设计报告书专 业:计算机科学与技术 课程设计名称:《数据结构课程设计》题 目:设计散列表实现电话号码查找系统班 级: 学    号: 姓 ...

    2年前   
    578    0

    高校教材管理系统数据结构课程设计

    数据结构课程设计题 目: 高校教材管理系统 课 程 设 计 任 务 书一、课程设计题目: 高校教材管理系统...

    3年前   
    774    0

    数据结构课程设计报告——图书管理系统

    课程设计报告 课设课题: 课程设计——图书管理系统 学 院: 电 子 信 息 学 院 专 业: 网 络 工 程 ...

    3年前   
    680    0

    数据结构文本编辑器课程设计

    数据结构课程设计报告一. 需求分析1.题目及要求名称:简单的文本编辑器内容:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行。要求:(1)...

    1年前   
    299    0

    哈夫曼树应用数据结构课程设计报告

    数据结构课程设计报告设计题目:哈夫曼树应用 专 业 : 软件工程 班 级 : 软件 学 生 : ...

    2年前   
    467    0

    数据结构课程设计图的建立与输出

    数据结构课程设计设计题目:图的建立与输出系 别: 电子与信息工程学院 专 业: 电子信息工程 班 级: 级班 ...

    6个月前   
    175    0

    关于数据结构课程设计心得体会范文

    关于数据结构课程设计心得体会范文   关于数据结构课程设计心得体会(1)   这学期开始两周时间是我们自己选题上机的时间, 这学期开始两周时间是我们自己选题上机的时间,虽然 上机时间只...

    5年前   
    1415    0

    车牌号管理系统数据结构课程设计报告

    XX 学 院 计算机工程学院课程设计报告设计名称: 数据结构课程设计 选题名称: 车牌号管理系统 ...

    3年前   
    429    0

    数据结构课程设计报告n维矩阵乘法

    设计一个矩阵相乘的程序,首先从键盘输入两个矩阵a,b的内容,并输出两个矩阵,输出ab-1结果。

    4年前   
    708    0

    数据结构课程设计运动会分数统计(C语言版)

    数据结构课程设计运动会分数统计(C语言版)目 录第一章 绪 论 1 1.1 运动会分数统计系统的背景 1 1.2 运动会分数统计系统的任务和目标 1第二章 运动会分数统...

    3年前   
    637    0

    2021文学研究助手+数据结构程序设计

    文学研究助手+数据结构程序设计问题描述:文字研究人员需要统计某篇英文小说中某些特定单词的出现次数和位置,试写出一个实现这一目标的文字统计系统。这称为“文学研究助手”。算法输入:文本文件和词集。...

    3年前   
    754    0

    ping程序课程设计实验报告

    Windows网络程序设计课程设计 课 程 名 称 ping程序设计 姓   名 ...

    2年前   
    473    0

    Ping程序的设计与实现课程设计

     计算机网络课程设计报告设计名称 Ping程序的设计与实现 专业班级 同组人姓名 ...

    3年前   
    619    0

    数据结构(C语言版)课程设计报告表达式求值说明书

    XX大学数据结构课程设计说明书题目: 表达式求值 院 系: 计算机科学与工程学院 专业班级: 计算机班 学...

    3年前   
    535    0

    文档贡献者

    文***享

    贡献于2023-01-31

    下载需要 3 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档