C学生成绩管理系统完整-2023修改整理_第1页
C学生成绩管理系统完整-2023修改整理_第2页
C学生成绩管理系统完整-2023修改整理_第3页
C学生成绩管理系统完整-2023修改整理_第4页
C学生成绩管理系统完整-2023修改整理_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐C学生成绩管理系统完整C同学成果管理系统完整ThelatestrevisiononNovember22,2022

二〇一四年十一月

课程设计说明书本科毕业设计

题目:同学成果管理系统(老师端)同学姓名:陈学院:工学院专业:数字媒体技术班级:2022级指导老师:

名目

一、设计题目(问题)描述和要求

设计目的:

为便利对同学成果举行高效的管理,编写该程序以提高同学成果管理效率。使用该程序之后,小学管理者可以查询某位同学、某个科目的成果状况,还可以对同学成果举行排名,对同学的数据举行修改和删除,其中排名以按总分排名,并且还提供了多种扫瞄方式,查询结果包括各个科目的分数、总分。通过本系统可以很好的把握同学成果的分布,减轻管理人员的负担,也使同学的成果和信息长时期的保留。

问题描述:

编写一个容易的同学成果管理系统。同学成果管理系统有若干同学成果记录组成,每个记录由学号、姓名、性别、年级、班级、三个科目成果、总分、总排名、各科目排名几个部分组成,学号不超过5个字符,姓名不超过3个字符,成果为int型数据。该系统具有以下功能:

程序开头执行时显示如下版权信息和主菜单:

*******同学成果管理系统*************

同学信息

*1.记下

*2.编辑

*3.挨次

4.删除

扫瞄

*5所有

*6个人

*7考试

*8专业

*9指定

系统设置

10默认

0.退出

************************************

请输入(0~8):

通过键盘输入数字0~10后,程序能够执行相应的功能,执行完后回到上述主菜单继续等待用户输入,输入数字0后退出程序。

(1)挑选“记下”后,输入同学个数。按程序提醒输入学号、姓名、性别、年级、班级、三个科目成果、总分、总排名、各科目排名。

(2)挑选“编辑”,按提醒输入要删除的同学的学号,输入学号,若改学号存在,则编辑相应的同学记录,假如该学号不存在,返回主菜单(3)挑选“挨次”后,会显示从成果高到低还是相反。该操作会转变程序中链表的衔接挨次,因此扫瞄时候显示也是挨次转变后的链表挨次

输出。

(4)

(5)挑选“所有”,系统会根据年级显示所有同学其成果。

(6)挑选“个人”,系统会提醒输入同学姓名或者学号举行寻觅并显示。

(7)挑选“考试”,会根据每一年级的每一次考试显示成果。

(8)挑选“专业”,会根据专业举行成果输出。

(9)挑选“指定”,里面还有八种显示方式:分数段、排名、学期、班级、大一至大四,可以根据其举行扫瞄。

(10)举行系统相关的设置,如是否显示欢迎窗口,是否自动读取信息或是手动、是否扫瞄显示所有等

(0)退出操作。

二、系统分析与模块设计

《同学成果管理系统》结构图

三、系统设计

1.系统总体框架

《同学成果管理系统》流程图

2.系统关键算法流程图

(1).系统包含的类库

#include

#include

#include

#include

#include

#include

(2).主函数

(3)student类的设计与分析classstudent/*定义同学成果类*/

