C语言课程设计学生成绩管理系统答辩.ppt
07组学生成绩管理系统项目答辩C语言课程设计语言课程设计 学生成绩管理系统学生成绩管理系统组长:张组长:张 凯凯组员:施组员:施 威威 金金 阳阳 周志飞周志飞徐州工程学院徐州工程学院1.1.项目目标项目目标1.1.体会从需求理解出发,到软件概要设计,详细设计,体会从需求理解出发,到软件概要设计,详细设计,开发,测试的整体流程。熟悉软件开发整体过程开发,测试的整体流程。熟悉软件开发整体过程2.2.能够熟练掌握使用能够熟练掌握使用C C进行数据链表开发。进行数据链表开发。3.3.能够熟练掌握使用能够熟练掌握使用C C进行数据的存储。进行数据的存储。4.4.培养快速学习新知识的能力。培养快速学习新知识的能力。2.2.开发概要开发概要开发一个运行于开发一个运行于Windows XPWindows XP平台的学生平台的学生成绩管理程序,可以实现学生成绩的输成绩管理程序,可以实现学生成绩的输入、插入、排序、查询等功能。具体功入、插入、排序、查询等功能。具体功能请参考后面的截图等。能请参考后面的截图等。3.3.项目背景项目背景 学生信息管理系统是一个教育单位不可缺少的部分。学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。系统应该能够为用户提供充足的信息和快捷的查询手段。一直以来人们使用传统人工的方式管理文件档案、一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点统计和查询数据,这种管理方式存在着许多缺点,如如:效效率低、保密性差率低、保密性差,人工的大量浪费;另外时间一长人工的大量浪费;另外时间一长,将产将产生大量的文件和数据生大量的文件和数据,这对于查找、更新和维护都带来了这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高不少困难。随着科学技术的不断提高,计算机科学日渐成计算机科学日渐成熟熟,其强大的功能已为人们深刻认识其强大的功能已为人们深刻认识,它已进入人类社会它已进入人类社会的各个领域并发挥着来越重要的作用。的各个领域并发挥着来越重要的作用。4.4.开发环境开发环境OS:Microsoft Windows XP SP2Complier:Visual C+6.0 5.5.参考文献参考文献1.1.C C程序设计程序设计 (第四版)谭浩强著(第四版)谭浩强著2.2.C C语言程序设计案例教程张基温著语言程序设计案例教程张基温著 3.3.百度文库及其他网络平台百度文库及其他网络平台 6.6.关键技术关键技术面向面向过过程程设计设计数据数据结结构构C、C+控制台控制台应应用用文件操作文件操作内存、指内存、指针针、字符串操作、字符串操作链链表数据表数据结结构的使用。构的使用。查查找、排序算法找、排序算法位运算位运算整体流程图inputinsertdelfinddisplay1displayadd临时增加功能:加密(secret)和存储(save)1.加密功能secret():利用字符型数组的知识,对系统进行加密 。同时当输入密码超过三次时用户将无权进入该系统!7.7.项目亮点项目亮点2.文件存储功能save()对当前所包含的全部学生信息保存到磁盘的一个文件中对当前所包含的全部学生信息保存到磁盘的一个文件中8.8.产品展示产品展示(1).(1).进入界面进入界面(2).(2).选择功能模块选择功能模块输入信息和增加信息模块讲解(金):输入:利用input函数,定义原始数据录入模块,然后利用do-while语句循环,其特点是先执行循环体语句,然后判断循环条件是否成立,不成立就退出,成立就再执行循环体语句,提高录入效率。增加:利用insert函数,定义添加新学生信息函数,也是利用do-while语句循环,同样可以更快得增加学生信息。(3).(3).录入学生信息模块录入学生信息模块inputinput()()录入四位学生的成绩(4).(4).增加学生信息模块增加学生信息模块insert()insert()删除信息和对信息排序模块讲解(施):删除模块我们做了按学号删除学生信息的程序,删除模块我们做了按学号删除学生信息的程序,因为这样删除信息会很快捷。因为这样删除信息会很快捷。而排序的模块我们做了按学号排序、按总成绩而排序的模块我们做了按学号排序、按总成绩排序、按语文成绩排序、按数学成绩排序、按排序、按语文成绩排序、按数学成绩排序、按英语成绩排序。只要输入要求前面对应的序号,英语成绩排序。只要输入要求前面对应的序号,就可以进行相应的排序。其中,我们采用就可以进行相应的排序。其中,我们采用switchswitch语句对排序情况进行分类,在程序中用语句对排序情况进行分类,在程序中用到了数据结钩,而排序我们主要用的是到了数据结钩,而排序我们主要用的是“冒泡冒泡排序排序”,考虑到程序结构的整齐,我们没有采,考虑到程序结构的整齐,我们没有采用其他的排序方法用其他的排序方法(4).(4).删除信息模块删除信息模块del()del()删除后:删除后:(5).(5).对当前所有学生信息分类排序对当前所有学生信息分类排序display1()display1()分别设计五种排序方法供用户选择:分别设计五种排序方法供用户选择:【按照学号进行排序】【按照学号进行排序】Sort_by_num()【按照总分进行排序】【按照总分进行排序】sum()/另外三种不再一一介绍另外三种不再一一介绍查找信息和显示信息模块讲解(周):查找:这一部分我们调用了查找:这一部分我们调用了findfind函数,便于我们更快捷的函数,便于我们更快捷的查找学生的成绩,并且使用了查找学生的成绩,并且使用了DO-whileDO-while循环结构,这样循环结构,这样我们就可以既方便又快捷的,更加节省空间的查找出学我们就可以既方便又快捷的,更加节省空间的查找出学生的成绩,我们采用的是利用查找学生的姓名来查找学生的成绩,我们采用的是利用查找学生的姓名来查找学生信息这样更具有代表性。生信息这样更具有代表性。显示:这一部分我们调用了显示:这一部分我们调用了displaydisplay函数,同样的使用了函数,同样的使用了do-whiledo-while循环结构,不需要初始条件,这样更加方便快循环结构,不需要初始条件,这样更加方便快捷的显示大量的学生数据。捷的显示大量的学生数据。(6).(6).查找当前任一学生信息模块查找当前任一学生信息模块findfind()()(7).(7).显示当前所有学生信息显示当前所有学生信息display()display()9.9.项目总结项目总结完成该项目的设计后,本小组成员做出如下总结:完成该项目的设计后,本小组成员做出如下总结:1.对对C语言本身学习的不够好,运用的基本上语言本身学习的不够好,运用的基本上函数数组等一些简单的编程方法,对指针单链函数数组等一些简单的编程方法,对指针单链表操作等运用却反一定的能力。表操作等运用却反一定的能力。2.通过本次课程设计更加明白了团队合作对于通过本次课程设计更加明白了团队合作对于一项工程的重要性并了解了一些基本的项目开一项工程的重要性并了解了一些基本的项目开发的流程等知识。发的流程等知识。3.该项目可以优化的地方还有很多,适当的借该项目可以优化的地方还有很多,适当的借鉴和学习对项目开发也是有好处的。鉴和学习对项目开发也是有好处的。4.指导老师的帮助。指导老师的帮助。谢谢!