数据结构课程设计实验报告—学生管理.doc
《数据结构课程设计实验报告—学生管理.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计实验报告—学生管理.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、中南大学“数据结构”课程设计(学生管理系统)专业: 计算机类 班级: 姓名: 学号: 完成日期:二一年七月六日目录:1 问题描述2 基本要求3系统分析与设计4 测试数据及结果 5 总结6 附录:源程序清单学生信息管理系统1.问题描述设计一个学生信息管理系统,实现对学生基本信息的添加、删除、修改和查询等操作。2.基本要求: 程序采用图形界面下进行交互的工作方式,完成如下功能:(1) 多种方式建立学生信息l 每个学生信息由学号、姓名、数学、英语和语文组成;l 可以通过手工录入每个学生信息,并在StudentFile.txt保存;l 也可以导入某个路径下存放学生信息的文本文件。(2) 浏览所有学生信
2、息。(3) 按照学号对所有学生信息进行升序、降序排列,并输出l 可选用冒泡、选择、快速排序等算法;l 不仅输出屏幕显示,还需要写入存放学生信息的文件。(4) 按姓名、学号等方式,实现对学生信息精确查询、模糊查询,并输出屏幕显示 l 精确查询结果演示查询“姓名是刘梅”同学信息,则输出 学号 姓名 数学 英语 语文 . 刘梅 88 90 78 .l 模糊查询结果演示查询“姓刘”的同学信息,则输出 学号 姓名 数学 英语 语文 . 刘梅 88 90 78 . 刘强 87 80 98 . 刘星 86 70 58 .l 能够实现连续多次查询 (5) 学生信息的插入、删除、修改。l 通过插入、删除和修改后
3、,保持所有学生信息的有序性;l 插入、删除和修改后,对存放所有学生信息的文件及时更新。(6) 数据的统计功能l 统计每个学生的平均分和总分;l 统计每个科目的平均分和最高分、最低分;l 将上述统计结果,写入存放学生信息的文件。3系统分析与设计流程图:打开系统结束case 1文件内有数据主菜单选择case 2case 3case 4case 5case 6case 7插入并排序修改删除查询输出统计输出退出导入系统学生信息由一个学生结构体保存其个人信息。学生结构体存放于一个结构体数组中,即线性表。各个学生按照学号排序,此处用到了直接插入排序。从数组的第一个元素开始存放学生结构体,0号做“哨兵”。信
4、息的模糊查询:可通过学号或者姓名进行查询,用字符串的匹配完成这一功能。信息的删除:精确查询到该学生信息的存储位置,然后逐个将后面的信息前移一个位置,实现删除功能。输出时的结果为顺序排列后的信息。启动系统,插入信息后,会在C盘根目录下生成一个STUDENTF的文件,学生信息保存在这里,进行删除或者插入后会实时更新文件内容。重新打开系统,程序会首先载入文件内容,即上次更新后的信息。我们也可以到C盘根目录下找到保存文件,查看其中内容。选择退出项后,退出系统。4 测试数据及结果 本程序以TC为编译运行环境。输入信息后,输出学生信息:修改号成绩为150.150.150后:文件内容:删除:删除这三个信息后
5、输出:可以看到,原来有7组记录,删除3组记录后,剩余4组记录,且有序。此时文件内容为:统计结果:主菜单:5总结:本学期学习数据结构这门课程,在学习算法的同时,也在不断巩固着我们C语言的基础知识功底。本次实验使我深化理解了数据结构的有关知识。对于线性表,排序,查找,串的匹配等算法在实际中的应用有了更深一步的了解。真正认识到通用算法的作用,理解并应用这些算法,不但大大提高了编程的速度。同时这些算法的高效性,也使程序能够更有效的运行,时间复杂度更低。实验过程中应当注意一些细节性的问题,主要有,=与=经常写错。循环条件的临界位置,是大于等于或者小于等于还是大于或小于,一不小心便会出错。 通过本次课程设
6、计,我体会到了编程能力的中很重要的两点:良好的编程习惯。有一个良好的编程习惯是很重要的,例如一个好的命名习惯,可以让变量所表示的数据很明显,写程序时结构分明,适当的添加注释。不但便于和其他人之间的交流,而且在日后重新看自己这段代码的时候,也易于看懂。否则,一段时间后,自己写的代码也需要花费很多时间才能看懂。学习一些算法很重要。虽然随着科技发展,计算机速度越来越快,程序的运行速度的影响已经大大不如从前。但是,一个好的算法,能提高程序运行速度。而且,理解掌握好的算法,不但可以使人养成良好的编程思想,还能提高编程时的速度。 另外的一点体会是,不但要提高自己的编程能力,而且还要注意培养自己的表达能力。
7、能够将一个程序的功能以一种简单明了的方式表达出来很重要。现在对着老师讲,尚且讲不好,将来,面对客户呢?这是通过本次实验,我意识到的又一个很重要的问题。6附录(源代码):#include #include #include #include #include graphics.htypedef struct Student long key; char num11; char name20; int english; int math; int chinese; int total;STU;typedef struct STU *stu; int length;List;void initgr(
8、void) /* BGI初始化 */ int gd = DETECT, gm = 0; /* 和gd = VGA,gm = VGAHI是同样效果 */ initgraph(&gd, &gm, );void flash(int x1,int y1,int x2,int y2) int i; setcolor(YELLOW); rectangle(x1,y1,x2,y2); for(i=0;i15;+i) delay(50000); setcolor(BLACK); rectangle(x1,y1,x2,y2); for(i=0;i10;+i) delay(50000); void flash_c
9、ircle(int x,int y,int r) int i; setcolor(YELLOW); circle(x,y,r); for(i=0;i15;+i) delay(50000); setcolor(BLACK); circle(x,y,r); for(i=0;i15;+i) delay(50000); int Index(char T1,char T2) unsigned int i; for(i=0;(istrlen(T1)&(istrlen(T2);+i) if(T1i!=T2i) break; if(strlen(T2) = i) return 1;/*1说明匹配成功*/ el
10、se return 0;int main(void) float aver_math,aver_english,aver_chinese; long all_math=0,all_english=0,all_chinese=0; int top_math,low_math,top_english,low_english,top_chinese,low_chinese; int choose; List L; int i; int j;FILE *fp_stu; char search_num11; char yn; L.stu = (STU *)malloc(100*sizeof(STU);
11、L.length = 0; if(1) if(fp_stu = fopen(c:StudentFile.txt,rb) = NULL) printf(the first time to use the system, please input information); goto gotostar; for(j=1;!feof(fp_stu);+j) fscanf(fp_stu,%s%s%d%d%d,&L.stuj.num,&L.stuj.name,&L.stuj.math,&L.stuj.english,&L.stuj.chinese); +L.length; -L.length;gotos
12、tar:printf(%dn,L.length); while(1) char kbkey=1; int choose; initgr(); /* BGI初始化 */ setbkcolor(BLACK); setcolor(BLUE); setfillstyle(SOLID_FILL,BLUE);/*这句话的作用,可以不为BLUE*/ rectangle(120,80,500,160); floodfill(162,82,BLUE); /*必须和边框颜色相同*/ rectangle(80,210,240,260); floodfill(82,212,BLUE); rectangle(400,2
13、10,560,260); floodfill(402,212,BLUE); rectangle(80,310,240,360); floodfill(82,312,BLUE); rectangle(400,310,560,360); floodfill(402,312,BLUE); rectangle(80,410,240,460); floodfill(82,412,BLUE); rectangle(400,410,560,460); floodfill(401,413,BLUE); setcolor(LIGHTRED); setfillstyle(SOLID_FILL,LIGHTRED);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 实验 报告 学生 管理
限制150内