1、09级电子信息工程_ 指导教师:_ 提交日期:_2012年5月6日_第一章 课程设计内容 课程设计目的 经过了对课本C+面对对象程序设计这本书中的学生管理系统综合应用实例的学习,为了让自己能够对C+语言设计有更加深入、深刻的理解和掌握,希望通过实践设计出类似于学生管理系统的教师管理系统来提升自己对C+语言的认识。首先定义一个教师TeacherList类;其次可以对教师信息进行增加,用链表来做,所以可以分别从表头和表尾来增加;然后可以用链表来查找和删除教师的相关信息;最后可以显示教师的所有信息并要求用二进制文件进行读写操作。由此来系统化的管理教师的信息,并达到简易操作的目的。在课程设计同时,我们
2、应学会以下几点:1、通过C+语言的课程设计进一步的了解和掌握C+语言的有关知识和相关语法的使用方法。2、熟练掌握使用C+语言对一些简单常见问题进行解决,编译程序对问题进行解决。3、通过课程设计,进一步掌握C+语言中有关重要的数据结构,诸如类、链表、结构体、重载、传输流、构造析构函数、虚函数、友元类、文件处理等在程序开发中的应用。4、通过课程设计,能根据实际问题的具体情况,结合面向对象的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。提高程序开发能力,能运用合理的控制流编写清晰高效的程序。5、通过课程设计,培养C+语言知识运用和自学能力,验证自己设计的算法和程序的正确性。学
3、会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。独立或合作设计和开发一个中小型系统,掌握系统研发全过程。6、通过此次课程设计发现自己在C+语言编程上的不足并进一步掌握C+语言,为以后课程打下基础。1.2 课程设计功能说明 功能总概述 运行系统时使用switch关键字控制主菜单的选择如下图所示当某一个被选择上时,就会按照文字上所阐述的内容进行相关的处理;当查找教师时,并且填入的教师存在时,就会显示所对应的子菜单用于增加授课的班级;当查找班级时,并且填入的班级存在时,就会显示所对应的子菜单用于增加此班级授课的科目。程序在各各菜单选项中支持增加、查找、显示所有、删除
4、、退出等功能选择。 通过该程序能够很好的管理教师的信息,具有很好的可维护性,保存后的信息可以在下次运行程序时被正确无误的载入,方便管理人员的操作和建立新的教师档案。以解决现实生活中繁琐、冗余、耗时间、费事、容易丢失的数据管理问题,使教师管理信息更加简单,易懂,安全性更加强。 注:由于本程序是参照课本上的学生管理系统应用实例程序而修改过来的,很多程序的命名规则没有做过多的改动,所以经修改过后的程序有一定的阅读难度。 各项功能说明主函数说明: (1)教师信息的增加: 这部分的功能主要是在数据文件中加入教师的信息。首先建立一个指向文件的指针,若成功建立,则按程序提示输入教师的相关信息,包括工号、姓名
5、、性别、电话以及职位等,并将这些信息分别赋给指针中的相应变量,其中包括当前所指向的指针和指向;然后把这个结点加入到指针中,可以从首地址来增加,计数器加一。这样一个教师信息就形成了。(2)查找教师信息: 进入该功能界面后,可以通过教师的工号查找出该教师的所有信息。首先开辟一个指针,并把文件所指向的头指针赋给它,根据输入的教师工号,逐个查找文件中与此工号匹配的教师,找到之后,将此教师的所有信息输出。(3)删除教师信息: 进入该功能界面后,可以通过教师的工号对某个教师信息进行删除。首先开辟一个指针,并把文件所指向的头指针赋给它,根据输入的教师编号,逐个查找文件中与此工号匹配的教师指针,找到之后,将此
6、教师的所有信息删除。可以通过显示所有的教师信息来看此教师信息是否删除。(4)保存、载入教师信息: 选择这个功能后就会保存教师的所有信息,以供以后使用程序时载入之前保存过的信息(5)显示教师信息: 选择此功能后可以将当前的所有教师信息显示出来。(6)退出: 关闭程序。 各子菜单功能介绍: (1)增加班级: 这部分的功能主要是在数据文件中加入教师所对应的班级的信息。首先建立一个指向文件的指针,若成功建立,则按程序提示输入班级的相关信息,包括工号、姓名等,并将这些信息分别赋给指针中的相应变量,其中包括当前所指向的指针和指向;这样一个教师对应的班级信息就形成了。(2)查找、删除、显示、退出班级信息:
7、此部分跟主函数中的查找教师信息、删除教师信息、显示教师信息、退出相类似,不同之处就是班级管理信息是教师管理信息的一个子菜单,是附属关系。班级信息中的退出只是返回到上一级菜单,而主函数中的退出是退出程序。(3)科目管理子菜单:此部分是班级菜单中的子菜单,其各部分的功能与班级管理信息菜单功能相似,其中包括:增加科目、显示所有科目、删除科目、退出等选项。其关系如下图: 各项功能的需求标准一、有较为美观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软件的各项功能。二、有严密正确的数据验证功能和数据处理功能,可根据需要增加教师信息,不会有空间的浪费,并能按编号进行查找和删除教师信息,删除后将空间
8、释放。三、系统要有一定的可靠性。第二章 课程设计环境与原理2.1 设计环境与模块的划分软件设计环境 Microsoft Visual C+ 软件模块的划分该软件主要组成模块和各个模块之间的调用关系如下图:主要流程图一、从表尾增加教师信息二、删除教师信息三、查找教师信息否是开辟节点p 表头=p表头=空P=空输出该教师信息无教师信息结束p-next=p开始四、显示教师信息第三章 软件的设计过程 各软件模块之间的调用方式 程序中各个模块之间的调用方式主要是通过文件的包含和函数的调用实现的,用文件的形式把各个函数分开,再用头文件把它们包含进来,使用主函数进行调用。3.2 软件中实现各项功能的函数与程序
9、代码 主函数:#includevoid main() coutsel; 入此系其他数返回上级菜单 int depsel;depsel; if(depsel=1) 进入程序菜单,界面如下:2.增加教师信息3.根据教师编号查找教师信息4.班级管理子菜单:5.科目管理子菜单:总结经过了一周的课程设计,我感到编程并不是那么困难和枯燥,我对C+语言编程又重新有了浓厚的兴趣。我经过这次编程,对程序的结构有了更加深科的认识,回忆起并熟悉掌握了C+语言的一些基础而重要的知识,对程序的调试能力也有了进一步的提高。本次我圆满的完成了程序的编写与调试,所编写的程序能够顺利运行,并能够解决一些实际问题,我感到非常高兴
10、和欣慰,对自己也充满了信心。 关于这次课程设计中,我们设计了一个对教师信息进行管理的系统,它基本满足了界面友好,易于操作的要求,因此更利于用户操作方便,运行简易,从而达到对教师信息更加有效的系统管理。在此次设计中我们实现了根据用户的需求对教师信息的增加、查找和删除功能,采用C+所具有的优点,合理利用了空间。但软件仍存在一些不足,比如可视化效果有点逊色,很多重要的功能都没有涉及到,存储数据的文件不能选择性的保存到其他的地方等。通过这段时间不断对C+这门语言的学习和探索,我们发现理论和实践要充分地结合,是需要扎实的基本功的,这就表明学好基础知识是理论付诸实践的前提。在设计中我们锻炼了自己同时也学到了很多,希望在以后我们能充分利用上机的时间充实自己,并希望这样的机会能被更好更多地提供。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1