软件工程学年设计学生成绩管理系统.docx

上传人:b****5 文档编号:7860433 上传时间:2023-01-26 格式:DOCX 页数:18 大小:231.47KB
下载 相关 举报
软件工程学年设计学生成绩管理系统.docx_第1页
第1页 / 共18页
软件工程学年设计学生成绩管理系统.docx_第2页
第2页 / 共18页
软件工程学年设计学生成绩管理系统.docx_第3页
第3页 / 共18页
软件工程学年设计学生成绩管理系统.docx_第4页
第4页 / 共18页
软件工程学年设计学生成绩管理系统.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

软件工程学年设计学生成绩管理系统.docx

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

软件工程学年设计学生成绩管理系统.docx

软件工程学年设计学生成绩管理系统

 

软件工程学年课程设计

 

课程名称:

学生成绩管理系统

姓名:

XXX

班级:

XXX

学号:

XXX

院系:

计算机科学与技术学院

指导教师:

XXX

 

摘要

随着计算机的普及,计算机的应用越来越普遍。

特别是学校政府科研机构,对计算机的的依靠也越显明显。

在学校或班级,我们经常会对某次考试中所有学生的成绩进行统计和管理,由于学生数目经常繁多,所以在处理统计学生总成绩和平时成绩时工作会相对繁琐,所以针对这种情况,同时我分析了成绩管理所需要的功能,在利用c语言及VC++6.0程序运行平台之下,设计了一种小型的学生成绩管理系统,该系统具有学生成绩相关信息的录入、查询、修改、排序、统计、显示、打开文件、保存文件等功能。

关键词:

学生成绩管理系统;计算机;c语言;课程设计

 

一可行性研究

1.1问题的提出

随着学校的的教学任务越来越重,对学生成绩管理的也开始变得的繁琐,作为计算机学生的我们,写一个简单程序让它来代替繁重的工作量,这不仅提现了计算机的计算速度开,二且为我们节省现了大部分时间来完成其它的事情。

何乐而不为呢!

并且可以提高我们的编程。

锻炼我们的能力。

1.2国内外研究的现状

在国计算机内外,计算机的应用已延伸到各个领域,为了利用计算机解决生活中的实际问题,许多大小型应用软件应运而生。

例如在各所学校,为了管理数目众多的学生的成绩,学生成绩管理系统软件成为各所学校必不可少的一项资源。

但由于学生成绩管理系统应用十分普遍,所以从总体上来看针对此类的程序设计大都已经成熟,只是特定的处理功能需求根据实际需要而设计,所以就个人来说,无论以生活应用或是自我能力的提升作为出发点,去设计学生成绩管理系统都是很有必要的。

1.3任务与分析

本课题主要的目的是利用c语言编写程序,实现学生成绩管理功能。

由于学生成绩管理具有学生成绩的录入、学生信息的显示和保存到文件、查询、修改和统计学生成绩鞥功能。

那么首先我们可以定义一个结构体student,其中包含学生学号、姓名、性别、3门课成绩、总分、;然后通过相应的函数实现学生成绩管理的各种功能。

1.4系统流程图

二需求分析

2.1系统要求:

能满足对学生成绩的管理,并已文档存储。

能够至少处理一个班的学生成绩。

2.2数据查询:

按学号、按姓名或按总名次查询。

2.3数据修改:

删除或重新录入指定学号、姓名、名次的学生的基本信息(学号、姓名等)以及课程信息(分数)。

2.4数据排序:

按照学号、姓名、名次并选择进行升序还是降序进行排列。

2.5统计信息:

可分别统计A、B、C、这三门课程的最高分、最低分与平均分。

2.6打开文件:

读取已保存的文件。

2.7保存文件:

保存正在编辑的文件。

2.8显示记录:

显示正在编辑的数据的记录。

2.9退出系统:

推出此系统。

三程序运行平台

VC++6.0

具体操作如下:

打开VC++6.0,点击文件——点击新建——点击文件——选择c++SourceFile,同时输入文件名,建立保存目录——点击确定,创建源文件成功。

编写程序,再编译,链接,执行等。

四总体设计

1数据描述:

学生基本内容数据表:

名称

类型

大小

