- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计综合课程设计
PAGE 31
《程序设计基础》课程设计
学生成绩排名系统
课程设计的目的和要求
高级语言课程设计的主要目的是培养学生能够提高综合应用语言的能力,通过课程设计的训练,使学生能及时巩固已学的知识,补充未学的但有必要的内容,掌握应用计算机解决实际问题的基本方法,熟悉程序开发的全过程,提高综合应用语言的能力。高级语言程序设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结构程序设计的方法按照课程设计的题目要求,分析,编写,调试和测试高级语言程序及编写设计报告。
1.1课程设计的目的
1.巩固和掌握高级语言程序设计基本概念;
2.掌握基本的程序设计方法;
3.掌握开发软件所需的需求定义能力;
4.提高书写程序设计说明文档的能力;
5.提高综合运用高级语言的能力,强化编程和调试能力。
1.2 课程设计的基本要求
1.根据所给的课程设计题目,分析课程设计题目的要求;
2.对系统功能模块进行分析,写出详细的设计说明文档;
3.编写程序代码,调试所编写程序使其能正确运行;
4.设计完成的软件便于完成和使用;
5.设计完成后提交课程设计报告;
课程设计任务内容
2.1 考核内容
2.1.1 编写的C++语言程序
●针对编写的C++程序,应该主要考查下列内容:
●是否符合题目要求,是否完成了主要功能;
●是否存在语法错误、逻辑错误及运行错误;
●程序设计是否合理;
●程序是否具有良好的可读性和可靠性;
●是否符合结构化程序设计所倡导的基本理念;
●用户界面是否友好。
2.1.2 课程设计报告
●针对提交的课程设计报告,应该主要考查下列内容:
●程序设计的报告内容是否全面,观点是否正确;
●设计过程是否符合结构化程序设计方法的基本原则;
●层次是否清楚,语言是否通顺;
●各种图表是否规范;是否具有良好的程序设计习惯。
2.2 课题
10、学生信息管理系统设计
实现以下功能:
1) 系统以菜单方式工作;
2) 学生信息录入功能(学生信息用文件保存);
3) 学生信息浏览功能;
4) 查询、排序功能(至少两种查询依据和两种排序依据);
5) 学生信息删除、修改功能。
备注:学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
详细设计说明
3.1 模板设计图
该系统可以按功能进行模块划分,其模块如图3-1所示:
图3-1 模板设计图
其中:
1.学生成绩录入
2..增加学生成绩记录模块可以完成学生成绩的输入,输入信息包括班级、学号、姓名、课程名、成绩。
3 .删除学生成绩记录模块可以完成学生成绩的删除。
4.查询学生成绩记录模块可以完成学生成绩的查询,可以通过输入姓名、学号
或者是课程 名来查询学生成绩。
5.学生成绩排序模块可以完成对学生成绩的排序,按照成绩的高低来进行排
序。
3.2 函数模块、功能分析、参数说明
1.增加学生成绩记录模块(void Manage::add( ))
对应于总体设计时的系统功能模块图,各个功能模块的处理逻辑如下:
主要完成将数据存入单链表中的工作。在这次增加学生成绩记录中,记录可以从二进制形式存储的数据文件中读入,也可以从键盘逐个读入学生记录。如图3-2所示:图3-2 增加学生成绩记录流程图 .
2.删除学生成绩记录模块(void Manage::del( ))
要删除某个学生的信息,就要从磁盘文件中将所有同学信息读出来,然后除要删除的学生外,其它的所有记录再重新存入原来的磁盘文件中,如图3-3所示:
开始
开始
读入信息
读入信息
输入要删除学生的学号
输入要删除学生的学号
是否找到
是否找到
N
删除成功Y
删除成功
结束
结束
图3-3 删除学生成绩记录流程图
3..查询学生成绩记录模块(void Manage::search( ))
主要完成在单链表中查找满足相关条件的学生记录。用户可以按照学生的 学号、姓名或课程名在单链表中进行查找。未找到输出提示信息,如图3-4所示:
图3-4 查询学生成绩记录流程图
4.学生成绩排序模块
主要完成按照成绩的高低来进行排序,如图3-6所示:
结 束
结 束
初始化指向第一个位置待排序元素为N-1个
初始化最大值及位置,计算待比较元素的地址和计算比较次数
比较对象小于当前最大值
保存新的最大值和它的位置
调整指针,准备下一次比较
本次比较操作结束?
将最大值元素和当前位置元素进行交换,调整到一个位置
调整缓冲区对应记录
N—1个最大值选择结束
开始
Y
N
Y
N
N
Y
文档评论(0)