{

private:

Score*sco;

stringname;

classList{

intset[SET];

Student*stu;public:

core类

(6).输入同学资料模块:

主要功能用来对同学的成果举行收集和输入。在同学信息保存在系统中的前提下,输入要输入的人数,成果录入需要输入同学资料,比如学号,姓名。在精确     输入同学资料后,就可以对该同学的各科成果举行录入。该同学各科成果输入胜利后,输入下一个同学资料时会先推断是否学号是否与之前的同学相同,假如相同,则显示提醒信息,不同则继续输入

(6)输出同学资料模块:

主要功能用来对同学的成果举行输出。在系统已经录入了同学资料成果的前提下,使用该功能可以显示全部同学的信息,资料等等。详细包括同学的学号,姓名和各科成果。在查看同学的资料,成果各方面的信息后,按随意键就可以返回到主菜单

(5)查找并显示同学资料模块

主要功能是用来查找同学资料。在系统保存了某同学资料的前提下,想要查找该同学资料,可以输入该同学姓名,这样系统就会显示该同学资料和各科成果等信息

(6)按学号查找,修改同学资料模块

主要功能是用来修改同学资料。在系统保存了某同学资料的前提下,想要查找该同学资料,可以输入该同学学号,系统就会显示该同学资料和各科成果等信息,这样就可以修改该同学的资料,成果等信息。

(7)按学号查找,删除该同学资料模块

主要功能是用来删除同学资料。在系统保存同学资料的前提下,想删除某同学的资料,可以输入同学学号,系统查找该同学资料后,就可以删除了。因为同学辍学,毕业等缘由,准时对系统举行更新,删除一些没用的信息,可以使系统越发优化

(8)按同学成果总分举行罗列模块

主要功能是用来对同学的资料按总分举行排序。在系统保存同学资料,成果的前提下,使用此功能可以对同学的资料按总分举行排序,这样就便利查找成果相同或是相近的学生的资料。

(9)储存同学资料并退出系统模块

主要功能是用来储存同学资料。在对系统举行一系列操作,比如添加、删除、修改同学资料后,对系统的最新操作举行保存,准时更新系统,便利下一次的操作。

四、运行结果

1.开头界面

2.输入数据

3.搜寻数据

4.删除

5.修改数据

7.显示数据

8.系统设置

五、小结

这个程序经过了暑假开头到十月份的修改编辑,要谢谢教师及学生的指导,另外程序本身更适合同学数量不是特殊多的状况下,加入同学有上千上万个,那么应当在添加几个类,在同学类之上的类,这样才可以大大便利了各种操作以及扫瞄等。

六、参考资料

《C++程序设计教程》

CSDN程序员社区

代码:

/*

*同学成果管理系统

*类:StudentScoreManage

*可保存学科:语文数学英语

*时光段:大一至大四

*说明:该程序针对同学数较少的状况,如果面向上千上万的同学数,应当再将其中的存储结构举行转变,

*分离分层次存储,例如大一至大四四个链表表头,在每一个链表中又按照不同分类依据细分,

*例如按照学院、专业等,这样的转变将大大有利于程序举行的寻觅、输出、排序等涉及链表的操作,

*固然相应代码也要稍作转变

*/

#include

#include

#include

#include

#include

#include

#include

#include

usingnamespacestd;

#defineCONOBJ3参数时的构造函数

Student(stringiname="Noname",stringipro="none",int

iclass=0,intigrade=0,stringinum="0",charisex='n')

:name(iname),num(inum),sex(isex),next(NULL),pro(ipro),clas(iclass),grade(igrade){

sco=NULL;

cout>kh;

}while(!(kh>=0

cout>ch;

if(ch==0){

i=OfProfe();

returni;

}

}while(!((ch%10>0

cout>judge;

while(!judge){

i=OfProfe();

}

returni;

}

..]\n";

legal=0;

count++;

}

if(!(iclas>=1&&iclas2){

cout>inum;

p=stu;

while(p)数段▏2.排名▏3.学期▏4.班级▏\n";

cout>i;

switch(i)

{

case1:SkimByScore();break;

case2:SkimByPlace();break;

case3:SkimByTerms();break;

case4:SkimClas();break;

case5:SkimByGrade(1);break;

case6:SkimByGrade(2);break;

case7:SkimByGrade(3);break;

case8:SkimByGrade(4);break;

default:break;

}

cout";

getch();

return;

}选删除2.一键清空3.返回主菜单\n">flag;

if(flag=='1')

{

SkimAll();

cout>inum;

cout>c;

if(c=='Y'||c=='y')

while(p)

{

if(p->num==inum)

{

if(prev!=NULL)

prev->next=p->next;

else-->大

2.大-->小";

cout>judge;

ph=h;

while(h!=NULL)

{

初假设min值未转变,h节点全部节点中的值最小的节点,直接使hh替代h节点,作为一个新的开始

{

果最小节点不是头节点h的后驱节点的话,即等同于h不是pp的父节点

就把头节点h和最小数值节点兑换

*/

if(h!=ppr)

{

/*

办法:交换节点h和pp

用到两个的节点的先驱节点ph和ppr

*/

temp=h->next;

ppr->next=h;

h->next=pp->next;

pp->next=temp;

h=pp;

if(flag==1)

{

hh=h;

flag=0;

}

else

ph->next=h;

}

else

{

/*

2(2).假如最小节点p是头节点h的后驱节点的话

调换两个节点

*/

h->next=pp->next;

pp->next=h;

h=pp;/*

*之所以要调换h节点和pp节点位置,是为了让外层while循环每次都能从当前的已经

*排序完的链表中的最后一个元素开头举行遍历找最值

*/

if(flag==1)

{

hh=h;

flag=0;

}

else

ph->next=pp;

}

}

ph=h;陆设置\n");

printf("\t\t\t\t2.显示欢迎窗口\n");

printf("\t\t\t\t3.自动读取信息\n");

printf("\t\t\t\t4.扫瞄设置\n");

printf("\t\t\t\t0.返回\n");

printf("\t\t\t\t*****************\n");

printf("\t\t\t请挑选:");

scanf("%d",

system("CLS");

switch(choice)

{

case1:printf("\t\t\t\t登陆设置

\n\t\t**********************************************");

printf("\t\t1.是2.否

\n\t\t**********************************************请挑选:");

scanf("%d",break;

case2:printf("\t\t\t显示欢迎窗口

\n\t\t\t*******************");

printf("\n\t\t\t1.是2.否

\n\t\t\t*******************\t请挑选:");

scanf("%d",break;

case3:printf("\t\t\t\t自动读取信息

\n\t\t**********************************************");

printf("\n\t\t1.是2.否3.现在读取\n\t\t**********************************************请挑选:");

scanf("%d",

if(set[2]==3){

Read();

set[2]=temp_set2;

}

break;

case4:printf("\t\t\t\t扫瞄设置

\n\t\t**********************************************");

printf("\t\t\n\t\t**********************************************请挑选:");

scanf("%d",break;

case0:SaveSet();

return;

default:break;

}

system("CLS");

}

}记▏\n";

cout>i;

while(i>11||i>i;

}

if(i!=1

Add();

}

system("CLS");

switch(i)

{

case1:system("CLS");

cout>inum;

Edit(inum);

system("CLS");brea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论