数据结构课程设计报告多关键字排序高考排序


    
    XX工 学 院 计算机工程学院
    课程设计报告

    设计名称: 数结构课程设计
    选题名称: 关键字排序
    姓 名: 学 号:
    专业班级: 网络工程
    系 (院): 计算机工程学院
    设计时间:
    设计点: 软件工程实验室教室

    成绩:
    指导教师评语:









    签名: 年 月 日


    1.课程设计目
    1训练学生灵活应学数结构知识独立完成问题分析结合数结构理知识编写程序求解指定问题
    2初步掌握软件开发程问题分析系统设计程序编码测试等基方法技
    3提高综合运学理知识方法独立分析解决问题力
    4训练系统观点软件开发般规范进行软件开发巩固深化学生理知识提高编程水程中培养严谨科学态度良工作作风
    2.课程设计务求:

    题目:关键字排序
    问题描述
    关键字排序定实范围例:进行高考分数处理时需总分进行排序外专业单科分数求尚需总分相情况户提出单科分数次序求排出考生录取次序
    基求
    (1)假设排序记录超10000表中记录关键字数超5学科关键字范围均0100总分关键字范围0300户定进行排序关键字优先关系输出排序结果
    (2)约定LSD法进行关键字排序关键字进行排序时采两种策略:利稳定部排序法二利分配收集方法综合较两种策略
    测试数
    机数产生器生成
    实现提示
    LSD方法进行排序关键字均进行整序列排序利通常部排序方法进行排序时必须选稳定排序方法
    求:
    1处理题目时求分析题目需求入手设计抽象数类型构思算法通设计实现抽象数类型编制机程序机调试等干步骤完成题目终写出完整分析报告前期准备工作完备否直接影响序机调试工作效率程序设计阶段应量利已标准函数加代码重率
    2设计题目求达定工作量(300行代码)具定深度难度
    3程序设计语言推荐CC++程序书写规范源程序需加必注释
    4位学需提交独立运行程序
    5 位学需独立提交设计报告书(份)求编排格式统规范容充实少10页(代码算)
    6课程设计实践作培养学生动手力种手段单独考核
    3.课程设计说明书

    需求分析
    1)选题功分析
    题目意义
    1 高考分数总分学科分数优先级序排出考生录取次序满足专业单科分数求
    2 排序策略进行综合较
    实现功
    1 C语言设计实现高考成绩排序系统
    2 创建模拟高考考生成绩表存放txt文档中考生考号123…伪机数生成器生成考号学生学科成绩计算总分成绩
    3 实际中高考考生成绩表已知(模拟创建txt文档)程序文件中读取数创建考生成绩表中读取数数处理
    4 学科优先级序学生成绩排序某学科单科成绩优先级高排序先总分优先级高排序
    5 关键字单科成绩进行排序时候分稳定部排序法(泡法)分配’搜集’方法进行排序
    6 够泡法排序策略分配’搜集’方法排序策略进行执行时间进行较
    7 输入数:1科英文首字母代号字符型smce
    2整型数010000
    1输出程序两种方法进行排序进程执行时间
    2输出前n名学生信息

    二 概设计
    1 伪机生成数包含语文数学英语三科成绩总成绩语文数学英语三科成绩学号成绩数组标赋值生成学生成绩记录该记录保存txt文档中
    2 面txt文档中读取数二维数组中便学生信息进行处理
    3 出排序优先关系根优先关系低位高位逐关键字进行排序
    4 单科成绩进行排序时候单科成绩然0100总成绩0300建301队列进行排序先分配搜集方法进行趟基数排序然稳定部排序法(泡法)进行排序搜集排序序列存储进行次优先级关键字进行排序
    5 排序学生成绩户提出提取数求保存txt文档中输出屏幕
    6 系统抽象数类型定义
    double BubTime1 第关键字代表学科成绩泡法排序执行时间
    BubTime2
    BubTime3
    BubTime4
    BubTimeSum 泡法排序总时间
    DCTime1 第关键字代表学科成绩分配收集方法执行时间
    DCTime2
    DCTime3
    DCTime4
    DCTimeSum 分配收集法排序总时间
    int score[10000][5] 机创建模拟学生记录源数组
    bubble[10000][5] 进行泡法排序时存放学生记录源数组排序进行数组中记录发生交换
    copy[10000][5] 模拟学生记录源txt文件中读取学生记录该数组
    struct LSD d[301] 分配数组该处考虑总分(0300)列入优先级序列中建立301队列
    int *c[10000] 存放收集学生记录
    char x[5] 存放优先关系学科代号序列
    7 系统中函数模块
    1:void CreatScore(int score[10000][5]) 机创建学生记录表score正常高考中该表已知必创建
    2:void Collect(struct LSD d[301]int *c[10000]) LSD法排序中收集函数分配记录收集c指针数组保存
    3:void InitDivide(struct LSD d[301]) 初始化时分配数组次收集必须做工作
    4:double DCSort(struct LSD d[301]int *c[10000]int n) 分配(Divide)收集(Collect)排序方法
    5:double BubbleSort(int score[10000][5]int n) 泡法排序
    6:void Print() 排序结果文件中记录数输出屏幕
    7:void savesources(int score[10000][5]int n) 模拟创建高考学生信息记录存放文件中
    8:void saveresults(int score[10000][5]int n) 户求(总成绩前少名学生记录)n条学生记录存放新文件中
    9void load(int score[10000][5]) 学生高考记录源文件中读取记录该二维数组中
    8 函数间调关系
    1函数调子函数2外函数
    2:子函数4调子函数23
    功模块图

    M
    A
    I
    N

    InitDivide(d)
    CreateScore(score)
    Savesources(score10000)
    Lode(copy)
    DcSort(dc0)
    返回执行时间
    Collect(dc)
    InitDivide(d)
    BubbleSort(bubble0)
    返回执行时间
    Saveresults(bubblen)
    Print()


    三 详细设计
    1抽象数类型:
    该数类型分配收集时候存放分配成绩数组
    1’ 抽象数类型struct LSD
    struct LSD队列结构类型链表存储结构类型
    {
    int *cur前位置
    struct LSD *next队列中位置
    }

    2’ CreatScore(int score[RecordNumber][KeyNumber])函数
    *创建含RecordNumber名学生成绩记录score包含语文数学英语总分学号机生成语文数学英语成绩
    *传递参数成绩数组score返回值
    *
    void CreatScore(int score[RecordNumber][KeyNumber])
    {
    *伪机生成语文数学英语成绩*
    for(i0i< RecordNumberi++)
    {
    for(j0j<3j++)
    {
    score[i][j]rand()101 成绩范围0100
    }
    }
    *总分成绩初始化*
    for(i0i< RecordNumberi++)
    {
    score[i][3]score[i][0]+score[i][1]+score[i][2] 总成绩科成绩
    }
    *学号初始化*
    for(i0i< RecordNumberi++)
    score[i][4]i+1 学号前序次赋值
    }

    start
    创建Score[1000][5] 含语文数学英语总分学号
    伪机生成语文数学英语成绩
    初始化总分
    生成学号前序
    结束

    3’收集函数Collect(struct LSD d[QueueNumber]int *c[RecordNumber])
    *分配成绩数组d收集c指针数组保存
    * 传递参数分配数组d收集指针数组c返回值
    *
    void
    {
    struct LSD *p
    for(iQueueNumber1 i>0 i)
    {
    if(d[i]curNULL) 前队列空学生成绩分配该队列
    {
    p&d[i]
    while(p>curNULL) 前位置学生成绩
    {
    c[j]p>cur 收集c指针数组中
    j++
    pp>next 指针p指该队列位置
    }
    }
    }
    }

    前位置学生成绩开始
    初始化指针数组
    建立300队列
    队列空
    Y
    N
    前位置学生成绩收集指针数组中
    指针p指该队列位置
    结束












    4’初始化分配数组InitDivide(struct LSD d[QueueNumber])
    *初始化d数组置空次收集必须做工作
    *传递参数struct LSD d[QueueNumber]返回值
    *
    void InitDivide(struct LSD d[QueueNumber])
    {
    for(int i0i {
    d[i]curNULL
    d[i]nextNULL
    }
    }
    5’分配收集方法排序double DCSort(struct LSD d[QueueNumber]int *c[RecordNumber]int n)
    *分配收集方法排序
    *分配数组d收集数组c
    *进行排序关键字代表学科成绩n分配数组中位置n
    *传递参数分配数组struct LSD d[QueueNumber]收集指针数组int *c[RecordNumber]关键字代表学科数组中标
    *
    double DCSort(struct LSD d[QueueNumber]int *c[RecordNumber]int n)
    {
    *关键字代表学科成绩成绩分配d中*
    for(j0j {
    tempc[j][n] 学生成绩队列号
    if(d[temp]curNULL) 前队列空
    {
    d[temp]curc[j] c[j]代表学生成绩添加该队列中
    p&d[temp]

    p1(struct LSD *)malloc(LENGTH)
    p1>curNULL
    p1>nextNULL

    p>nextp1 初始化刚刚添加学生记录队列
    }
    else 前队列空
    {
    p&d[temp]

    *循环直队列结尾*
    while(p>curNULL)
    pp>next
    p>curc[j] c[j]代表学生成绩添加该队列中

    p1(struct LSD *)malloc(LENGTH) 新申请空间存放学生成绩
    p1>curNULL
    p1>nextNULL

    p>nextp1
    }
    } 分配完毕

    Collect(dc) 分配成绩序列收集c中
    InitDivide(d) 初始化分配数组

    return time 返回执行时间
    }
    6’泡法排序double BubbleSort(int bubble[RecordNumber][QueueNumber])
    *泡法排序
    *传递参数学生成绩记录int bubble[RecordNumber][KeyNumber]关键字代表学科成绩数组中标
    *
    double BubbleSort(int bubble[RecordNumber][KeyNumber]int n)
    {
    for(int i0i {
    for(int j0j {
    if(bubble[j][n] {
    *交换学生科成绩*
    for(int m0m {
    tempbubble[j][m]
    bubble[j][m]bubble[j+1][m]
    bubble[j+1][m]temp
    }
    }
    }
    }

    return time 返回排序执行时间
    }返回执行时间
    }

    7’ Print()函数
    *排序结果存放文件recordresultstxt中读取记录输出屏幕
    *
    void Print()
    {
    FILE *fp

    if((fpfopen(D\\recordresultstxtrb))NULL)
    printf(文件开失败\n)
    else
    printf(文件开成功\n)

    char t

    while(fscanf(fpc&t)&&feof(fp))
    {

    if(tEOF)
    printf(ct)
    } 果读结束符循环结束输出结束
    fclose(fp) 关闭文件
    }

    8’ savesources(int score[RecordNumber][KeyNumber]int n)
    *保存学生记录函数
    *参数保存学生记录记录条数
    *返回值
    *
    void savesources(int score[RecordNumber][KeyNumber]int n)
    {
    FILE *fp 指文件指针

    if((fpfopen(D\\recordsourcestxtwb))NULL) 写
    {
    printf(文件开失败\n)
    exit(1)
    }

    fprintf(fpdn) 记录条数写入文件
    fprintf(fp\r\n) 换行符号写入文件

    for(i0i {
    fprintf(fp10d10d10d10d10d
    score[i][4]score[i][0]score[i][1]score[i][2]score[i][3])格式写入记录
    fprintf(fp\r\n) 换行符号写入文件
    }

    fclose(fp)
    }

    9’ saveresults(int score[RecordNumber][KeyNumber]int n)
    *保存学生记录函数
    *参数保存学生记录记录条数
    *返回值
    *
    void saveresults(int score[RecordNumber][KeyNumber]int n)
    {
    FILE *fp 指文件指针

    if((fpfopen(D\\recordresultstxtwb))NULL) 写开建立二进制文件允许写数
    {
    printf(文件开失败\n)
    exit(1)
    }

    fprintf(fpdn) 记录条数写入文件
    fprintf(fp\r\n) 换行符号写入文件

    for(i0i {
    fprintf(fp10d10d10d10d10d
    score[i][4]score[i][0]score[i][1]score[i][2]score[i][3])格式写入记录
    fprintf(fp\r\n) 换行符号写入文件
    }

    fclose(fp)
    }

    10’ load(int score[RecordNumber][KeyNumber])
    *读入函数文件中记录度入二维数组中
    *参数结构体数组
    *
    void load(int score[RecordNumber][KeyNumber])
    {
    FILE *fp

    if((fpfopen(D\\recordsourcestxtrt))NULL) 开文件
    {
    printf(文件开失败\n)
    exit(1)
    }

    fscanf(fpd&n) 读入记录数
    for(i0i fscanf(fpd d d d d
    &score[i][4]
    &score[i][0]
    &score[i][1]
    &score[i][2]
    &score[i][3]) 格式读入记录
    fclose(fp)
    }
    11’算法分析
    1) LSD算法:
    种低位优先排序方法助趟基数排序方法先低位值记录进行初步排序基础次低位值进行进步排序类推低位高位趟前趟基础根关键字某位记录进行排序直高位样完成基数排序全程
    算法中出n记录(记录含d子关键字子关键字取值范围RADIX值)进行链式排序时间复杂度O(d(n+RADIX))中趟分配算法时间复杂度O(n)趟收集算法时间复杂度O(RADIX)整排序进行d趟分配收集需辅助空间2*RADIX队列指针需链表作存储结构相序结构存储记录排序方法言增加n指针域空间
    2) 泡法排序:
    该排序较简单交换类排序方法通相邻数元素交换逐步带排序列变成序序列程
    坏情况排序记录关键字逆序进行排列时趟泡排序需进行i次较3i次移动n1趟泡排序总较次数N∑in(n1)2n12…n1总移动次数3n(n1)2次该算法时间复杂度O(n*n)空间复杂度O(1)外泡排序法种稳定部排序法
    四 测试成果





    五 附录(源程序清单)
    #include
    #include
    #include
    #include

    struct LSD 抽象类型定义队列结构类型LSD法进行排序命名LSD
    {
    int *cur 前位置
    struct LSD *next
    }

    #define LENGTH sizeof(struct LSD)

    void CreatScore(int score[10000][5]) 机创建学生记录表score正常高考中该表已知必创建
    void savesources(int score[10000][5]int n) 模拟创建高考学生信息记录存放文件中
    void load(int score[10000][5]) 学生高考记录源文件中读取记录该二维数组中
    void Collect(struct LSD d[301]int *c[10000]) LSD法排序中收集函数分配记录收集c指针数组保存
    void InitDivide(struct LSD d[301]) 初始化时分配数组次收集必须做工作
    double DCSort(struct LSD d[301]int *c[10000]int n) 分配(Divide)收集(Collect)排序方法
    double BubbleSort(int score[10000][5]int n) 泡法排序
    void saveresults(int score[10000][5]int n) 户求(总成绩前少名学生记录)n条学生记录存放新文件中
    void Print() 排序结果文件中记录数输出屏幕

    int main()
    {
    double BubTime1 第关键字代表学科成绩泡法排序执行时间
    BubTime2
    BubTime3
    BubTime4
    BubTimeSum 泡法排序总时间
    DCTime1 第关键字代表学科成绩分配收集方法执行时间
    DCTime2
    DCTime3
    DCTime4
    DCTimeSum 分配收集法排序总时间
    int score[10000][5] 机创建模拟学生记录源数组
    bubble[10000][5] 进行泡法排序时存放学生记录源数组排序进行数组中记录发生交换
    copy[10000][5] 模拟学生记录源txt文件中读取学生记录该数组
    struct LSD d[301] 分配数组该处考虑总分(0300)列入优先级序列中建立301队列
    int *c[10000] 存放收集学生记录
    char x[5] 存放优先关系学科代号序列

    *初始化cscore函数步*
    for(int i0i<10000i++)
    c[i]score[i]

    InitDivide(d) 初始化队列

    *实际中全部学生高考记录存放文件中程序运行时该文件中读取源记录数
    *程序求机模拟创建该文件面创建学生记录(CreatScore())保存文件中(save())
    *调两函数生成全部学生记录
    *
    CreatScore(score) 伪机生成科成绩考号总成绩生成score数组中
    savesources(score10000) 机生成记录信息保存recordtxt中该文件程序运行时候变
    load(copy) 源记录文件recordtxt中读取学生记录数组copy中

    *防止改变源记录进行泡法排序时候bubble数组*
    for(i0i<10000i++)
    for(int j0j<5j++)
    bubble[i][j]copy[i][j] 源记录赋值bubble数组

    printf(请输入您种优先级序学生成绩进行排序:(总分数学语文英语)\n请输入smce(科英文首字母序列))
    scanf(sx) 输入进行排序关键字优先序列

    for(i3i>0i)
    {
    printf(\n\n现程序正c代表学科进行成绩分配请稍…x[i])
    switch(x[i])
    {
    case 'c' Chinese
    DCTime1DCSort(dc0) 语文关键字分配收集法排序返回时间
    BubTime1BubbleSort(bubble0) 语文关键字泡法排序
    break
    case 'm' Math
    DCTime2DCSort(dc1)
    BubTime2BubbleSort(bubble1)
    break
    case 'e' English
    DCTime3DCSort(dc2)
    BubTime3BubbleSort(bubble2)
    break
    case 's' Sum
    DCTime4DCSort(dc3)
    BubTime4BubbleSort(bubble3)
    break
    default
    printf(您输入科目代号错误\n) 输入代号错误提示
    break
    }
    }

    DCTimeSumDCTime1+DCTime2+DCTime3+DCTime4 分配排序法总时间等关键字进行排序分时间
    BubTimeSumBubTime1+BubTime2+BubTime3+BubTime4
    printf(\n分配收集方法排序执行总时间:3f\nDCTimeSum)
    printf(泡法排序执行总时间:3f\nBubTimeSum)
    printf(\n请问您提取少条学生成绩信息(010000):)

    int n
    scanf(d&n)
    saveresults(bubblen) 前n名学生记录保存结果文件recordresultstxt中
    Print() 结果文件recordresultstxt中读取记录屏幕

    return 0
    }

    *创建含10000名学生成绩记录score包含语文数学英语总分学号机生成语文数学英语成绩
    *传递参数成绩数组score返回值
    *
    void CreatScore(int score[10000][5])
    {
    int i
    j
    srand(time(NULL)) 利时间设置机种子产生机数

    *伪机生成语文数学英语成绩*
    for(i0i<10000i++)
    {
    for(j0j<3j++)
    {
    score[i][j]rand()101 成绩范围0100
    }
    }

    *总分成绩初始化*
    for(i0i<10000i++)
    {
    score[i][3]score[i][0]+score[i][1]+score[i][2] 总成绩科成绩
    }

    *学号初始化*
    for(i0i<10000i++)
    score[i][4]i+1 学号前序次赋值
    }

    *保存学生记录函数
    *参数保存学生记录记录条数
    *返回值
    *
    void savesources(int score[10000][5]int n)
    {
    printf(\n程序正模拟创建10000条高考成绩记录保存文件D\\recordresourcestxt中\n请稍…\n) 输出提示信息
    int i
    FILE *fp 指文件指针

    if((fpfopen(D\\recordsourcestxtwb))NULL) 写开建立二进制文件允许写数
    {
    printf(文件开失败\n)
    exit(1)
    }

    fprintf(fpdn) 记录条数写入文件
    fprintf(fp\r\n) 换行符号写入文件

    for(i0i {
    fprintf(fp10d10d10d10d10dscore[i][4]score[i][0]score[i][1]score[i][2]score[i][3])格式写入记录
    fprintf(fp\r\n) 换行符号写入文件
    }

    fclose(fp)
    printf(文件创建保存成功\n您通路径D\\recordsourcestxt进行查\n\n\n)
    }

    *读入函数文件中记录度入二维数组中
    *参数结构体数组
    *
    void load(int score[10000][5])
    {
    int i
    n
    FILE *fp

    if((fpfopen(D\\recordsourcestxtrt))NULL) 开文件
    {
    printf(文件开失败\n)
    exit(1)
    }

    fscanf(fpd&n) 读入记录数
    for(i0i fscanf(fpd d d d d
    &score[i][4]
    &score[i][0]
    &score[i][1]
    &score[i][2]
    &score[i][3]) 格式读入记录
    fclose(fp)

    printf(********************************排序系统开始运行********************************\n)
    printf(首先模拟高考成绩源文件recordsourcestxt中读取数\n正读取数请稍…\n)
    printf(成功源文件中读取 d 条记录排序系统中\n\n n)
    }

    *分配成绩数组d收集c指针数组保存
    * 传递参数分配数组d收集指针数组c返回值
    *
    void Collect(struct LSD d[301]int *c[10000])
    {
    int i
    j0
    struct LSD *p

    for(i300 i>0 i) 包含总成绩(0300)优先级分配队列0300
    {
    if(d[i]curNULL) 前队列空学生成绩分配该队列
    {
    p&d[i]
    while(p>curNULL) 前位置学生成绩
    {
    c[j]p>cur 收集c指针数组中
    j++
    pp>next 指针p指该队列位置
    }
    }
    }
    }

    *初始化d数组置空次收集必须做工作
    *传递参数struct LSD d[301]
    *
    void InitDivide(struct LSD d[301])
    {
    for(int i0i<301i++)
    {
    d[i]curNULL
    d[i]nextNULL
    }
    }

    *分配收集方法排序
    *分配数组d收集数组c
    *进行排序关键字代表学科成绩n分配数组中位置n
    *传递参数分配数组struct LSD d[301]收集指针数组int *c[10000]关键字代表学科数组中标
    *
    double DCSort(struct LSD d[301]int *c[10000]int n)
    {
    double time
    clock_t t_start 时间记录开始
    clock_t t_end 时间记录结束

    t_startclock() 获取排序开始时间

    int j
    temp
    struct LSD *p*p1

    *关键字代表学科成绩成绩分配d中*
    for(j0j<10000j++)
    {
    tempc[j][n] 学生成绩队列号
    if(d[temp]curNULL) 前队列空
    {
    d[temp]curc[j] c[j]代表学生成绩添加该队列中
    p&d[temp]

    p1(struct LSD *)malloc(LENGTH)
    p1>curNULL
    p1>nextNULL

    p>nextp1 初始化刚刚添加学生记录队列
    }
    else 前队列空
    {
    p&d[temp]

    *循环直队列结尾*
    while(p>curNULL)
    pp>next
    p>curc[j] c[j]代表学生成绩添加该队列中

    p1(struct LSD *)malloc(LENGTH) 新申请空间存放学生成绩
    p1>curNULL
    p1>nextNULL

    p>nextp1
    }
    } 分配完毕

    printf(\n分配完毕面开始进行收集请稍…\n)
    Collect(dc) 分配成绩序列收集c中
    printf(收集完毕\n)
    InitDivide(d) 初始化分配数组

    t_end clock() 获取结束测试点时间
    time(double)(t_endt_start)CLOCKS_PER_SEC
    printf(次分配收集时 3f s\ntime)

    return time 返回执行时间
    }

    *泡法排序
    *传递参数学生成绩记录int bubble[10000][5]关键字代表学科成绩数组中标
    *
    double BubbleSort(int bubble[10000][5]int n)
    {
    printf(\n面开始泡法进行排序请稍…\n)
    double time
    clock_t t_start
    clock_t t_end
    t_startclock()

    int temp
    for(int i0i<10000i++)
    {
    for(int j0j<9999ij++)
    {
    if(bubble[j][n] {
    *交换学生科成绩*
    for(int m0m<5m++)
    {
    tempbubble[j][m]
    bubble[j][m]bubble[j+1][m]
    bubble[j+1][m]temp
    }
    }
    }
    }

    t_end clock()
    time(double)(t_endt_start)CLOCKS_PER_SEC
    printf(次泡法排序时 3f s\n\ntime)

    return time 返回排序执行时间
    }

    *保存学生记录函数
    *参数保存学生记录记录条数
    *返回值
    *
    void saveresults(int score[10000][5]int n)
    {
    int i
    FILE *fp 指文件指针

    if((fpfopen(D\\recordresultstxtwb))NULL) 写开建立二进制文件允许写数
    {
    printf(文件开失败\n)
    exit(1)
    }

    fprintf(fpdn) 记录条数写入文件
    fprintf(fp\r\n) 换行符号写入文件

    for(i0i {
    fprintf(fp10d10d10d10d10dscore[i][4]score[i][0]score[i][1]score[i][2]score[i][3])格式写入记录
    fprintf(fp\r\n) 换行符号写入文件
    }

    fclose(fp)
    }

    *排序结果存放文件recordresultstxt中读取记录输出屏幕
    *
    void Print()
    {
    FILE *fp

    if((fpfopen(D\\recordresultstxtrb))NULL)
    printf(文件开失败\n)
    else
    printf(文件开成功\n)

    char t

    while(fscanf(fpc&t)&&feof(fp))
    {

    if(tEOF)
    printf(ct)
    } 果读结束符循环结束输出结束
    fclose(fp) 关闭文件
    }
    六 户手册
    程序运行环境DOS系统执行文件LSDSortexe
    进入程序界面:

    户时路径D\\recordresourcestxt文档中查模拟高考成绩表
    动计算出分配收集法泡法分需时间综合较两种方法

    提示输入求成绩优先关系序列然程序动进入排序系统程序分配收集程泡法排序程分输出排序结果
    然会面界面:


    提示户输入录取学生数目全部成绩输出高校录取没定数提取记录
    4课程设计心
    次课程设计收获开始迷迷糊糊明白题意现清楚该设计方面数次调试程中学东西
    1模块化思想程序模块化方便调某模块修改开始题目求位验收时候发现功未实现问题果程序乱函数间没清晰调关系参数传递混乱话难修改模块化思想短时间程序添加文件流操作功程序更加满足实际求更加清晰现容易添加功模块
    2调试技巧调试程中学遇错误:错误提示
    Cpp1obj error LNK2001 unresolved external symbol void __cdecl CreatScore(int (* const)[5]) (CreatScore@@YAXQAY04H@Z)
    DebugCpp1exe fatal error LNK1120 1 unresolved externals根前验知道连接出错前遇类似错误传递参数导致现想估计样问题程序参数传递正常找CreatScore时发现知道什时候剪切声明程序CreatScore没说明CreatScore什样实现
    3调试技巧调试时候般F10F20进行调试问老师时候学设置断点方法调试程序样通猜想某段代码进行调试省步骤
    4分析问题技巧设置断点方法类似例判断开文件否成功时三函数开关闭文件提示样:文件开失败样运行程序时果文件真开失败难知道块函数出问题设置提示信息清楚追踪程序运行发送错误报告种问题出现时总感觉知道手修改难知道错误发生点设置输出提示信息:程序已运行里样否输出该提示信息解程序否正常运行某位置
    5修改错误时候顶修改方法面错误勤勉定义错误改发现时候错误80子变成两三通错误影响范围变成中侧重点帮助
    6指针址进行文件操作时功文件中读取学生记录二维数组中感觉写没错输出结果总符合格式求址结果老师指导知道读取时候应该数存放数组址中赋值错误想法做
    7泡法排序认排序算法简单时候没书算法直接写泡排序直深信排序正确结果总出现错误排序结果正确书算法做正确程序设计时算法绝重视考虑会出现情况必须详细具体
    8参数传递程序中计算问题开始101队列进行分配出现错误排出结果变成址学考生信息输出调试天知道底里出错发现错误简单总成绩列入排序中总成绩三门学科总成绩0300应该301队列分配知道电脑总成绩分配里
    收获现想想没想起会编程程中运想起基花费长时间解决问题编程中死结整工作关键点停时寻求帮助会发现原简单












    文档香网(httpswwwxiangdangnet)户传

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

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

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

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

    下载文档

    相关文档

    链表排序北邮数据结构实验

    数 据 结 构实验报告实验名称:________链表排序___________学生姓名:_____________________班 级:________________班内序号:___...

    1年前   
    259    0

    项目排序办法

    北 京 证 券 投 行 部 推 荐 发 行 企 业 排 序 暂 行 办 法 推荐优质企业发行上市,不仅关系到证券市场规范发展,而且关系到公司的根本利益。为更好完成推荐工作,特制定本办法...

    12年前   
    11772    0

    排序效率比较

     ?排序效率比拟?专 业: 班 级: 姓...

    1天前   
    29    0

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

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

    11个月前   
    380    0

    员工绩效排序表

     xx公司 部门 年绩效排序排 序姓 名入职时间职 位绩效等级说 明123优差45678

    9年前   
    548    0

    会客座次排序

    会客座次排序  自由式  特点:不分身份、不分地位;  范围:适合非正式交往如亲友团圆、同学聚会,以及难以排列座次的时候,比如都是重要客户,无法分清主次时。  中心式  特点:犹如众星捧月,具...

    10年前   
    927    0

    排序法概念

    排序法 本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来吧!选取一个衡量因素来比较员工的工作效绩,可以从优到劣也可从劣到优来排序,每一次排序只能找一项最基本因素,排序法可分为简...

    10年前   
    464    0

    实验八顺序表的排序实验报告

     计算机科学与技术系 实 验 报 告 专业名称 计算机科学与技术 ...

    2年前   
    770    0

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

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

    1年前   
    205    0

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

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

    2年前   
    468    0

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

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

    3年前   
    681    0

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

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

    3年前   
    429    0

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

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

    4年前   
    709    0

    句子排序作业教师版

    句子排序作业教师版

    4年前   
    1029    0

    座次排序的礼仪

    座次排序的礼仪  一、座次排序基本规则  以右为上(遵循国际惯例),居中为上(中央高于两侧),前排为上(适用所有场合),以远为上(远离房门为上),面门为上(良好视野为上)。  二、宴会座次  ...

    12年前   
    815    0

    数据结构试题及答案多套

    数据结构试卷(一) 1数据结构试卷(二) 4数据结构试卷(三) 6数据结构试卷(四) 8数据结构试卷(五) 11数据结构试卷(六) 14数据结构试卷(七) 16数据结构试卷(八) 18数据结构...

    3年前   
    892    0

    数据结构实习报告

    数据结构实习报告  一、需求分析1、  程序所实现的功能;2、  程序的输入,包含输入的数据格式和说明;3、  程序的输出,程序输出的形式;4、  测试数据,如果程序输入的数据量比较大,需要给...

    8年前   
    1046    0

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

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

    3年前   
    537    0

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

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

    1年前   
    322    0

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

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

    2年前   
    579    0

    文档贡献者

    文***享

    贡献于2023-10-12

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

    该用户的其他文档