学生成绩管理系统源代码.docx
《学生成绩管理系统源代码.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统源代码.docx(10页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统源代码
学生成绩管理系统
院系:
计算机科学技术学院
班级:
网络13-2班
组长:
张金星
学号:
34号
组 员:
邢津津
指导教师:
闫肃
2014年01月04日
一.设计目的
通过数据库大作业课程设计的操作与实践,使学生了解关系数据库的相关理论知识和有关工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和创新意识、创新能力。
二.问题描述
系统功能基本要求:
1.学生信息维护;
2.修改及保护;
3.名次统计;
6.学生查询课程成绩。
三.需求分析
“学生成绩管理信息系统”包括四个模块:
成绩录入、班级统计、年级统计、系统功能。
这四个模块既相互联系又相互独立,班级统计、年级统计模块必须以成绩录入为基础。
(1)成绩录入模块:
主要功能用来对学生的成绩进行收集和修改。
具体包括学生成绩录入、修改、增加、删除、查询等功能,成绩录入需要分班级、分年级以及某个时间考试的各门功课的成绩。
修改要与成绩录入相对应。
增加、删除是对基本表的操作。
查询条件设置应该齐全,可以班级查询,年级查询,也可以姓名查询,学号查询等等。
(2)班级统计模块:
主要功能用来对学生的成绩以班级为单位进行处理。
具体包括各班学生总成绩、平均成绩、班级排名及统计班级某分数段内的学生人数;各个学生该科成绩、班级排名及统计班级某分数段内的学生人数。
各项统计仅对于某学期某次考试而言。
(3)系统功能模块:
关于系统及退出系统。
四.概要设计
在概要设计里,根据系统需求设计系统EI图,程序流图,系统功能模块图等信息,并配置了数据源。
图1系统EI图
图2学生信息
图3功能模块图
:
图4查询模块流程图
图5班级与学生成绩流图
五·程序图框
六·功能介绍
(一)、系统的功能分析
该学生成绩管理系统是基于网络在线的学生成绩管理系统,在系统中分为大的两个方面:
一是教师登录页面、二是学生登录页面。
(1)学生进行学生成绩管量系统的主要功能是:
实现修改密码、查询课程、选课、查询成绩、学籍信息查询、打印等基本功能。
(二)、系统功能模块图
图7学生功能模块
学生在系统中的基本功能是对自己所有成绩的查询,课程的查询,个人登录密码的修改,基本信息的查看,选课,打印自己的学籍信息。
七.代码
#include
#include
#include
struct student
{
int num;
char name[20];
float pingshi;
float shiyan;
float kaoshi;
double zongping;
}stu[4];
int main()
{
void a();
void b();
void c();
void d();
void e();
int n;
while(n!
=6)
{printf("\t大学计算机基础成绩管理系统\n");
printf("1:
输入一个班学生大学计算机基础成绩记录\n");
printf("2:
显示所有成绩记录\n");
printf("3:
计算并输出平均成绩,均方差\n");
printf("4:
输出成绩与排名\n");
printf("5:
结果存入文件chengji.txt\n");
printf("6:
退出系统\n");
printf("输入选项代码:
");
scanf("%d",&n);
switch(n)
{
case 1:
a();break;
case 2:
b();break;
case 3:
c();break;
case 4:
d();break;
case 5:
e();break;
case 6:
printf("\n*******************谢谢使用!
*******************\n");break;
break;
}
}
getchar();
}
/* 子 函 数*/
void a() /* 输入一个班的学生记录*/
{
int i;
for(i=0;i<4;i++)
{
printf("请输入学号 姓名 平时成绩 实验成绩 考试成绩:
");
scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].pingshi,&stu[i].shiyan,&stu[i].kaoshi);
}for(i=0;i<4;i++)
stu[i].zongping=0.1*stu[i].pingshi+0.3*stu[i].shiyan+0.6*stu[i].kaoshi;
}
void b()/* 显示所有记录*/
{
int i;
printf("学号 姓名 平时成绩 实验成绩 考试成绩 总评成绩\n");
for(i=0;i<4;i++)
printf("%d%14.2s%14.2f%14.2f%14.2f%14.2f\n",stu[i].num,stu[i].name,stu[i].pingshi,stu[i].shiyan,stu[i].kaoshi,stu[i].zongping);
}
void c()/* 求出全班平均成绩,显示均方差*/
{
int a[4]={0,1,2,3};
int i,j;
double total=0,pfc=0,bzc=0;
double ave;
for(i=0;i<4;i++)
{
total=total+stu[i].zongping;
}
ave=total/4.0;
printf("总评平均成绩是%f\n",ave);
for(i=0;i<4;i++)
{
pfc=pow((stu[i].zongping-ave),2)/4;
}
bzc=sqrt(pfc);
printf("\n平方差是%f\n",pfc);
printf("\n标准差是%f\n",bzc);
}
void d()
{
int a[4]={0,1,2,3};
int i,j,temp;
for(j=0;j<3;j++)
{
for(i=0;i<3-j;i++)
if(stu[a[i]].zongping>stu[a[i+1]].zongping)
{
temp=a[i];a[i]=a[i+1];
a[i+1]=temp;
}
}
printf("顺序为:
\n");
printf("学号 姓名 总评成绩\n");
for(i=0;i<4;i++)
printf("%d%10.2s%15.2f\n",stu[a[i]].num,stu[a[i]].name,stu[a[i]].zongping);
printf("\n");
}
void e()
{int i;
FILE *fp;
fp=fopen("chengji.txt","w");
fprintf(fp,"学号 姓名 平时成绩 实验成绩 考试成绩 总评成绩\n");
for(i=0;i<4;i++)
fprintf(fp,"%d%14.2s%14.2f%14.2f%14.2f%14.2f\n",stu[i].num,stu[i].name,stu[i].pingshi,stu[i].shiyan,stu[i].kaoshi,stu[i].zongping);
printf("\n\n*******************恭喜,保存完成!
*******************\n\n");
}
八.设计总结
为期两个礼拜的数据库课程设计终于做完了,感觉在这段时间里收获了很多东西,由于这学期才学习的数据库原理,闫老师的代课条理清晰,所以做数据库课程设计感觉是对数据库的一次很好的复习。
刚好课程设计前学习了一段时间MFC,所以在课程设计过程中对VC的使用不是很困难,即使遇到不懂的就在网上查询资料或咨询老师和同学都能够顺利的解决遇到的问题。
由于我们使用的是ACCESS数据库,将数据库表的创建等都直接集成在向导里面,所以数据库语句我们基本上就没用到,加上时间太短,都是直接用向导创建完后直接使用,这点上我感觉很惭愧,不过我会在后面的学习中学会使用SQLSERVER数据库,希望通过它的学习来加深自己对数据库的理解并熟练使用。
在这次数据库的设计中,我感觉到随着学生成绩管理类型的不断增加和成绩管理要求的不断提高,管理方面的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情。
在这样的情况下有一个实用学生成绩管理系统是有其必然性的,如果能做出一个完善的学生成绩管理系统就使管理方面的工作量减少很多。
在这次的课设虽然仅仅对学生成绩管理系统进行建模,功能实现简单,但我从中学会了很多,也感到自身知识的贫乏,希望在日后的努力中能实现该系统,争取做出一个完善的系统。
在此意谢谢老师的指导,在后面的学习中我会更加努力的。
九.参考文献
1.数据库:
原理编程与性能,高等教育出版社,ParickoNeil,ElizabethONeil编著,2005.7:
2.数据库系统概论,高等教育出版社,王珊,萨师煊编著,2006.05.
3黄德才,《数据库原理及其应用教程》科学出版社2003:
4.王亚平,《数据库系统工程师考试辅导》西安电子科技大学出版社2004:
5.张龙祥,《数据库原理与设计》人民邮电出版社2002.。