学生成绩管理系统.docx

上传人:b****5 文档编号:2850729 上传时间:2022-11-15 格式:DOCX 页数:40 大小:948.88KB
下载 相关 举报
学生成绩管理系统.docx_第1页
第1页 / 共40页
学生成绩管理系统.docx_第2页
第2页 / 共40页
学生成绩管理系统.docx_第3页
第3页 / 共40页
学生成绩管理系统.docx_第4页
第4页 / 共40页
学生成绩管理系统.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统.docx

《学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统.docx(40页珍藏版)》请在冰豆网上搜索。

学生成绩管理系统.docx

学生成绩管理系统

 

中国海洋大学

C语言课程设计报告书

 

题目

学生成绩管理系统

学生姓名

指导教师

林旭平

学院

中国海洋大学

专业班级

计算机科学与技术1班

组内分工

姓名

主要任务

占系统比例

王林

查看学生档案模块以及主程序main()函数的编写和调试。

25%

李木婉

查看学生成绩模块以及各函数之间的搭配与链接。

25%

李倩梅

查看成绩管理规定模块和退出学生管理系统模块的程序编写。

25%

苏明

修改学生成绩模块和查看成绩分布模块的编写。

25%

目录

1前言1

2需求分析2

3模块设计图3

4NS流程图清单4

5存储结构及函数说明9

6课程设计结果19

7实践心得体会26

 

1前言

该章主要描述课程设计的目的,以及对题目本身的理解。

●目的:

1.C语言程序设计是过程性程序设计语言,做C语言课程设计以培养我们分析问题的完备性,以及统筹全局,协调关系的基本素质,也可以有效地培养我们思维的条理性和逻辑性

2.课程设计的过程能进一步巩固C语言程序设计中的重点和难点,培养我们的结构化程序设计思想

3.通过实践着重巩固数组、函数、结构体、指针、链表等重要内容

4.掌握编写中性程序的基本思路、技巧和调试方法

5.通过实验锻炼我们的实际动手能力,提高我们的编程和程序调试能力。

6.通过做课程设计激发我们的学习兴趣和创新能力,为后续课程的学习打下良好的基础。

●对题目本身的理解:

我们通过做C语言程序设计的课题《学生成绩管理系统》,我们由刚开始的分析该系统可实现的功能开始着手。

分析出了该程序系统可实现的功能有如下五个:

查看成绩管理规定、查看学生档案、查看学生成绩、修改学生成绩、查看成绩分布。

我们在分析解决问题的过程中应该运用到的知识点有:

数组,指针,结构体,文件指针以及函数的调用。

 

2需求分析

●学生成绩管理系统的需求分析:

1.现在随着互联网的应用广泛,越来越多的学校纷纷采取了,学生网上查阅成绩的方法。

学生可通过网上查询自己的各科目考试成绩、总分、平均分、在班级中的名次,还有对自己的成绩质疑的时候也可以通过管理员的密码对成绩进行修改,既方便又很实用。

2.学校老师可以通过学生成绩管理系统查阅学生的成绩,对学生的各科目成绩进行系统的分析,然后对学生进行因材施教。

老师,可以根据学生的成绩调整自己的教学方式和进度及难度,可以让老师更好的提高教学质量。

学校也可以根据学生成绩,进行细致的分析,决定对学生进行奖学金的分配。

●分析程序系统实现的功能:

1.用户登陆:

学生以学号、密码登陆。

2.成绩管理规定:

说明各专业科目及及格标准和各科成绩等级分布。

3.学生档案管理:

学生的姓名、学号、专业班级。

4.查看学生成绩:

显示学生各科成绩分数、总分、平均分及班级名次。

5.修改学生成绩:

凭管理员密码修改学生成绩添加新学生信息。

6.核查学生各科目的成绩等级分布:

显示学生各科目的成绩及等级分布。

 

3模块设计图

根据第二章中对系统的需求分析,绘制模块图。

以下是学生成绩管理系统的各个模块的分工及流程图:

4NS流程图清单

根据第三章的模块图,绘制每一个模块的NS流程图,如果在其中要用到某一特殊算法,如排序算法等,要详细说明。

Main()函数的NS流程图:

第一个模块:

voidshow()

第三个模块:

voidshowscore()

 

第四个模块:

voidsetscore()

第五个模块:

voidgetscore()

5存储结构及函数说明

在本章中主要描述系统中主要信息的存储结构,对于各模块中通用的信息尽量采用同一存储结构,并将共同的存储结构保存成头文件,以便于各模块调用。

对于各模块出现的函数要加以详细说明,特别是函数功能,其中包括函数形参和返回值代表的含义。

一、基本学生信息和数据类型及结构:

longstnum;长整型的数据类型

charstname[20];字符数组的数据类型

charstclass[80];

intsch;整形数据类型

intsmh;

intseh;

intscc;

intspe;

intsls;

charstid[20];

charsthome[20];

