学生成绩查询系统.docx
- 文档编号:25246107
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:35
- 大小:786.36KB
学生成绩查询系统.docx
《学生成绩查询系统.docx》由会员分享,可在线阅读,更多相关《学生成绩查询系统.docx(35页珍藏版)》请在冰豆网上搜索。
学生成绩查询系统
单位:
计算机08-1班
学号:
08203129
江西农业大学南昌商学院本科课程设计
(计算机科学与技术专业)
学生成绩管理系统
姓名:
专业:
计算机科学与技术
指导教师:
江西农业大学南昌商学院
二○一一年六月
摘要
目前,学校工作繁杂、资料重多,管理信息系统已进入学校,但还未普及,而对于学生成绩信息管理来说,还没有一套完整的、统一的系统。
因此,开发一套适和大众的、兼容性好的系统是很有必要的。
根据开发要求,它主要应用于教育系统,完成对日常学生成绩信息的录入查询更新删除等管理操作,实现学生成绩信息管理的计算机化。
开发学生成绩信息管理系统可减轻学院教职员工的工作压力,能比较系统地对教务、教学上的各项服务和成绩信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理。
本论文叙述了现在学校学生成绩信息管理的现状
主要介绍了学生成绩信息管理系统的主要任务及功能模块,阐述了开发该系统用到的关键技术,如何运用C语言开发一个代码较多的系统。
【关键词】学生成绩信息管理系统,C语言,计算机
Abstract
Atpresent,thecomplexityofschoolwork,dataJuta,scoremanagementinformationsystemhasaccesstoschools,butnotyetuniversal,andforstudentscoreinformationmanagement,thenotyethaveacomplete,unifiedsystem.Therefore,developinganappropriateandthepublic,thecompatibilityofagoodsystemisnecessary.Accordingtodevelopmentrequirements,itismainlyusedintheeducationsystem,studentscompletedthedailyinputofscoreinformationupdateordeletequerymanagementoperationstorealizethecomputerizationofstudentinformationmanagement.Developmentofstudentinformationmanagementsystemreducestheworkpressureofcollegefacultyandstaff,beabletocomparesystematicallytheSenate,inteachingthevariousservicesandinformationmanagement,atthesametime,
Canreducetheuseoflabortospeedupqueryspeed,strengtheningmanagement.Thispaperdescribesthecurrentstatusofinformationmanagementschoolstudents.
Mainlyintroducesthestudentinformationmanagementsystemofthemaintasksandfunctionsofthemodules,describedthedevelopmentofthesystemusedinkeytechnologies,andhowtodevelopasimplesystemwithC。
【KeyWords】StudentScoreInformationManagementSystem,Clauguage,Computer
目录
摘要I
AbstractII
目录III
前言1
第一章系统环境分析2
1.1C语言概述2
第二章设计平台搭建3
2.1 VC++6.0的安装和配置3
第三章需求分析8
3.1设计思想8
3.2系统功能描述8
3.3功能模块划分8
3.4系统流程图分析9
第四章详细设计与实现10
4.1主界面设计10
4.2功能界面12
4.3增加学生信息13
4.4修改学生信息界面15
4.5删除学生信息界面18
4.6成绩排序界面21
4.6学生浏览成绩页面24
参考文献26
前言
随着我国教育产业化的飞速发展,社会对教育水平和教学管理软硬件的要求日益提高,尤其是学校对能够具有一整套完善的教学管理软件提出了更多的要求。
为了适应这种形式,教育系统不仅要有坚实的硬件基础,还要有一整套完善的教学软件管理系统。
而要实现这一功能,就要求学校管理者配备一套高效的教育管理系统,以便在学校内实施良好的一整套完善的管理且以最快地速度响应教师和学生的需求,及时为他们提供服务,为他们提供一个高效、便捷的环境。
学生信息管理系统是校园中一个重要的应用系统,它大大改善了学校教学、科研与管理的基础环境,在一定程度上反映出学校管理现代化的水平。
随着国家对于教育的重视逐渐加大,学校正向着大型化、规模化发展,而对于大中型学校,跟学生信息管理有关的信息随之急剧增加。
在这种情况下单靠人工来管理学生的信息及其相关信息不但显得力不从心,而且极容易出错。
该系统就是设计一个学生信息管理系统,由计算机代替人工执行一系列诸如学生成绩查询,学生成绩录入,学生信息添加,修改,查询,维护及管理等操作。
这样就使学生部门管理人员可以轻松快捷地完成学生信息管理的任务。
此系统通过C语言在VisualC++环境中完成,系统功能还比较单一,但是基本能完成学生平时的成绩管理工作。
通过完成这个系统,来对C语言知识进行巩固,加深了解,增加简单的项目经验。
第一章系统环境分析
1.1C语言概述
C语言是一种面向过程的计算机程序设计语言,它是目前众多计算机语言中举世公认的优秀的结构程序设计语言之一。
它由美国贝尔研究所的D.M.Ritchie于1972年推出。
1978后,C语言已先后被移植到大、中、小及微型机上
C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。
许多著名的系统软件,如DBASEⅣ都是由C语言编写的。
用C语言加上一些汇编语言子程序,就更能显示C语言的优势了,像PC-DOS、WORDSTAR等就是用这种方法编写的。
C语言是一种成功的系统描述语言,用C语言开发的UNIX操作系统就是一个成功的范例;同时C语言又是一种通用的程序设计语言,在国际上广泛流行。
世界上很多著名的计算公司都成功的开发了不同版本的C语言,很多优秀的应用程序也都使用C语言开发的,它是一种很有发展前途的高级程序设计语言。
第二章设计平台搭建
2.1 VC++6.0的安装和配置
1、首先解压安装文件的压缩包
2、然后再选择安装的版本,VC6CN表示的是中文版,VC6EN表示英文版。
3.打开VC6CN文件夹,其中有如下图标,鼠标双击。
4.如下图所示就是我们安装的第一步,单击下一步。
5.选择“接受协议”后单击下一步。
6.本软件属于破解版,故无需输入产品ID号码,直接单击下一步。
7.选择“安装visualc++6.0中文企业版(I)”,这就是我们要安装的程序,单击下一步。
8.单击下一步。
9.单击“继续”,开始安装软件。
10.点击“确定”。
11.选择“是”,继续安装。
12.选择“typical”继续安装
13.选择“ok”。
14.选择“确定”
15.选择“确定”
16.取消“安装MSDN”前面的勾号,选择“退出”。
第三章需求分析
3.1设计思想
本系统是运用C语言在VisualC++环境中完成的。
设计思想为:
系统采用模块化程序设计方法,既便于系统的功能的各种组合和修改,又便于管理人员的维护。
系统应及时根据用户需求进行数据的查询、添加、删除、修改等操作。
3.2系统功能描述
本系统用于学校学生成绩管理,主要任务是对成绩管理的各种信息进行日常管理,如查询、添加、删除、修改等操作。
针对这些要求,设计学生成绩管理系统,该系统主要包括两部分:
管理员功能:
对学生的数据进行增删改。
普通学生功能:
对自己的成绩进行浏览。
3.3功能模块划分
1、登陆模块:
提供学生成绩管理系统的登陆界面,是本系统的唯一入口和出口。
2、管理员模块:
提供学生成绩管理系统的管理员功能,主要功能有:
增加学生信息,修改学生信息,删除学生信息和按总分高低浏览学生的成绩信息。
3、普通学生模块:
提供学生信息浏览模块。
3.4系统流程图分析
图3-1系统流程图
第四章详细设计与实现
4.1主界面设计
图4-1管理员登录
代码如下:
#include
#include
#include
#include
#include"shead.c"
#include"admin.c"
#include"student.c"
main()
{
FILE*fp;
studtmps,show;
chardatafile[]="student",relogin;
inti,success=0;
printf("=========================================================\n");
printf("欢迎您进入学生成绩管理系统\n");
printf("=========================================================\n");
again:
printf("请输入您的用户名:
");
scanf("%s",tmps.name);
printf("请输入您的密码:
");
for(i=0;i<=5;i++)
tmps.ps[i]=getch();
tmps.ps[6]='\0';
fp=fopen(datafile,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
while(fread(&show,sizeof(stud),1,fp)!
=0)
{
if((strcmp(tmps.name,show.name)==0)&&(strcmp(tmps.ps,show.ps)==0))
{
printf("登录成功!
\n");
success=1;
if(show.power==1)
{
printf("您是教师\n");
admin();
}
if(show.power==0)
{
printf("您是学生\n");
student();
}
}
}
if(success==0)
{
printf("\n您输入的名字或密码有误,是否重新输入?
(y/n)");
relogin=getche();
if((relogin=='y')||(relogin=='Y'))
{
printf("请再次输入名字和密码\n");
gotoagain;
}
else
{
printf("程序结束\n");
xit(0);
}
}
}
4.2功能界面
图4-2功能界面
代码如下:
#include"addstudent.c"
#include"modifystudent.c"
#include"delstudent.c"
#include"showstudent.c"
voidadmin()
{
intchoice=0;
while
(1)
{
printf("\n========================================================================\n");
printf("进入管理员界面\n");
printf("==========================================================================\n");
printf("==1.增加学生信息===============2.修改学生信息============================\n");
printf("==3.删除学生信息===============4..按总分高低浏览学生成绩信息==============\n");
printf("=================0.程序结束==========\n");
printf("请输入您的选择:
");
scanf("%d",&choice);
switch(choice)
{
case1:
addstudent();
break;
case2:
modifystudent();
break;
case3:
delstudent();
break;
case4:
showstudent();
break;
case0:
exit(0);
default:
break;
}
}
}
4.3增加学生信息
图4-3增加学生信息界面
代码如下:
voidaddstudent()
{
FILE*fp;
studtmps,show;
chardatafile[40]="student";
intcount=0;
fp=fopen(datafile,"ab+");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
printf("学生的各项信息:
\n");
while(count<=size)
{
printf("\n请输入学生的学号:
");
scanf("%ld",&tmps.number);
if(tmps.number==0)
break;
printf("请输入学生的名字:
");
scanf("%s",tmps.name);
printf("请输入学生的语文成绩:
");
scanf("%f",&tmps.china);
printf("请输入学生的数学成绩:
");
scanf("%f",&tmps.math);
printf("请输入学生的密码:
");
scanf("%s",tmps.ps);
tmps.power=0;
tmps.sum=tmps.china+tmps.math;
if(fwrite(&tmps,sizeof(stud),1,fp)!
=1)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
count++;
}
if(count>size)
printf("输入数据已满\n");
fclose(fp);
printf("所输入学生信息如下:
\n");
fp=fopen(datafile,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
printf("学号\t姓名\t语文成绩\t数学成绩\t总分\t密码\t权限\n");
while(fread(&show,sizeof(stud),1,fp)!
=0)
printf("%ld\t%s\t%.1f\t\t%.1f\t\t%.1f\t%s\t%d\t\n",show.number,show.name,show.china,show.math,show.sum,show.ps,show.power);
fclose(fp);
}
4.4修改学生信息界面
图4-4修改学生信息界面
代码如下:
voidmodifystudent()
{
FILE*fp;
studtmps,s[size],show,temp;
charname[9],ps[7],next,datafile[40]="student";
intrecnumber,i,result=0;
floatchina,math,sum;
begin:
printf("请输入要修改学生的名字:
\t");
scanf("%s",name);
fp=fopen(datafile,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
while(feof(fp)==0)
{
if(fread(&temp,sizeof(stud),1,fp)!
=0)
{
if(strcmp(temp.name,name)==0)
result=1;
}
}
if(result==0)
{
printf("要修改的学生%s不存在\n",name);
fclose(fp);
gotobegin;
}
fp=fopen(datafile,"rb");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
recnumber=0;
while((fread(&tmps,sizeof(stud),1,fp))!
=0)
{
if(strcmp(tmps.name,name)==0)
{
printf("请输入要修改学生%s的语文成绩:
\t",name);
scanf("%f",&china);
printf("请输入要修改学生%s的数学成绩:
\t",name);
scanf("%f",&math);
printf("请输入要修改学生%s的密码:
\t",name);
scanf("%s",ps);
sum=china+math;
s[recnumber].number=tmps.number;
strcpy(s[recnumber].name,tmps.name);
s[recnumber].china=china;
s[recnumber].math=math;
s[recnumber].sum=sum;
strcpy(s[recnumber].ps,ps);
s[recnumber].power=tmps.power;
recnumber++;
}
else
{
s[recnumber].number=tmps.number;
strcpy(s[recnumber].name,tmps.name);
s[recnumber].china=tmps.china;
s[recnumber].math=tmps.math;
s[recnumber].sum=tmps.sum;
strcpy(s[recnumber].ps,tmps.ps);
s[recnumber].power=tmps.power;
recnumber++;
}
}
fclose(fp);
fp=fopen(datafile,"wb+");
if(fp==NULL)
{
printf("文件%s打不开\n",datafile);
exit
(1);
}
for(i=0;i { if(fwrite(&s[i],sizeof(stud),1,fp)! =1) { printf("文件%s打不开\n",datafile); exit (1); } } fclose(fp); printf("修改成功! \n"); printf("是否继续修改(y/n)\n"); next=getche(); if(next=='y'||next=='Y') gotobegin; printf("所修改候选人信息如下: \n"); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } printf("学号\t姓名\t语文成绩\t数学成绩\t总分\t密码\n"); while(fread(&show,sizeof(stud),1,fp)! =0) printf("%ld\t%s\t%.1f\t\t%.1f\t\t%.1f\t%s\t\n",show.number,show.name,show.china,show.math,show.sum,show.ps); fclose(fp); } 4.5删除学生信息界面 图4-5删除学生信息界面 代码如下: voiddelstudent() { FILE*fp; tmps,s[size],show,temp; charname[10],next,datafile[40]="student"; intrecnumber,i,result=0; begin: printf("请输入要删除学生信息的名字"); scanf("%s",name); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } while(feof(fp)==0) { if(fread(&temp,sizeof(stud),1,fp)! =0) { if(strcmp(temp.name,name)==0) result=1; } } if(result==0) { printf("要删除的学生%s不存在\n",name); fclose(fp); gotobegin; } fclose(fp); fp=fopen(datafile,"rb"); if(fp==NULL) { printf("文件%s打不开\n",datafile); exit (1); } recnumber=0; while((fread(&tmps,sizeof(stud),1,fp))! =0) { if(strcmp(tmps.name,name)! =0) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩 查询 系统