数据结构是计算机课程的一门重要的基础课,它的教学要求大致有三个重要方面:其一就是让学生学会分析研究计算机加工的数据对象的特性,以便为数据选择适当的物理结构和逻辑结构;其二,根据结构,选择适当的算法,并初步掌握算法的时间分析和空间分析;其三,学习复杂的程序设计。本综合实训利用visual studio 2008 集成编程环境为实践工具,通过上机实践培养学生分析具体问题、解决实际问题的能力,训练和培养学生的数据抽象能力和程序设计的能力。
数据结构是一门实践性较强的课程,以养学生的数据抽象能力和程序设计的能力为目的。在实训时应注重培养学生的实际操作能力。本综合实训安排了20学时的实验课时,完成4次上机作业。
具体要求如下:
1. 学习和理解每个实训题目的基本理论和方法;
2. 掌握每个实验的实现步骤和关键技术;
3. 准备好实验所需要的资源和文档;
4. 上机实现程序,得到通过调试的正确程序。
5. 根据每个实验的不同要求,完成实验报告的word文档。
二.实训环境
windows 7
visual studio 2012
三、实训内容
1 ) 问题描述。
使用下面的数据,设计一个简单的成绩管理系统,实现出最基本的功能。
学生基本信息文件(及其内容:文件不需要编程录入数据,可用文本编辑工具直接生成。
学号姓名性别宿舍号码**号码。
01 张成成男 501 87732111
02 李成华女 101 87723112
03 王成凤女 101 87723112
04 张明明男 502 87734333
学生成绩基本信息文件(及其内容:
学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分。
01 a01 大学物理 3 66 78 82
02 b03 高等数学 4 78 -1 90
01 b03 高等数学 4 45 -1 88
02 c01 vf 3 65 76 66
数据录入功能: 对进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据。 综合成绩、学分由程序根据条件自动运算。
综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%; 如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*.15%+卷面成绩*70% .
实得学分的计算: 采用等级学分制。
综合成绩在90-100之间 ,应得学分=学分*100%
综合成绩在70-90之间 ,应得学分=学分*80%
综合成绩在60-70之间 ,应得学分=学分*65%
综合成绩在60以下 ,应得学分=学分*0%
2)删除功能:当在中删除一个学生时,自动地在中删除此人所有信息。
3)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。
4)查询功能:分为学生基本情况查询和成绩查询两种。
a:学生基本情况查询:
a1---输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出。
a2---输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。
b:成绩查询:
b1:输入一个学号时,查询出此生的所有课程情况,格式如下:
学号:xx 姓名:xxxxx
课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx
课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx
课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx
共修:xx科,实得总学分为: xxx
四、算法描述及实训步骤
一.学生成绩录入。
2.各种排序实现。
五、总结及心得体会。
我这次数据结构实训中,我能够明显的感觉到团队的力量是强大的,为什么这么说呢?因为,此次实训我们的课题是学生成绩管理,我们查询了很多资料,由于涉及到操作的数据是txt文本文件里面的数据,我们都不是很熟悉这方面的知识,所以,我们集思广益,发挥自己找到资料的信息内容,我们进行讨论,总合信息之后,我们就明确分工,各自在搭建的核心数据上进行各项操作,保质保量的完成了这个项目。
这次实训中,首先最重要的就是数据录入,要有了数据,然后才能在此基础上进行操作,我主要负责成绩信息录入和成绩的排序。同组成员完成删除和查找功能,组员没有录入功能,他们按照自己编写的txt文本,进行测试,各项单元测试完成了之后。然后,我们再把各自的程序集合在一起调试,测试修改。
修正为相对完善的学生成绩管理系统。
一个完整项目的开发它所要经历的阶段包括:远景范围规划和用例说明、项目结构和风险评估、业务功能说明书、详细设计说明书、**实现、测试和安装包等等。一个项目的开发所需要的财力、人力都是很多的,如果没有一个好的远景规划,对以后的开发进度会有很大的影响,甚至会出现在预定时间内不能完成项目或者完成的项目跟原来预想的不一样。
一份好的项目结构、业务功能和详细设计说明书对一个项目的开发有明确的指引作用,它可以使开发人员对这个项目所要实现的功能在总体上有比较明确的认识,还能减少在开发过程**现不必要的麻烦。**的实现是一个项目开发成功与否的关键,也就是说,前期作业都是为**的实现所做的准备。
这个学期的数据结构的实训,我对软件开发技术和过程有了更深一步的了解,对文件系统有一定的认识与使用也有了大大的提高。以及如何运用数据结构进行操作方面有了本质的提高。
短短的实训结束了,为我将来的学习打下了良好的基础,也提高了我的软件开发的水平,今后我将会更加努力的学习,不断提高自身素质,开拓创新,与时俱进,做一个优秀的软件开发工程师。
6、实训结果。
一)录入功能实现。
1.将需要输入的学生成绩信息输入到textbox里面,然后点击录入按钮。
2.点击录入成绩按钮后,录入数据成功,然后textbox里面的数据录入到学生成绩信息。txt文本里面,然后通过外部操作文本数据。
2)排序功能实现。
1.默认显示存入文本时候的顺序。
2.将学生成绩按照学分升序排行。
3.按照学分降序排行。
4.按照综合成绩升序排行。
5.按照综合成绩降序排行。
七、源**:
一).录入功能算法设计。
using system;
using
using
using
using
using
using
using
using
namespace 学士成绩管理。
public partial class form1 : form
private void button2_click(object sender, eventargs e)
string stuinfor =
string stu =
string totalscore =
if ( 1)
totalscore = 0.3 + 0.7);
elsetotalscore =
string xuefen =
int k = int)
switch (k)
case 10:
case 9: xuefen = 1);
break;
case 8:
case 7: xuefen = 0.8);
break;
数据结构课程设计
课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2...
数据结构课程设计
数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。...
数据结构课程设计
班级 信计 1102 姓名 李娜娜。学号 1108060209 设计日期 2013.07.15 西安科技大学计算机学院 1.实验题目 编制一个演绎扫雷游戏的程序。2.问题描述。做一个n x m的扫雷游戏,每个方格包含两种状态 关闭 closed 和打开 opened 初始化时每个方格都是关闭的,一个...