charstmuxiao[40];

FILE*fp,*fp1;文件指针的定义数据类型

inti,choice;

inta,bb,c,d,e,f;

intsumscore,sum[50];整形数据类型和整型数组

doubleavg;双精度型的数据类型

intscore,i,j,index,temp,num;

结构体采用数组格式:

(定义结构数据结构)

structstu{

longstnum;//学生的学号

charstname[20];//学生的姓名

charstclass[80];//学生的专业班级

intsch;//语文成绩

intsmh;//数学成绩

intseh;//英语成绩

intscc;//C语言成绩

intspe;//体育成绩

intsls;//离散成绩

charstid[20];//学生身份证号

charsthome[20];//学生籍贯

charstmuxiao[40];//学生原毕业学院

};

stua[50],b[50],*p;结构体数组及结构指针

定义头文件结构:

#include/*标准库函数文件*/

#include/*字符串处理函数文件*/

#include/*数学函数处理文件*/

二、txt文件介绍:

在我们的学生成绩管理课程设计中,包含了两个txt文件,通过这两个文件来读取相应的信息,第一个是f.txt文件,该文件内存储了计算机科学与技术专业一、二班学生的学号、姓名、专业班级、各科成绩、身份证号、籍贯和原毕业学校等学生信息,第二个是f2.txt文件,该文件用于存储中国海洋大学成绩管理规定,该规定在我们的学生成绩管理程序中的第一项功能中被显示。

三、主要函数说明:

#include/*标准化头文件处理函数*/

#include/*字符串处理函数*/

#include/*数学库处理函数*/

voidshow()/*显示学生档案模块的函数*/

voidshowpersonal()/*显示学生档案模块的函数*/

voidshowscore()/*显示学生成绩模块的函数*/

voidsetscore()/*设置学生成绩模块的函数*/

voidgetscore()/*显示学生成绩分布状况的函数*/

各个函数详细的说明:

structstu{

longstnum;//学生的学号

charstname[20];//学生的姓名

charstclass[80];//学生的专业班级

intsch;//语文成绩

intsmh;//数学成绩

intseh;//英语成绩

intscc;//C语言成绩

intspe;//体育成绩

intsls;//离散成绩

charstid[20];//学生身份证号

charsthome[20];//学生籍贯

charstmuxiao[40];//学生原毕业学院

};

四、各模块的详细说明:

1、学生成绩管理系统登录模块:

1)函数原型、功能及形参说明;

函数原型intmain()

函数功能学生登陆以及显示功能菜单

参数说明FILE*fp;stua[50],*p;intchoice,index=1;ints,I,x,flag;longnum;

2)源程序清单

intmain()/*主函数*/

{

FILE*fp;/*文件指针的定义声明*/

stua[50],*p;/*结构体数组、结构指针的定义声明*/

intchoice,index=1;/*定义主函数的变量、参数变量*/

ints,I,x,flag;

longnum;/*定义声明长整型数据的类型*/

if((fp=fopen("f.txt","r"))==NULL){

printf("Fileopenerror!

\n");

}/*文件打开格式*/

printf("**********************欢迎使用学生成绩管理系统****************************\n");/*进入学生成绩管系统的显示*/

printf("请先登陆:

(只需输入您的学号即可)");

scanf("%ld",&num);/*学生登陆学生成绩管理系统*/

i=0;

while(!

feof(fp))

{

fscanf(fp,"%ld%s%s%d%d%d%d%d%d%s%s%s",&a[i].stnum,a[i].stname,a[i].stclass,&a[i].sch,&a[i].smh,&a[i].seh,&a[i].scc,&a[i].spe,&a[i].sls,a[i].stid,a[i].sthome,a[i].stmuxiao);

i++;

}

/*打开文件,读取f.txt文件的内容并读取内容,将其内容赋值给结构体数组,并记录数组长度i*/

s=i;/*将数组长度i值传给s*/

p=a;/*结构数组a数组的首地址传给结构指针*p*/

while(index<3){

if(num>=20090201&&num<=(20090200+s)){

flag=1;

break;

}/*控制输入学号的大小,实现学生的准确登陆,并给与提示,登录失败或者成功*/

else

{

printf("您输入的帐号不存在,请重新输入你的学号:

");

/*提示学生输入的帐号不存在,请重新输入,防止非学生人员乱自登陆*/

scanf("%d",&num);

if(num>=20090201&&num<=(20090200+s))

flag=1;

}

index++;/*记录登陆失败的次数,超过三次自动退出学生成绩管理系统。

*/

}

if(flag==1)/*满足条件,则学生登陆成功*/

{

for(i=0;i

if(a[i].stnum==num){

x=i;break;}

/*寻找符合该学生学号的的结构数组a[i],并输出该学生的姓名,核查是否是该生本人登陆系统*/

}

printf("你好,您的名字是:

");

printf("%s\n",a[x].stname);

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

pri

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1