数据结构与算法课程设计-学生成绩管理系统

上传人:m**** 文档编号:498797097 上传时间:2022-09-08 格式:DOC 页数:25 大小:107.50KB
返回 下载 相关 举报
数据结构与算法课程设计-学生成绩管理系统_第1页
第1页 / 共25页
数据结构与算法课程设计-学生成绩管理系统_第2页
第2页 / 共25页
数据结构与算法课程设计-学生成绩管理系统_第3页
第3页 / 共25页
数据结构与算法课程设计-学生成绩管理系统_第4页
第4页 / 共25页
数据结构与算法课程设计-学生成绩管理系统_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《数据结构与算法课程设计-学生成绩管理系统》由会员分享,可在线阅读,更多相关《数据结构与算法课程设计-学生成绩管理系统(25页珍藏版)》请在金锄头文库上搜索。

1、课程设计说明书题目:数据结构与算法课程设计学院(系):专业班级:学 号:学生姓名: 指导教师:教师职称:起止时间: 课程设计(论文)任务与评语院(系):教研室:软件工程学号学生姓名专业班级课程设 计(论 文)题目数据结构与算法课程设计课程设计(论文)任务1 .从十个题目中选择一个题目,要求每个题目用标准的 C语言程序实现,另外,完成思考题一题,思考题须写出相应的类C算法即可。2 .每个题目编写源程序时,要求有主菜单 ,每个子功能定义为相应的子函数,在主函数中调用各子函数,程序结构清晰。3. 根据题目,选择合适的逻辑结构和存储结构。4. 输入的数据由键盘输入。5. 分析算法的时间复杂度,要求算法

2、的效率尽可能高。6. 验证排序算法的稳定性。指导教师评语与成绩成绩:指导教师签字:2012 年月日第1章 课程设计目的与要求 41.1课程设计目的 41.2课程设计的实验环境51.3课程设计的预备知识51.4课程设计要求5第2章课程设计内容2.1题目的选择62.2题目的具体实现62.3思考题解析 24总结:26参考文献 错误!未定义书签。第1章 课程设计目的与要求1.1课程设计目的本课程设计是计算机科学与技术专业、软件工程专业的专业技术实践课。本实践课的主要目的是:使学生学会利用在课堂中学过的理论知识,解决相应的实际问题,深入理解和灵活掌握所学的内容, 培养学生理论和实践相结合的能力,培养学生

3、分析问题解决问题的能力。同时,在实验步骤规范化、程序设计 方法等方面受到比较系统和规范的训练。通过实践设计使学生进一步加深对程序 设计的规范化与对复杂程序设计步骤的理解。通过课程设计,加深对数据结构这一课程所学内容的进一步理解与巩固。通过课程设计,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。通过课程设计,提 高程序幵发功能,能运用合理的控制流程编写清晰高效的程序。通过课程设计, 训练C程序调试能力,能将一个中小型各级组织系统联调通过。通过课程设计, 幵发一个中小型系统,掌握系统研发全过程。通话课程设计,培养分析问题、解 决实际问题的能力。1.2课程设计的实验环境P

4、C 机,WindowsXP ,C+。1.3课程设计的预备知识C语言程序设计、数据结构。1.4课程设计要求(1)认真查找资料,分析每个题目应选择的数据结构(逻辑结构和物理结构)(2 )按时到实验室调试程序,遵守实验室的规章制度,爱护设备;(3 )每个题目编写源程序时,每个子功能定义为相应的子函数,在主函数中调用各子函数,程序结构清晰,有必要的注释,可读性强。(4)程序健壮性强,当数据输入错误时,要进行相应的处理;(5 )分析算法的时间复杂度,要求算法的效率尽可能高;(6)对于排序算法,要验证排序算法的稳定性。第2章课程设计内容2.1题目的选择6、学生成绩管理系统2.2题目的具体实现(1)题目应实

