欢迎来到天天文库
浏览记录
ID:42795025
大小:236.50 KB
页数:23页
时间:2019-09-22
《数据结构学生成绩管理系统说明书》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊长春大学课程设计纸目录一设计题目1二设计目的1三算法思想分析1四算法描述与实现1五结论1共23页第23页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊长春大学课程设计纸一、设计题目[实验内容]成绩分析问题[问题描述]录入、保存一个班级学生多门课程的成绩,并对成绩进行分析。[需求分析](1)通过键盘输.入各学生的多门课程的成绩,建立相应的文件input.dat。(2)对文件input.dat中的数据进行处理,要求具有如下功能:1)按各门课程成绩排序,并生成相应的文件输出。2)
2、计算每人的平均成绩,按平均成绩排序,并生成文件。3)求出各门课程的平均成绩、最高分、最低分、不及格人数、60~69分人数、70~79分人数、80~89分人数、90分以上人数。4)根据姓名或学号查询某人的各门课成绩,重名情况也能处理。(3)界面美观。二、设计目的了解软件工程中的一些系统分析,模块分析,代码设计的概念,实现学生成绩管理系统的录入、查询、删除、统计等基本操作,使用单链表结构实现学生成绩管理,了解数据库管理的基本功能,掌握C语言中的结构体、指针、函数(系统函数、自定义函数)、文件操作等知识。通过对系统的分析和设计,进一步巩固C语言的学习,以提高对开发环境的进一步认识和综合编
3、程能力。三、算法思想分析1,、基本思想建立一个学生成绩管理系统能够实现每位学生的成绩的录入、删除、修改、查找、排序按成绩降序排序等功能。2、原理首先定义项目的数据结构然后将每个功能写成一个函数来完成对数据的操作然后完成主函数以验证各个函数功能并得出运行结果最后调试改进共23页第23页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊长春大学课程设计纸1、概要设计{intright(STD*h,inti);//查看学号i是否存在voidnewstu(STD*h);//新增一个学生STD*find(STD*h,charnam);//查找姓名为
4、nam的学生,返回该学生上一结点的地址STD*find(STD*h,charnum);//查找学号为mum的学生,返回该学生上一结点的地址voidshow(STD*p,inti);//输出结点p的信息,若i=0只输出姓名和学号,i=1,输出全部信息voidshow(STD*h);//按提示输出学生的信息voidintoscores(STD*h);//按提示录入学生的成绩voidsort(STD*h,inta,intb);/*对学生信息排序,a为0以数学成绩为关键字排序a=1-4为英语成绩、计算机成绩、总成绩、学号。b=0为降序,b=1为升序*/voidcjjpx(STD*h);//
5、按提示对学生信息排序voidtjcj(STD*h);//统计学生成绩voiddel(STD*h);//按提示删除学生intinto(STD*h);//从文件中读数据放在头结点为h的链表中intsave(STD*h);//将头结点为h的链表数据保存在文件中}2、存储结构structSTD//学生信息链表{charname[20];//姓名intnumber;//学号intscores[4];//各科成绩structSTD*next;//指向下一结点的指针};structSTDD//记录数据{共23页第23页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
6、长春大学课程设计纸charname[20];//姓名intnumber;//学号intscores[4];//各科分数};1、流程图p=h->nextwhile(p!=NULL)Student.number==p->number?YNreturn(0);p=p->next;return(1);intright(STD*h,STDDstudent);//判断学号student.number是否存在voidnewstu(STD*h)STD*find(STD*h,charname[])//添加一个新学生//以姓名为关键字STD*p=h;STDDstudent;while(p->next!
7、=NULL)p=p->next;输入学生学号scanf(“%d”,&student.number);while(right(h,student)==0)输入学生学号scanf(“%d”,&student.number)scanf(“%s”,q->name);q=(STD*)malloc(sizeof(STD));q->number=student.number;for(i=0;i<4;i++)q->scores[i]=0;p->next=q;q->next=NULL;
此文档下载收益归作者所有