1、程序设计综合课程设计 1 程序设计基础课程设计 -学生成绩排名系统 第一章第一章 课程设计的目的和要求课程设计的目的和要求 高级语言课程设计的主要目的是培养学生能够提高综合应用语言的能力,通过课 程设计的训练,使学生能及时巩固已学的知识,补充未学的但有必要的内容,掌握应 用计算机解决实际问题的基本方法,熟悉程序开发的全过程,提高综合应用语言的能 力。高级语言程序设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结 构程序设计的方法按照课程设计的题目要求,分析,编写,调试和测试高级语言程序 及编写设计报告。 1.1 课程设计的目的课程设计的目的 1.巩固和掌握高级语言程序设计基本概念; 2
2、.掌握基本的程序设计方法; 3.掌握开发软件所需的需求定义能力; 4.提高书写程序设计说明文档的能力; 5.提高综合运用高级语言的能力,强化编程和调试能力。 1.2 课程设计的基本要求课程设计的基本要求 1.根据所给的课程设计题目,分析课程设计题目的要求; 2.对系统功能模块进行分析,写出详细的设计说明文档; 3.编写程序代码,调试所编写程序使其能正确运行; 4.设计完成的软件便于完成和使用; 5.设计完成后提交课程设计报告; 程序设计综合课程设计 2 第二章第二章 课程设计任务内容课程设计任务内容 2.1 考核考核内容内容 2.1.1 编写的编写的 C+语言程序语言程序 针对编写的 C+程序
3、,应该主要考查下列内容: 是否符合题目要求,是否完成了主要功能; 是否存在语法错误、逻辑错误及运行错误; 程序设计是否合理; 程序是否具有良好的可读性和可靠性; 是否符合结构化程序设计所倡导的基本理念; 用户界面是否友好。 2.1.2 课程设计报告课程设计报告 针对提交的课程设计报告,应该主要考查下列内容: 程序设计的报告内容是否全面,观点是否正确; 设计过程是否符合结构化程序设计方法的基本原则; 层次是否清楚,语言是否通顺; 各种图表是否规范;是否具有良好的程序设计习惯。 2.2 课题课题 10、学生信息管理系统设计 实现以下功能: 1) 系统以菜单方式工作; 2) 学生信息录入功能(学生信
4、息用文件保存) ; 3) 学生信息浏览功能; 4) 查询、排序功能(至少两种查询依据和两种排序依据) ; 5) 学生信息删除、修改功能。 程序设计综合课程设计 3 备注:学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail 等。 详细设计说明 3.1 模板设计图模板设计图 该系统可以按功能进行模块划分,其模块如图 3-1 所示: 图 3-1 模板设计图 其中: 1.学生成绩录入 2增加学生成绩记录模块可以完成学生成绩的输入,输入信息包括班级、学号、 姓名、课程名、成绩。 3 .删除学生成绩记录模块可以完成学生成绩的删除。 4.查询学生成绩记录模块可以完成学生成绩的查询,可以
5、通过输入姓名、学号 或者是课程 名来查询学生成绩。 5.学生成绩排序模块可以完成对学生成绩的排序,按照成绩的高低来进行排 序。 程序设计综合课程设计 4 3.2 函数模块、功能分析、参数说明函数模块、功能分析、参数说明 1.增加学生成绩记录模块(void Manage:add( ) 对应于总体设计时的系统功能模块图,各个功能模块的处理逻辑如下: 主要完成将数据存入单链表中的工作。在这次增加学生成绩记录中,记录可以从 二进制形式存储的数据文件中读入, 也可以从键盘逐个读入学生记录。 如图 3-2 所示: 图 3-2 增加学生成绩记录流程图 . 2.删除学生成绩记录模块(void Manage:d
6、el( ) 要删除某个学生的信息,就要从磁盘文件中将所有同学信息读出来,然后除要删 除的学生外,其它的所有记录再重新存入原来的磁盘文件中,如图 3-3 所示: N Y 图 3-3 删除学生成绩记录流程图 开始 读入信息 输入要删除 学生的学号 是否找到 删除成功 结束 程序设计综合课程设计 5 3查询学生成绩记录模块(void Manage:search( ) 主要完成在单链表中查找满足相关条件的学生记录。用户可以按照学生的 学号、姓名或课程名在单链表中进行查找。未找到输出提示信息,如图 3-4 所示: 图 3-4 查询学生成绩记录流程图 4学生成绩排序模块 主要完成按照成绩的高低来进行排序,如图 3-6 所示: 程序设计综合课程设计 6 图 3-6 学生成绩排序流程图 结 束 初始化指向第一个位置待排 序元素为 N-1 个 初始化最大值及位置,计算待 比较元素的地址和计算比较次 比较对象小于 当前最大值 保存新的最大值和它的位置 调整指针,准备下一次比较 本次比较操作 结束? 将最大值元素和当前位置元 素进行交换, 调