毕业设计论文C语言学生成绩管理系统Word下载.docx
《毕业设计论文C语言学生成绩管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《毕业设计论文C语言学生成绩管理系统Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
7.5根据单科成绩进行排序页面……………………………………………………………22
7.6根据总分进行排序页面………………………………………………………………....22
7.7添加学生信息页面……………………………………………………………………....23
第八章、小结………………………………………………………………………………24
【摘要】:
本系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。
开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。
目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。
因此,开发一套适和大众的、兼容性好的系统是很有必要的。
本系统在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统不只适用于一家教育机构。
在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用及对系统了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。
本论文主要从系统分析、系统设计、系统实施与使用等几个方面进行介绍
Abstract:
Thissystemaccordingtothedevelopmentrequirementsaremainlyappliedineducationsystemofeducation,thedailyworkofthedigitalarchivesmanagementofstudentperformance.Thissystemcanmakethecollegedevelopmentstafftoreducetheworkingpressure,educationalandteachingtothevariousservicesandinformationmanagement,alsocanreducetheuseofforce,acceleratequeryspeed,strengthenmanagement,aswellasthenationaldepartmentsaboutthepaceofnormalization,makeeachmanagementstandardized.
Atpresent,theschoolworkmultifarious,materialmore,thoughvariousmanagementinformationsystemhasenteredtheuniversity,buthasnotbeenpopular,andforstudents'
performancemanagement,ithasbeenacompleteandunifiedsystem.Therefore,thedevelopmentofasuitableandthepopulace,compatibilitygoodsystemisverynecessary.
Thissystemintheprocessofdevelopment,payattentiontotheoperationofthebusinessprocess,andstrivetosystemofcomprehensive,generalization,makesthissystemnotonlyapplicabletoaeducationinstitutions.Onthechoiceofmethodsinthedevelopmentlifecyclemethod,amethodofcombiningwiththeprototype,followthesystemresearchandsystematicanalysis,systemdesignandsystemimplementation,fourmainstages,andthespecificdesigninthedesign,takingtheevolutionasusersofprototype,theuseofsystemandthedeepeningunderstandingofapartorafewpartsforanalysis,designandimplementation.Thisthesismainlyfromthesystemanalysis,systemdesignandsystemimplementationanduseetc.
【关键字】成绩录入成绩显示C语言成绩存盘
前言
人类已进入21世纪,科学技术突飞猛进,经济知识和信息产业初见端倪,特别是信息技术和网络技术的讯速发展和广泛应用,对社会的政治、经济、军事、文化等领域产生越来越深刻的影响,也正在改变人们的工作、生活学习、交流方式。
信息的获取、处理、交流和应用能力,已经成为人们最重要的能力之一。
第一章绪论
1.1课题背景
该项目开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理.
1.2目的背景与意义
学生信息管理系统是一个教育单位不可缺少的部分。
一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:
效率低、保密性差,人工的大量浪费;
另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。
1.3项目开发的目标
建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。
帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化。
1.4开发工具的选择
现在,市场上可以选购的应用开发产品很多,流行的也有数十种。
目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:
Microsoft公司的VisualS,Microsoft公司的VisualC,Borland公司的Delphi和Powersoft公司的PowerBulider以及Java等。
在这些程序开发工具中,有的强调程序语言的弹性与执行效率;
有的则偏重于可视化程序开发工具所带来的便利性与效率的提高,各有各的优点和特色,也满足了不同用户的需求。
然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必定要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点成为了一纸空谈;
相反地,如果只强调语言的弹性,却没有便利的工具作配合,会使得一些即使非常简单的界面处理动作,变得复杂和麻烦起来,这样也会浪费程序设计师们的宝贵时间。
C语言就是不错的选择!
C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示。
它把高级语言的基本结构和语句与低级语言的实用性结合起来。
C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
C语言的运算符包含的范围很广泛,共有34种运算符。
C语言把括号、赋值、等都作为运算符处理。
从而使C语言的运算类型极其丰富,表达式类型多样化。
灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
C语言的数据类型有:
整形、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。
能用来实现各种复杂的数据结构的运算。
并引入了指针概念,使程序效率更高。
另外C语言具有强大的图形功能,支持多种显示器和驱动器。
且计算功能、逻辑判断功能强大。
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。
这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。
由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。
第二章、设计任务分析
2.1目标
(1)掌握和利用C语言进行程序设计的能力。
(2)理解和运用结构化程序设计的思想和方法。
(3)掌握开发一个小型实用系统的基本方法。
(4)学会调试一个较长程序的基本方法。
(5)掌握书写程序设计开发文档的能力(书写毕业设计论文)。
(6)独立检索文献资料并恰当运用.
2.2要求
(1)用C语言实现系统并且能够在visualc++6.0上正常运行。
(2)利用结构体数组实现学生成绩的数据结构设计。
(3)系统具有增加、查询、插入、等基本功能。
(4)系统的各个功能模块要求用函数的形式实现。
(5)将学生成绩信息存在文件中并能从文件中读取学生的成绩信息。
(6)各个菜单项的功能能够正常实现。
2.3学生成绩管理系统的功能
1—输入学生的信息以及成绩
2—显示成绩
3—按学号进行成绩修改
4—学生档案及成绩存盘
5—读取成绩
6—退出
2.4该项目编程的原理
此项目主要考察我们对结构体、指针、文件的操作,以及C语言算法的掌握,所以完成此题目要求较高的设计能力,尤其是要有大局意识。
如何调试程序也非常重要,通过这个程序可学到以前调试程序没有的经验。
菜单中的每一个选项都对应一个子程序。
该项目主要的菜单选项主要采用do…while循环和if判断语句完成,学生的基本信息主要存储在结构体数组中,然后通过该结构体数组对学生的成绩进行管理包括修改学生成绩,学生成绩的存盘。
学生成绩的存盘和读取主要采用fopen打开文件和fprint,fscanf函数用for循环往文件中写和从文件中读取数据,最后用fclose函数关闭文件。
第三章、模块设计
将学生成绩管理系统划分为以下几个模块
3.1主模块
功能:
显示系统菜单。
3.2初始化模块
初始化结构体数组。
3.3学生信息以及成绩录入
学生的信息进行录入包括班级
学号,姓名,性别以及三门课的成绩。
3.4显示学生成绩
显示所有学生的基本信息包括班级
3.5修改学生信息
根据学号修改学生基本信息包括班级
。
3.6成绩存盘
把所有的学生信息存储到制定路径的
文件中。
3.7读取学生成绩
根据提供的文件名读取该文件中的
所有学生信息。
3.8.退出
当不需要进行其他操作的时候可以退出
该系统。
第四章、主要数据结构
程序设计中用到的学生信息结构体类型
structst
{
intnum;
charclassname[10];
charname[20];
charsex[3];
floatscore[KM];
}student[RS]={{0}};
第五章、流程图
第六章、源代码
6.1头文件
//所包含的头文件
#include<
stdio.h>
string.h>
//定义系统中所需要用到的结构体类型
structst
//函数说明
voidaddst(structststu[])
输入成绩函数
voiddisplayst(structststu[])
显示成绩的函数
voidputfile(structststu[])
成绩录入的函数
voidgetfile(structststu[])
读取成绩的函数
voidchangest(structststu[],intn)
修改学生信息的函数
//符号常量和变量说明
#defineRS10//学生的人数
#defineKM3//科目数
6.2主函数及各功能函数
#defineRS10
#defineKM3
inti;
structst*p;
p=stu;
while(p->
num!
=0)p++;
do
{
printf("
请输入班级:
"
);
scanf("
%s"
p->
classname);
if(strcmp(p->
classname,"
end"
)!
=0)
{
printf("
请输入学号:
scanf("
%d"
&
p->
num);
请输入姓名:
name);
请输入性别:
sex);
请输入各科成绩:
for(i=0;
i<
KM;
i++)\
scanf("
%f"
score[i]);
}
while(p->
}while(strcmp(p->
));
}
inti,k;
printf("
\n***********成绩单*************"
\n班级\t学号\t姓名\t性别\t各科成绩\n"
for(k=0;
k<
RS;
k++)
if(p->
\n%s\t"
%d\t"
%s\t"
i++)
printf("
%5.1f"
p++;
}
FILE*fp;
charfile[50];
若要在磁盘文件中存储成绩!
请输入文件名:
scanf("
file);
if((fp=fopen(file,"
w"
))==NULL)
不能打开此文件。
\n"
return;
fprintf(fp,"
\n%s"
fprintf(fp,"
fclose(fp);
成绩已存入文件%s中。
若要读取磁盘文件中的成绩!
,请输入文件名:
r"
while(!
feof(fp))
fscanf(fp,"
for(i=0;
fscanf(fp,"
成绩以从文件%s中读出。
displayst(stu);
=n)p++;
for(i=0;
voidmain()
charch;
intn;
=======欢迎进入学生成绩管理系统======="
do
\n请选择你想要进行的操作:
\n1--输入成绩\n2--显示成绩\n3--修改成绩\n4--成绩存盘\n5--读取成绩\n6--退出\n"
%c"
ch);
if(ch=='
1'
)addst(student),scanf("
2'
)displayst(student),scanf("
3'
)
请输入要修改的学生号:
n);
changest(student,n);
4'
)putfile(student),scanf("
5'
getfile(student);
=========================================="
}while(ch!
='
6'
第七章、测试情况
7.1主模块页面如图7-1所示
图7-1
7.2学生信息录入页面7-2所示
图7-2
7.3显示学生信息页面如图7-3所示
图7-3
7.4修改学生信息页面如图7-4所示
图7-4
7.5成绩存盘页面如图7-5所