是否是关键字

序号(num)

整形

4字节

名字(name)

字符串

20字节

性别(sex)

字符串

5字节

年龄(age)

整形

4字节

生日(dataa)

结构体

12字节

地址(address)

字符串

50字节

电话(tel)

字符串

11字节

分数(scorec)

结构体

14字节

学生日数据表:

名称

类型

大小

年(year)

整形

4

月(month)

整形

4

日(day)

整形

4

学生各科成绩表:

名称

类型

大小

高数(gao)

整形

4

英语(ying)

整形

4

大物(wu)

整形

4

总分(total)

整形

4

2主要功能描述

1.录入学生信息,包括:

姓名,学号,性别,年龄,电话,生日,家庭地址,分数。

2.输出学生的信息,信息是指先本次操作的的内容。

3.更新学生信息,包括:

更新本次录入的信息和添加新的数据。

4.查询学生信息,包括:

按学号,按姓名,按各科成绩及格的学生。

5.排名信息,包括:

按学号排名,按成绩排名。

6.统计学生的信息。

7.删除学生信息,包括:

按学号删除,按姓名删除。

8.保存本次操作的为文件。

9.查询文件中的学生信息内容。

3ER图

 

五详细设计

针对要处理的学生信息和数据格式的实际情况,本程序使用了结构体型数据、全局变量和宏定义,用结构体型数据存放学生的各种信息,存储在结构体的数组内,所以只能处理,内存当中的信息,用宏定义使程序更加简洁也使程序更容易更改

#defineMY1printf("学号\t姓名\t性别\t年龄\t生日")

#defineMY2printf("\n%d%6s%4s\t%2d%8d%2d%2d\n",s[i].num,s[i].name,s[i].sex,s[i].age,s[i].a.year,s[i].a.month,s[i].a.day)

#defineMY3printf("家庭住址联系方式高数英语大物总成绩")

#defineMY4printf("\n%4s%4s%2d%2d%2d%2d\n",s[i].address,s[i].tel,s[i].c.gao,s[i].c.ying,s[i].c.wu,s[i].c.total)

#defineMAX50

1.主程序界面

2录入学生信息:

姓名,学号,性别,年龄,电话,生日,家庭地址,分数。

函数为:

putin_message();

输入:

姓名,学号,性别,年龄,电话,生日,家庭住址,分数;

输出:

NULL;

功能:

录入学生信息;

putin_message()

{system("cls");

printf("\n\n***********输入学生信息****************\n\n");

printf("\n***********************学生信息输入完毕**********************\n");

}

3输出学生的信息,信息是指先本次操作的的内容。

函数名:

out_message();

输入:

NULL

输出:

学生信息

功能:

显示操作内容

voidout_message()

printf("\n*****************************学生信息表**********************\n\n");

}

4更新学生信息

函数名:

renew_message();

输入:

NULL

输出:

NULL

功能:

更新调用函数insert_message(),revise_message()

renew_message()

{

printf("\n\n\n*****************更新学生信息*******************\n\n");

}

函数名:

insert_message();

输入:

学生信息

输出:

NULL

功能:

插入新的学生信息

insert_message()

{

}

函数名:

revise_message();

输入:

学生信息

输出:

NULL

功能:

更改的学生信息,可以修改,学号,姓名等基本信息。

/*修改学生信息*/

revise_message()

}

 

5查询学生信息

函数名:

inquire_num();

输入:

NULL

输出:

学生信息

功能:

查询学号函数,被inquire_message()调用。

intinquire_num()

{

}

函数名:

inquire_name();

输入:

NULL

输出:

学生信息

功能:

查询姓名函数,被inquire_message()调用。

intinquire_name()

{

}

函数名:

inquire_gao();

输入:

NULL

输出:

学生信息

功能:

查询成绩函数,被inquire_jige()调用。

intinquire_gao()

{

}

函数名:

inquire_ying();

输入:

NULL

输出:

学生信息

功能:

查询成绩函数,被inquire_jige()调用。

intinquire_ying()

{

}

函数名:

inquire_wu();

输入:

NULL

输出:

学生信息

功能:

查询姓名函数,被inquire_jige()调用。

intinquire_wu()

