软件工程学年设计-学生成绩管理系统_第1页
软件工程学年设计-学生成绩管理系统_第2页
软件工程学年设计-学生成绩管理系统_第3页
软件工程学年设计-学生成绩管理系统_第4页
软件工程学年设计-学生成绩管理系统_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程学年课程设计课程名称:学生成绩管理系统姓名:XXX班级:XXX学号:XXX院系:计算机科学与技术学院指导教师:XXX摘要随着计算机的普及,计算机的应用越来越普遍。特别是学校政府科研机构,对计算机的的依靠也越显明显。在学校或班级,我们经常会对某次考试中所有学生的成绩进展统计和管理,由于学生数目经常繁多,所以在处理统计学生总成绩和平时成绩时工作会相对繁琐,所以针对这种情况,同时我分析了成绩管理所需要的功能,在利用c语言及VC++6.0程序运行平台之下,设计了一种小型的学生成绩管理系统,该系统具有学生成绩相关信息的录入、查询、修改、排序、统计、显示、翻开文件、保存文件等功能。关键词:学生成绩管理系统;计算机;c语言;课程设计一可行性研究问题的提出随着学校的的教学任务越来越重,对学生成绩管理的也开场变得的繁琐,作为计算机学生的我们,写一个简单程序让它来代替繁重的工作量,这不仅提现了计算机的计算速度开,二且为我们节省现了大局部时间来完成其它的事情。何乐而不为呢!并且可以提高我们的编程。锻炼我们的能力。国内外研究的现状在国计算机内外,计算机的应用已延伸到各个领域,为了利用计算机解决生活中的实际问题,许多大小型应用软件应运而生。例如在各所学校,为了管理数目众多的学生的成绩,学生成绩管理系统软件成为各所学校必不可少的一项资源。但由于学生成绩管理系统应用十分普遍,所以从总体上来看针对此类的程序设计大都已经成熟,只是特定的处理功能需求根据实际需要而设计,所以就个人来说,无论以生活应用或是自我能力的提升作为出发点,去设计学生成绩管理系统都是很有必要的。任务与分析本课题主要的目的是利用c语言编写程序,实现学生成绩管理功能。由于学生成绩管理具有学生成绩的录入、学生信息的显示和保存到文件、查询、修改和统计学生成绩鞥功能。则首先我们可以定义一个构造体student,其中包含学生学号、姓名、性别、3门课成绩、总分、;然后通过相应的函数实现学生成绩管理的各种功能。系统流程图二需求分析2.1系统要求:能满足对学生成绩的管理,并已文档存储。能够至少处理一个班的学生成绩。2.2数据查询:按学号、按姓名或按总名次查询。2.3数据修改:删除或重新录入指定学号、姓名、名次的学生的根本信息〔学号、姓名等〕以及课程信息〔分数〕。2.4数据排序:按照学号、姓名、名次并选择进展升序还是降序进展排列。2.5统计信息:可分别统计A、B、C、这三门课程的最高分、最低分与平均分。2.6翻开文件:读取已保存的文件。2.7保存文件:保存正在编辑的文件。2.8显示记录:显示正在编辑的数据的记录。2.9退出系统:推出此系统。三程序运行平台具体操作如下:翻开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〕整形42主要功能描述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主程序界面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()函数名: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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论