学生成绩管理系统Word格式.docx
- 文档编号:22293984
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:24
- 大小:239.39KB
学生成绩管理系统Word格式.docx
《学生成绩管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统Word格式.docx(24页珍藏版)》请在冰豆网上搜索。
目前,学校工作繁杂、资料重多。
目前,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。
因此,开发一套适和大众的、兼容性好的系统是很有必要的。
1.2功能分析
“学生成绩管理系统”包括九个模块:
输入学生资料,输出学生资料,学生姓名按顺序排列,添加学生资料,按姓名查找,删除该学生资料,查找并显示学生资料,按姓名查找,修改该学生资料,从文件中读入数据,储存学生资料并退出系统。
这九个模块既相互联系又相互独立。
本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以方便对成绩的各项管理操作。
本系统能对成绩进行输入和输出;
能按姓名对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;
能添加学生成绩资料;
能根据学生的姓名来查询该学生的成绩资料,并修改或是删除该学生信息;
能够从文件中读取学生信息,并且添加到系统中;
能把对系统所进行的操作进行保存,以及时更新系统中的数据。
2概要设计
2.1系统总体框架
图1
2.2模块设计与分析
2.2.1输入学生资料模块
主要功能用来对学生的成绩进行收集和输入。
在学生信息保存在系统中的前提下,成绩录入需要输入学生资料,比如班级,学号,姓名。
在准确输入学生资料后,就可以对该学生的各科成绩进行录入。
该学生各科成绩输入成功后,系统会提示是否继续进行操作,如果想继续输入学生成绩就输入y,不想再输入学生成绩的话就输入n,再输入n之后,系统返回到主菜单。
2.2.2输出学生资料模块
主要功能用来对学生的成绩进行输出。
在系统已经录入了学生资料成绩的前提下,使用该功能可以显示所有学生的信息,资料等等。
具体包括学生的班级,学号,姓名和各科成绩。
在查看学生的资料,成绩各方面的信息后,按任意键就可以返回到主菜单。
2.2.3按学生姓名进行排列模块
主要功能是用来对学生的资料按姓名进行排序。
在系统保存学生资料,成绩的前提下,使用此功能可以对学生的资料按姓名进行排序,这样就方便查找姓氏相同或是相近的同学的资料。
2.2.4添加学生资料模块
主要功能是用来添加学生资料,成绩。
如果系统有保存学生资料的情况下,想录入学生成绩的话,就不用添加学生资料这模块。
如果系统没有保存该学生信息的话,就要使用此模块,在成功添加学生资料后,就可以对该学生进行其他的操作。
2.2.5按姓名查找,删除该学生资料模块
主要功能是用来删除学生资料。
在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生姓名,系统查找该学生资料后,就可以删除了。
由于学生辍学,毕业等原因,及时对系统进行更新,删除一些没用的信息,可以使系统更加优化
2.2.6查找并显示学生资料模块
主要功能是用来查找学生资料。
在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,这样系统就会显示该学生资料和各科成绩等信息
2.2.7按姓名查找,修改学生资料模块
主要功能是用来修改学生资料。
在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息。
2.2.8从文件中读入数据模块
主要功能是用来从文件中读入学生数据。
由于一些资料可以用Word文档或Excel表格输入,故在此模块中增加了导入数据的功能。
这样就方便很多,不用把学生资料一个一个添加,节省了很多时间精力。
2.2.9储存学生资料并退出系统模块
主要功能是用来储存学生资料。
在对系统进行一系列操作,比如添加、删除、修改学生资料后,对系统的最新操作进行保存,及时更新系统,方便下一次的操作。
2.3类的设计与分析
Student类类图
typedefclass
{
public:
charnum[10];
charcla[10];
charname[20];
charbyyl[10];
charjsjzc[20];
charsjk[10];
charjsjyy[20];
}Student;
表1Student类说明表
名称
属性
说明
num
数据成员
说明学生学号
cla
说明学生班级
name
说明学生名字
byyl
说明学生编译原理成绩
jsjzc
说明学生计算机组成成绩
sjk
说明学生数据库成绩
jsjyy
说明学生计算机英语成绩
2.4特色算法分析
功能:
定义菜单函数,通过输出函数显示系统功能。
利用switch语句实现多分支选择结构。
算法思路:
switch语句的执行流程是:
首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句。
流程图:
3程序代码
1.源代码
#include<
stdio.h>
string.h>
process.h>
conio.h>
#defineN30
#defineM3
typedefstructstudent
{charnumber[10];
floatscore[M];
floataver;
floattotal;
}STU;
STUstu[N];
intn;
voidinputscore(void);
voidsavescore(void);
voidavergescore(void);
voidtotal(void);
voidmodifyscore(void);
voidlookscore(void);
voidsearchscore(void);
voidstatistic(void);
voidadd(void);
voidmodify(void);
voiddelscore(void);
voidmenu(void);
voidmain()
{shortintflag=0;
menu();
do
{flag=1;
switch(getch())
{case'
1'
:
inputscore();
break;
/*输入成绩*/
case'
2'
lookscore();
/*查看成绩*/
3'
searchscore();
/*查找成绩*/
4'
statistic();
/*成绩统计*/
5'
modify();
/*修改成绩*/
6'
add();
/*添加成绩*/
7'
delscore();
/*删除成绩*/
8'
savescore();
/*保存成绩*/
9'
exit(0);
/*退出程序*/
default:
printf("
输入有误\n"
);
}
printf("
按任意键继续\n"
getch();
menu();
}while(flag==1);
}
voidmenu(void)
system("
cls"
\n"
*********欢迎进入学生成绩管理系统**************\n"
菜单\n"
输入成绩-------------------------------------1\n"
查看成绩及成绩排序---------------------------2\n"
查询学生成绩---------------------------------3\n"
成绩统计-------------------------------------4\n"
修改成绩-------------------------------------5\n"
添加成绩-------------------------------------6\n"
删除成绩-------------------------------------7\n"
保存成绩-------------------------------------8\n"
退出系统-------------------------------------9\n"
**********************************************\n"
请输入您的选择\n"
/***************输入各个同学的学生信息(王超)******************************/
voidinputscore(void)
{inti,j;
请输入学生总数:
scanf("
%d"
&
n);
提示:
*输入学号时请输入由1位大写字母和8位数字组成的学号,如P01214000*\n"
/*因二维表上下需对正故有此要求*/
for(i=0;
i<
n;
i++)
{printf("
请输入学生%d的学号姓名:
i+1);
scanf("
%s%s"
stu[i].number,stu[i].name);
请输入学生成绩:
高数\t物理\tC语言\n"
for(j=0;
j<
M;
j++)
scanf("
%f"
stu[i].score[j]);
}
成功输入\n"
/*****************计算各个同学的总分(孙友)*****************************/
voidtotal(void)
{stu[i].total=0;
{
stu[i].total+=stu[i].score[j];
/*****************计算各个同学的平均分*****************************/
voidavergescore(void)
{stu[i].aver=0;
stu[i].aver+=stu[i].score[j];
stu[i].aver=stu[i].aver/M;
/************查看学生成绩及根据平均分对学生进行排序*********************/
voidlookscore(void)
{inti,j,k;
STUt;
total();
avergescore();
n-1;
{for(k=i,j=i+1;
if(stu[j].aver>
stu[k].aver)
k=j;
if(k!
=j)
{t=stu[k];
stu[k]=stu[i];
stu[i]=t;
}
名次\t学号\t\t姓名\t高数\t物理\tC语言\t总分\t平均分\n"
%d\t%s\t%s\t"
i+1,stu[i].number,stu[i].name);
printf("
%4.2f\t"
stu[i].score[j]);
stu[i].total);
%4.2f"
stu[i].aver);
/*****************通过输入学号查找学生成绩***************************/
voidsearchscore(void)
{chara[10];
inti,j;
请输入需查询的学生学号\n"
%s"
a);
{if(strcmp(a,stu[i].number)==0)
{printf("
for(j=0;
break;
/*找到该学生成绩信息后跳出for循环*/
}
else
未找到该学生信息\n"
/*******统计学生成绩信息,平均分及格率,优秀率****************/
voidstatistic(void)
{STU*p=stu;
floatcount=0.0,sum=0.0;
{sum+=(p+i)->
aver;
该班级平均分为%4.2f\n"
sum/n);
/*平均分计算*/
{if((p+i)->
aver>
=60)
count++;
该班级及格率为%4.2f%%\n"
count/n*100);
/*及格率计算*/
count=0.0;
=90)
count++;
该班级优秀率为%4.2f%%\n"
/*优秀率计算*/
平均分低于60的学生名单\n"
{
if(stu[i].aver<
60)
%s\n"
stu[i].name);
}/*统计不及格学生名单*/
/***************修改学生成绩*****************/
voidmodify(void)
请输入需要修改成绩的学生学号\n"
请重新输入该学生的学号姓名:
请重新输入学生成绩:
scanf("
/*找到该学生成绩后进行修改,跳出for循环*/
修改成功\n"
else
请确认该学生是否为本班学生!
/*****************添加学生成绩********************/
voidadd(void)
{inta,i,j;
请输入新增加的学生人数:
a);
n=n+a;
for(i=n-a;
添加成功\n"
/*******************删除学生成绩*************************/
voiddelscore(void)
{inti,j,c;
charm,a[10];
请输入学生学号\n"
c=i;
是否删除该学生成绩(y/n)\n"
m);
if(m=='
y'
)
for(i=c;
stu[i]=stu[i+1];
/*结构体整体赋值将后一位学生成绩信息拷贝进入前一位学生信息的存储位置*/
n=n-1;
/*删除该学生信息后学生总数减一*/
printf("
删除成绩成功\n"
删除成绩失败\n"
/******************保存学生成绩************************/
voidsavescore(void)
{FILE*fp;
inti,flag=1;
charm;
puts("
是否保存学生成绩(y/n)"
if(m=='
{if((fp=fopen("
score.dat"
"
wb"
))==NULL)
文件打开失败\n"
return;
for(i=0;
if(fwrite(&
stu[i],sizeof(structstudent),1,fp)!
=1)
{printf("
保存失败\n"
flag=0;
if(flag==1)
保存成功!
fclose(fp);
return;
4设计结果
功能运行
图1学生成绩管理系统主菜单页面
图2输入学生资料模块
图3输出学生资料模块
图4按学生姓名进行排列模块
图5添加学生资料模块
图6按姓名查找
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统