{

}

函数名:

inquire_jige();

输入:

NULL

输出:

学生信息

功能:

查询姓名函数,被inquire_message()调用。

intinquire_jige()

{

}

/*查询学生信息模块*/

inquire_message()

{

}

6排名信息,包括:

按学号排名,按成绩排名

函数名:

rank_num();

输入:

NULL

输出:

学生信息

功能:

查询姓名函数,被rank_message()调用。

intrank_num()

{

}

函数名:

rank_score();

输入:

NULL

输出:

学生信息

功能:

查询姓名函数,被rank_message()调用。

intrank_score()

{

}

函数名:

rank_message();

输入:

NULL

输出:

学生信息

功能:

排名,被main()调用。

intrank_message()

{

}

7.统计学生的信息

函数名:

count_nn();

输入:

NULL

输出:

学生信息

功能:

统计学生信息,被main()调用。

intcount_nn()

{

}

8.删除学生信息,包括:

按学号删除,按姓名删除

函数名:

del_num();

输入:

NULL

输出:

学生信息

功能:

统计学生信息,被del_message()调用。

del_num()

{

}

函数名:

del_name();

输入:

NULL

输出:

学生信息

功能:

统计学生信息,被del_messege()调用。

intdel_name()

{

}

 

函数名:

del_message();

输入:

NULL

输出:

NULL

功能:

统计学生信息,被main()调用。

del_message()

{

}

删除操作:

9保存本次操作的为文件

函数名:

save_message();

输入:

NULL

输出:

NULL

功能:

将学生信息保存到文件,被main()调用。

 

save_message(intsum)

{

}

10查询文件中的学生信息内容

函数名:

putout_message();

输入:

NULL

输出:

文件信息

功能:

将学生信息保存到文件的信息输出,被main()调用。

voidputout_message()

{

}

文件内容:

显示内容:

 

六总结

经过两个多星期的折腾,总算把程序设计给完成了,这是一个坚苦而又漫长的过程,学习C语言已经接近三年了,虽然是一个小型学生成绩系统设计,看着自己的成果,那几个熬夜的晚上还是很值得的,很欣慰!

在本次设计的全过程中,我对三年所学的知识有了一个比较系统的认识和理解。

涉及了各方面的知识,大大扩展了我的知识面,同时是我学会了如何使用所学的知识去解决一些实际的问题。

在设计中我深知自己掌握的知识还远远不够,掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。

把学到的知识应用到时间中去,多做多练,才可以把理论的精华发挥出来。

知识不是知道,了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。

而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内在的联系。

计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。

在设计阶段,通过对课题的深入分析与研究,迫使我对技术有了一定的了解。

在遇到问题时,得到了指导老师与同学的悉心帮助,使我感受到集体的力量是无穷的。

通过这次设计,我学会了和别人配合工作,因为一个人所学的知识不可能面面俱到的,只有通过合作,发挥自己的优点,体现团队精神,才能使工作做得更为出色。

通过这次设计,我学到了许多书本上学不到的知识,增强了自己的动手能力。

即将大三结束,我十分珍惜这次锻炼的机会,我按部就班的完成了自己的设计任务,但由于自己的知识水平有限,仍然存在很多的不足之处,恳请老师多多指教!

当今的社会是竞争的社会,而人才的竞争则是竞争的焦点,课程设计对于我们这些没有接触过实际项目的同学来说,是离校前很好的一次锻炼,使我们各方面的能力都有了很大的提高,为我们踏出校门,走上社会增强了能力与自信!

计算机技术的高速发展,使我深深地认识到只有不断的加强学习,才能在计算机技术方面不至于被淘汰,今后,我还要加强学习,努力使自己成为一位专业的计算机人员,为我自己所从事的工作服务。

参考文献

(1)C程序设计(第三版)作者:

谭浩强著出版社:

清华大学出版社

(2)C程序设计题解与上机指导(第三版)谭浩强主编

出版社:

清华大学出版社

(3)《C语言程序设计》--张磊出版社:

高等教育出版社 

4《C语言最新编程技巧200例》作者:

鲁沐浴,电子工业出版社

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

当前位置:首页 > 高中教育 > 小学教育

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

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