您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > C语言课程设计班级成绩管理系统
课程设计报告课程名称C语言程序设计课题名称班级成绩管理系统专业班级学号姓名指导教师年月日湖南工程学院课程设计任务书课程名称C语言程序设计课题班级成绩管理系统专业班级学生姓名学号指导老师审批任务书下达日期年月日任务完成日期年月日目录一、引言...............................0二、总体设计...........................1三、详细设计...........................3四、问题分析及总结....................13五、参考文献..........................15六、附件..............................15一、设计内容与设计要求1.设计内容:班级成绩管理系统设计涉及的知识点:①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;②掌握数组的基本概念。熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。③掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。④掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。⑤掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。2.设计要求:1)用C语言实现系统;利用结构体数组实现班级成绩的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观;各项显示数据均要求以表格的形式输出;在各功能子模块中应设计相应的二级菜单。2)建立一个班级学生成绩数据库,文件名为bjcjk.txt,并从该文件中读取数据;3)班级成绩管理系统应能提供以下功能:(1)主菜单界面设计。通过提示用户输入一个数字选项,调用相应的功能函数。(2)学生成绩显示:完成班级全部学生成绩的显示,显示时按表格的形式,且应有表头;(3)学生成绩追加:完成新增一个(或多个)学生的成绩记录,要求在追加过程中有相应的提示信息,完成追加后能重新计算学生平均成绩并显示;(4)学生成绩修改:要求能按学号和按姓名两种定位方式,且可以按用户要求修改记录中除学号和姓名以外的指定内容,并重新计算学生的平均成绩;(5)学生成绩信息的查询;要示系统能按学号、按姓名查询以及能查总分在某一指定范围内的学生信息,且能显示符合条件的所的记录,若所需查询的信息不存在时应有相应的提示信息。(6)学生成绩信息的删除;要求可按指定的学号和指定的姓名两种定位方式删除学生的成绩记录。(7)要求在删除模块、修改模块和查询模块中若找不到所需的记录时,系统设计中应有一定的提示信息。(8)成绩排序:按学生平均成绩进行排序;(9)成绩统计:①统计并以表格的形式显示所有课程的平均分;②统计并显示选定的某门课程的平均分以及超过该平均分的人数,同时能将超过该平均分的学生记录以表格的形式显示出来。4)说明:(1)要求将修改后的数据写入到一个新的数据文件nwejck.txt中。(2)对系统有兴趣的同学可以在实现基本要求的基础上,完善系统的其它功能。5)班级成绩管理系统采用一个结构体数组,学生成绩数据库结构如下:intxh/*学号*/charname[10]/*姓名*/doubleyy/*英语*/doublemat/*数学*/doublejsj/*计算机*/doublewl/*物理*/doublezf/*总分*/注意:学号不能重复且不少于4位数字,各项字符串的长度要求在4~10之间,数据库应有10条或多于10条以上的记录。6)要求:⑴要求每个学生必须独立思考,认真并按时完成本课程设计所包含的所有内容;⑵要求学生必须按照课程设计报告的完整格式说明设计内容,设计任务分析过程和算法,给出程序流程图和全部源程序;⑶设计报告的完整格式应包括以下部分的内容:①系统设计总体思路;②系统的主要功能;③系统功能模块的划分(要求画出总体模块框图);④主要功能的实现和各个程序模块说明(每个功能模块的框图统主模块的流程图,各个功能模块至少要有一个主要的流程图);程序调试过程及各模块调试中相应的部分截图7)分组及安排所选题目根据学生班号和学号确定,(班号+学号)%6+1。如你的班号为01班、学号为01,则所选题目号为:(1+1)%6+1=3,即课题号为3。8)成绩评定①系统设计方案是否合理;②程序设计是否正确;③调试结果;④设计说明书的质量高低;⑤答辩时回答问题情况;⑥课程设计周表现情况;总评成绩记入“课程设计成绩评分表”。二、进度安排第16周星期三14:00——17:00讲课、布置任务星期五8:00——12:00机房上机调试程序第17周星期三19:00——22:00机房上机调试程序星期四14:00——18:00机房上机调试程序星期五8:00——12:00机房上机调试程序、答辩附:课程设计报告排版、打印和装订要求1.课程设计报告装订顺序:封面、任务书、目录、正文、附件、评分表。按A4大小的纸张排版和打印。2.设计报告的页码从目录之后开始使用;3.正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22磅。正文中程序清单(英文)用英文字体TimesNewRoman,单倍行间距。4.正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试(各模块至少有一个程序调试的截图);五、总结(不少于500字);六、参考文献;七、附件(包含所有程序的原代码,且程序中应有必要的注释)。八.正文总字数要求在5000字以上(不含程序原代码)。5.设计报告中任务书和评分表不需重新排版。一、引言1.1前言C语言课程设计是对学生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧的培养。是与课堂听讲、自学和练习相结合的必不可少的一个环节。课程设计的课题比平时的习题复杂得多,也更接近实际。全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和C语言基本图形编程等方法,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。1.2设计目的随着电脑技术的发展越来越快,管理系统得到人们广泛的应用。本课题中编写班级成绩管理系统主要是为了方便我们能更加高效快捷地管理学生的各项成绩信息,能够对学生成绩进行追加、修改、删除等操作。并能对输入的数据进行平均分、总分的计算以及总分的排序,进而清楚明朗地显示出来。二、总体设计2.1主要功能主要实现对学生成绩信息实现成绩的显示,成绩的追加,成绩的修改,成绩的查询,成绩的删除,成绩的排序和统计等功能。班级成绩管理系统具体提供以下功能:a、成绩显示:完成全班同学全部学生成绩的显示,以表格形式显示出来,并带有表头。b、成绩追加:新增学生成绩记录,在追加过程中有相应的提示信息并实现连续追加的功能。追加成功的成绩能重新计算学生的平均成绩并显示。c、成绩修改:实现按学号修改和按姓名修改两种修改方式,并可以对指定的学生的各科成绩进行修改,修改过程中有相应的提示信息。修改后能重新计算学生的平均成绩。d、成绩删除:对指定的学号或者指定的姓名进行定位删除,并有相应的提示信息。e、成绩查询:对指定的学号或指定的姓名进行定位查询,并能显示出符合条件的查询结果。查询的信息不存在时有相应的提示信息。f、成绩排名:按学生平均成绩进行排序,并以表格形式显示。g、成绩统计:以表格的形式显示所有课程的平均分,并显示选定的某门课程的平均分以及超过该平均分的人数,同时将超过该平均分的学生记录以表格的形式显示出来。2.2功能模块划分(1)本程序由八个模块构成,其中主模块是由系统函数搭建而成,其重要功能是显示出功能主菜单,由用户作出选择进入子菜单。在子菜单中操作完毕后,能够准确返回到功能主菜单。系统主要模块流程图如下:(2)模块说明主界面main()用户选择界面显示模块Disp()显示所有学生的成绩信息追加模块Appe()添加学生成绩信息修改模块Modi()修改学生某项成绩信息删除模块Dele()删除学生某项成绩信息查询模块Query()查询学生成绩信息排序模块Sort()按成绩总分排序统计模块Total()统计各科目平均分信息退出模块Quit()退出系统并保存信息主函数主界面显示成绩成绩追加成绩修改成绩删除成绩查询成绩排名成绩统计退出系统三、详细设计3.1主要功能的实现(下面以追加模块和修改模块为例)(1)追加模块流程图FILE*fp调用Re_file()主菜单成绩追加开始输入学生各项信息是否继续(Y/N)?保存并退出结束(2)修改模块流程图开始FILE*fp调用Re_file()主菜单成绩修改按学号修改成绩修改菜单按姓名修改返回到主菜单选择要修改的科目输入要修改的学号输入修改的成绩输入修改的成绩输入修改的姓名选择要修改的科目目是否继续?(Y/N)是否继续?(Y/N)保存并退出到成绩修改菜单结束3.2程序调试各模块运行步骤及界面3.2.1功能主菜单选择界面3.2.2显示模块(输入“1”进入全班成绩显示菜单)3.2.2显示模块截图3.2.3追加模块(在功能主菜单输入“2”进入成绩追加界面,这里输入一组追加信息后,系统会提示是否继续追加,从而实现了“连续追加”的功能)3.2.4追加模块截图(注:这里的总分输入值为0,因为在该程序中,总分会计算出来)3.2.4修改模块(在功能主菜单输入“4”进入成绩修改菜单,这里可以根据学号和姓名查找到对应学生成绩信息进行修改。下面以按姓名修改为例,对姓名为“ww”的学生的计算机成绩进行修改后,系统还能提示是否对该生的其他科目成绩进行继续修改,实现了“一人多项”的修改功能。修改完系统会退到所有学生成绩菜单,可以清楚地看到修改后的学生的成绩信息)3.2.4修改模块截图3.2.5删除模块(在功能主菜单输入“4”进入删除方式菜单,此功能可以对学生成绩信息进行按学号删除和按姓名删除两种删除方式。下面以对姓名为“ww”的学生成绩进行删除,输入该生姓名后,系统能显示该生的各项成绩信息,并提示是否确认删除。删除后,系统还能提示是否继续进行删除操作。这里的删除模块实现了“多人多项”的删除功能,操作使用起来十分便利高效。如果不继续,选择“2”能退出到删除方式菜单,进行接下来的删除操作)3.2.5删除模块截图3.2.6查询模块(在功能主菜单输入“5”系统进入成绩查询菜单。此功能可以对学生成绩信息按学号查询和按姓名查询,以下以按学号查询为例。输入学号为“201310”的学生学号,系统以表格的形式显示出该生的成绩信息。输入“1”能返回到查询菜单继续查询,输入任意键系统退出到主菜单界面)3.2.6查询模块截图3.2.7排序模块(在功能主菜单输入“6”进入成绩排名的界面,成绩排名以总分的高低由高向低以表格的形式显示出来)3.2.7排序询模块截图3.2.8统计模块(在功能主菜单输入“7”进入平均分统计菜单界面,菜单显示:1、所有课程平均分2、单一课程平均分3、退出。以下输入“2”进入单一课程平均分界面,菜单界面显示各科目的选择列表,输入“2”查询数学成绩的平均分,结果以表格形式输出超过该科平均分的学生信息。查询完数学这项后,还能继续对其他科目的平均分统计信息进行查询。实现了“多次循环”的功能)3.2.8统计模块截图3.2.9退出模块(在完成对该系统的所有操作后,在功能主菜单界面输入“8”进入退出界面,如下图:键入任意键即可退出该系统)3.2.9退出模块截图四、问题分析及总结4.1问题分析从接到这个课题开始,我们就开始了为期一周的C语言课程设计。首先是针对本次课
本文标题:C语言课程设计班级成绩管理系统
链接地址:https://www.777doc.com/doc-5933700 .html