数据结构实训报告-二分查找学生管理实训报告
吉林工业职业技术学院
( 数据结构实训 )
( 20~ 2012 学年第 学期)
指导教师:
专业班级: 计算机3101
学生姓名:
2011年月日实训项目2
实训目的2
设计分析2
设计方案3
6
使用说明18
运行调试18
实训心得25
参考文献27
数据结构实训报告
实训项目
1. 个人项目:二分法查找演示
问题描述
要 求line(x1,y1,x2,y2)-画直线;,bar(x1,y1,x2,y2)-画矩形,settextstyle(0,0,2)-字体大小,outtextxy(x,y,变量或常量)-输出内容; initgraph(&gd,&gm,"c:\\tc") -tc所在目录的路径,setfillstyle(SOLID_FILL,0)-每次演示的时候先将下面显示的文字给去处掉,等等。
2. 小组项目:学生成绩管理
问题描述:编写一个学生成绩管理系统,实现计算每个学生的总分、平均分,班级的总分、平均分,按分数高低排序。包含插入、删除、修改、查询、显示模块。
要求:成绩包括本学期所开设的课程(数据结构、计算机网络、数据库原理、……),采用菜单程序编写。包含插入、删除、修改、查询、显示模块。
实训目的
通过本次实训,能够进一步巩固、掌握程序设计基础和数据结构课程的基本知识、基本技能。运用算法分析与程序设计的一般方法进行实际项目的开发。本项目需要具备熟练的数组和线性表知识,具备程序编写、调试的基本能力,具有一定的文字表达和报告撰写能力,具备办公软件使用能力。
设计分析
1. 个人项目:二分法查找演示
用户在键盘上输入,即,如:。设计方案
把分成个部分:一是;是。
实现第一个思想:。算法的基本思想是:
;
;
;
;
。
line(x1,y1,x2,y2)-画直线,bar(x1,y1,x2,y2)-画矩形,settextstyle(0,0,2)-字体大小,outtextxy(x,y,变量或常量)-输出内容,initgraph(&gd,&gm,"c:\\tc") -tc所在目录的路径,setfillstyle(SOLID_FILL,0)-每次演示的时候先将下面显示的文字给去处掉,主要利用这些函数画出查找演示所需的三个指针。
实现第个算法思想:
设置初始区间low=0;high=n-1;
;
;
,;
数据结构定义:
;//取中点
if(y
If(y>a[mid]) low=mid+1;//在右半区查找
2. 小组项目:学生成绩管理
学生成绩管理系统结构图:
(1)建立一个明了的管理菜单,管理菜单包括:录入学生成绩(输入学生成绩菜单)、导入学生成绩(在外界表中的学生成绩信息导入到系统中)、查询学生成绩(利用学号、姓名进行查询学生成绩信息)、删除学生记录、追加学生记录(插入与修改学生成绩信息)、显示学生记录(对每总体学生成绩信息进行显示查询)、统计学生成绩(利用个人平均分和总分、单科平均分、总分最高分、总分最低分进行对各个学生成绩的汇总与排名)、保存输入记录(将输入完整的学生信息导出一张表进行保存)、成绩进行排序(有按学号排序、学生姓名排序和按单科成绩进行排序)、退出。
(2)使操作人员很容易的完成对学生成绩的查询、修改、添加、保存和导入。
(3)在统计与排序这一模块中又可分为多个可操作模块,大大增加了此系统的功能,如统计学生成绩中可分为按个人总分和平均分统计、按单科平均分统计、按总分最高分和总分最低分统计;而在排序这一模块中又分为按学生学号、学生姓名、学生各单科成绩排序,大大减少了工作量。
(4)和以往系统不同,在它的模块中新增加拉保存与导入记录这两个模块,运用这两个模块可以将外界数据导入系统中或将本系统中的数据导入外界进行保存工作,以防数据丢失。
(5)对要查询的数据要有准确性。
数据结构定义:
定义主函数main( );在main( )里定义变量,使用do-while设计程序的容错性,定义被调函数creat2311、load2311、search2311、dell2311、add2311、printf2311、statistics2311、save2311、taxis2311和exit(0)判断所要进行的操作。
while(1)
{k=menu2311(k);
switch(k)
{
case 1: head=creat2311();break;/*调用创建链表函数*/
case 2: head=load2311(head);break;/*从文件调入记录函数*/
case 3: head=search2311(head);br