5、现的具体功能;1录入学生成绩信息并保存;?可查询显示所有学生的个人信息;可查询显示所有学生的所学课程信息;1按学号或姓名查询成绩信息;53能添加、删除和修改学生的成绩信息;(2 )题目所选择的数据结构与存储结构;采用线性数据结构与链式存储结构(3)完整的源程序#in clude#in clude#includestruct studlong num;char name20;double score1,score2;typedef struct stucodestruct stud student ;struct stucode *next;L;void menu();void createli

6、st(struct stucode *r);void out(struct stucode *r);void search1(struct stucode *r); void search2(struct stucode *r); void del(struct stucode *r);void insert(struct stucode *r); void change(struct stucode *r);void main()char choose;int flag=1;struct stucode *r=NULL;while(flag) system(cls);menu();choos

7、e=getchar();switch(choose)case 1: createlist(&r);out(r);printf(Testing function 1nPress any key to continuen); getchar();getchar();break;case 2:search1(r);printf(Testing function 1nPress any key to continuen); getchar();getchar();break;case 3:search2(r);printf(Testing function 1nPress any key to con

8、tinuen);getchar();getchar();break;case 4:del(&r);out(r);printf(Testing function 1nPress any key to continuen); getchar();getchar();break;case 5:insert(&r);out(r);printf(Testing function 1nPress any key to continuen); getchar();getchar();break;case 6:out(r);printf(Testing function 1nPress any key to

9、continuen); getchar();getchar();break;case 7: change(&r);out(r);printf(Testing function 1nPress any key to continuen); getchar();getchar();break;case 0:flag=0;printf(The end.n);break;default: printf(nWrong Selection!( 选择错误 ,请重选 !)n); getchar();getchar();void createlist(struct stucode *r)struct stuco

10、de *p,*t;long n;char a20;double s1,s2;if(*r) *r=NULL;printf( n请输入:n学号 姓名分数1分数2 (若要结束请输入四个为零)n);scanf(%ld%s%lf%lf,&n,a,&s1,&s2);if(n=0) return;p=(L *)malloc(sizeof(L);p-student.num=n; strcpy(p-student.name,a);p-student.score1=s1;p-student.score2=s2;p-next=NULL;*r=p;scanf(%ld%s%lf%lf,&n,a,&s1,&s2);whi

11、le(n)t=p;p=(L *)malloc(sizeof(L); p-student.num=n; strcpy(p-student.name,a); p-student.score1=s1; p-student.score2=s2; p-next=NULL;t-next=p; scanf(%ld%s%lf%lf,&n,a,&s1,&s2);void search1(struct stucode *r)long x; struct stucode *p=r;if(!r)printf( 没有学生信息可查询 !n);return ;:n);printf( 请输入要查询的学生信息的学生学号 sca

12、nf(%ld,&x);while(p&p-student.num!=x) p=p-next;if(p=NULL)printf(Error! No such student !n);elseprintf(%ld%s%.2lf%.2lfn,p-student.num,p-student.name,p-studen t.score1,p-student.score2);void search2(struct stucode *r)char m20;if(!r)printf( 没有学生信息可查询 !n);return ;printf( 请输入要查询的学生信息的学生姓名 :n); scanf(%s,m)

13、;while(r&strcmp(r-student.name,m)r=r-next;if(r=NULL)printf(Error! No such student !n);elseprintf(%ld%s%.2lf%.2lfn,r-student.num,r-student.name,r-student. score1,r-student.score2);void del(struct stucode *r)long k;struct stucode *p=*r,*t;if(!(*r)printf( 没有学生信息可删除 !n);return ;:n);printf( 请输入要删除的学生信息的学

14、生学号 scanf(%ld,&k);if(p-student.num=k)*r=(*r)-next,free(p);else while(p-next&p-next-student.num!=k) p=p-next;if(p-next=NULL) printf(Error! No such student !n);elset=p-next;p-next=p-next-next;free(t);void insert(struct stucode *r)long n;char a20;double s1,s2;L *p,*t,*k;printf( 请输入要插入的学生信息的学生学号 姓名 分数 1 分数 2 :n); scanf(%ld%s%lf%lf,&n,a,&s1,&s2);p=(L *)mall

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号