您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 数据结构与算法课程设计-学生成绩管理系统
课程设计说明书题目:数据结构与算法课程设计学院(系):专业班级:学号:学生姓名:指导教师:教师职称:起止时间:课程设计(论文)任务及评语院(系):教研室:软件工程学号学生姓名专业班级课程设计(论文)题目数据结构与算法课程设计课程设计(论文)任务1.从十个题目中选择一个题目,,要求每个题目用标准的C语言程序实现,另外,完成思考题一题,思考题须写出相应的类C算法即可。2.每个题目编写源程序时,要求有主菜单,每个子功能定义为相应的子函数,在主函数中调用各子函数,程序结构清晰。3.根据题目,选择合适的逻辑结构和存储结构。4.输入的数据由键盘输入。5.分析算法的时间复杂度,要求算法的效率尽可能高。6.验证排序算法的稳定性。指导教师评语及成绩成绩:指导教师签字:2012年月日目录第1章课程设计目的与要求_______________________________________________11.1课程设计目的________________________________________________________11.2课程设计的实验环境__________________________________________________11.3课程设计的预备知识__________________________________________________11.4课程设计要求________________________________________________________1第2章课程设计内容_______________________________________________________22.1题目的选择__________________________________________________________22.2题目的具体实现______________________________________________________22.3思考题解析_________________________________________________________12总结:_________________________________________________________________14参考文献_________________________________________________错误!未定义书签。1第1章课程设计目的与要求1.1课程设计目的本课程设计是计算机科学与技术专业、软件工程专业的专业技术实践课。本实践课的主要目的是:使学生学会利用在课堂中学过的理论知识,解决相应的实际问题,深入理解和灵活掌握所学的内容,培养学生理论和实践相结合的能力,培养学生分析问题解决问题的能力。同时,在实验步骤规范化、程序设计方法等方面受到比较系统和规范的训练。通过实践设计使学生进一步加深对程序设计的规范化及对复杂程序设计步骤的理解。通过课程设计,加深对《数据结构》这一课程所学内容的进一步理解与巩固。通过课程设计,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。通过课程设计,提高程序开发功能,能运用合理的控制流程编写清晰高效的程序。通过课程设计,训练C程序调试能力,能将一个中小型各级组织系统联调通过。通过课程设计,开发一个中小型系统,掌握系统研发全过程。通话课程设计,培养分析问题、解决实际问题的能力。1.2课程设计的实验环境PC机,WindowsXP,C++。1.3课程设计的预备知识C语言程序设计、数据结构。1.4课程设计要求(1)认真查找资料,分析每个题目应选择的数据结构(逻辑结构和物理结构);(2)按时到实验室调试程序,遵守实验室的规章制度,爱护设备;(3)每个题目编写源程序时,每个子功能定义为相应的子函数,在主函数中调用各子函数,程序结构清晰,有必要的注释,可读性强。(4)程序健壮性强,当数据输入错误时,要进行相应的处理;(5)分析算法的时间复杂度,要求算法的效率尽可能高;(6)对于排序算法,要验证排序算法的稳定性。2第2章课程设计内容2.1题目的选择6、学生成绩管理系统2.2题目的具体实现(1)题目应实现的具体功能;○1录入学生成绩信息并保存;○2可查询显示所有学生的个人信息;○3可查询显示所有学生的所学课程信息;○4按学号或姓名查询成绩信息;○5能添加、删除和修改学生的成绩信息;(2)题目所选择的数据结构及存储结构;采用线性数据结构及链式存储结构(3)完整的源程序#includestdio.h#includestdlib.h#includestring.hstructstud{longnum;charname[20];doublescore1,score2;};typedefstructstucode{structstudstudent;structstucode*next;}L;voidmenu();voidcreatelist(structstucode**r);voidout(structstucode*r);voidsearch1(structstucode*r);voidsearch2(structstucode*r);voiddel(structstucode**r);3voidinsert(structstucode**r);voidchange(structstucode**r);voidmain(){charchoose;intflag=1;structstucode*r=NULL;while(flag){system(cls);menu();choose=getchar();switch(choose){case'1':createlist(&r);out(r);printf(Testingfunction1\nPressanykeytocontinue\n);getchar();getchar();break;case'2':search1(r);printf(Testingfunction1\nPressanykeytocontinue\n);getchar();getchar();break;case'3':search2(r);printf(Testingfunction1\nPressanykeytocontinue\n);getchar();getchar();break;case'4':del(&r);out(r);printf(Testingfunction1\nPressanykeytocontinue\n);getchar();getchar();break;case'5':insert(&r);out(r);printf(Testingfunction1\nPressanykeytocontinue\n);getchar();4getchar();break;case'6':out(r);printf(Testingfunction1\nPressanykeytocontinue\n);getchar();getchar();break;case'7':change(&r);out(r);printf(Testingfunction1\nPressanykeytocontinue\n);getchar();getchar();break;case'0':flag=0;printf(Theend.\n);break;default:printf(\nWrongSelection!(选择错误,请重选!)\n);getchar();getchar();}}}voidcreatelist(structstucode**r){structstucode*p,*t;longn;chara[20];doubles1,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);while(n){5t=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);}}voidsearch1(structstucode*r){longx;structstucode*p=r;if(!r){printf(没有学生信息可查询!\n);return;}printf(请输入要查询的学生信息的学生学号:\n);scanf(%ld,&x);while(p&&p-student.num!=x)p=p-next;if(p==NULL)printf(Error!Nosuchstudent!\n);elseprintf(%ld%s%.2lf%.2lf\n,p-student.num,p-student.name,p-student.score1,p-student.score2);}voidsearch2(structstucode*r){charm[20];if(!r){printf(没有学生信息可查询!\n);return;}printf(请输入要查询的学生信息的学生姓名:\n);scanf(%s,m);while(r&&strcmp(r-student.name,m))r=r-next;if(r==NULL)printf(Error!Nosuchstudent!\n);elseprintf(%ld%s%.2lf%.2lf\n,r-student.num,r-student.name,r-student.score1,r-student.sc6ore2);}voiddel(structstucode**r){longk;structstucode*p=*r,*t;if(!(*r)){printf(没有学生信息可删除!\n);return;}printf(请输入要删除的学生信息的学生学号:\n);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!Nosuchstudent!\n);else{t=p-next;p-next=p-next-next;free(t);}}}voidinsert(structstucode**r){longn;chara[20];doubles1,s2;L*p,*t,*k;printf(请输入要插入的学生信息的学生学号姓名分数1分数2:\n);scanf(%ld%s%lf%lf,&n,a,&s1,&s2);p=(L*)malloc(sizeof(L));p-student.num=n;p-student.score1=s1;p-student.score2=s2;strcpy(p-student.name,a);if(!(*r)){*r=p;7(*r)-next=NULL;return;}if(p-student.num(*r)-student.num)p-next=(*r),(*r
本文标题:数据结构与算法课程设计-学生成绩管理系统
链接地址:https://www.777doc.com/doc-6328722 .html