ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:287.02KB ,
资源ID:7289449      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7289449.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c++课程设计教师管理系统报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c++课程设计教师管理系统报告.docx

1、c+课程设计教师管理系统报告C+课程设计教师简易管理系统班级:计科08合作人:郭婷婷 李子奇学号:081202405 081202114指导教师:陈斌成绩:目录目录-2第一章-31.1课程设计目的-31.2课程设计功能说明-3 1.2.1功能分析说明图-3 1.2.2各项功能说明-41.3各项功能的验收标准-5第二章-62.1设计环境与模块的划分-62.1.1软件设计环境-62.1.2软件模块的划分-62.2软件设计主要原理-62.2.1采用的主要数据结构类型-62.2.2各个模块之间的调用关系和数据存储格式说明-72.2.3主要流程图-7第三章-113.1各软件模块之间的调用方式-113.2

2、软件中实现各项功能的函数与程序代码-11第四章-194.1软件使用结果-19总结-23致谢-24第一章 课程设计内容1.1 课程设计目的 此次课题主要是实现对教师信息的简易管理。首先定义一个教师TeacherList类;其次可以对教师信息进行增加,用链表来做,所以可以分别从表头和表尾来增加;然后可以用链表来查找和删除教师的相关信息;最后可以显示教师的所有信息并要求用二进制文件进行读写操作。由此来系统化的管理教师的信息,并达到简易操作的目的。在课程设计同时,我们应学会以下几点:1、通过C+语言的课程设计进一步的了解和掌握C+语言的有关知识和相关语法的使用方法。2、熟练掌握使用C+语言对一些简单常

3、见问题进行解决,编译程序对问题进行解决。3、通过课程设计,进一步掌握C+语言中有关重要的数据结构,诸如类、链表、结构体、文件等在程序开发中的应用。4、通过课程设计,能根据实际问题的具体情况,结合面向对象的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。提高程序开发能力,能运用合理的控制流编写清晰高效的程序。5、通过课程设计,培养C+语言知识运用和自学能力,验证自己设计的算法和程序的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。独立或合作设计和开发一个中小型系统,掌握系统研发全过程。6、通过此次课程设计发现自己在C+语言编程上的

4、不足并进一步掌握C+语言,为以后课程打下基础。1.2 课程设计功能说明1.2.1 功能分析说明图 该课题功能分析说明如下图所示:1.2.2 各项功能说明 (1)教师信息的增加: 这部分的功能主要是在链表中加入教师的信息。首先开辟一个结点,若开辟成功,则按程序提示输入教师的相关信息,包括编号、姓名、性别、电话以及职位等,并将这些信息分别赋给结点中的相应变量;然后把这个结点加入到链表中,可以从表头或表尾来增加,计数器加一;最后根据提示是否继续加入教师信息来循环操作。这样一个教师信息的链表就形成了。(2)查找教师信息: 进入该功能界面后,可以通过教师的编号查找出该教师的所有信息。首先开辟一个结点,并

5、把链表头结点赋给它,根据输入的教师编号,逐个查找链表中与此编号匹配的教师结点,找到之后,将此教师的所有信息输出。(3)删除教师信息: 进入该功能界面后,可以通过教师的编号对某个教师信息进行删除。首先开辟一个结点,并把链表头结点赋给它,根据输入的教师编号,逐个查找链表中与此编号匹配的教师结点,找到之后,将此教师的所有信息删除。可以通过显示所有的教师信息来看此教师信息是否删除。(4)统计教师人数: 选择这个功能后就可以知道当前的所有教师数,同时也可以根据删除前后的教师数来判断教师信息是否删除。(5)显示教师信息: 选择此功能后可以将当前的所有教师信息显示出来。1.3 各项功能的验收标准一、有较为美

6、观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软件的各项功能。二、有严密正确的数据验证功能和数据处理功能,可根据需要增加教师信息,不会有空间的浪费,并能按编号进行查找和删除教师信息,删除后将空间释放。三、系统要有一定的可靠性。 第二章 课程设计环境与原理2.1 设计环境与模块的划分2.1.1软件设计环境 Microsoft Visual C+ 6.0 2.1.2软件模块的划分该软件主要组成模块和各个模块之间的调用关系如下图: 2.2 软件设计主要原理2.2.1采用的主要数据结构类型该程序采用的是结构体类型来处理教师的所有基本信息,如下所述。包含的库函数有:# include # in

7、clude # include 包含的函数有: Main() /*主函数*/ Menu() /*菜单函数*/void select(); /*查找信息函数*/ void cancle(); /*删除信息函数*/ void addToHead(); /*从表头增加信息函数*/ void addToTail(); /*从表尾增加信息函数*/ void getCount(); /*统计人数函数*/ void display(); /*显示信息函数*/ 包含的类:class Teacher()2.2.2 各个模块之间的调用关系和数据存储格式说明 各函数模块之间的调用关系主要是主函数调用所有其它函数功能

8、和菜单函数,并利用循环使各个功能函数运行完毕后都会回到菜单。2.2.3主要流程图一、从表尾增加教师信息 二、删除教师信息三、查找教师信息四、显示教师信息否否是是第三章 软件的设计过程3.1 各软件模块之间的调用方式 程序中各个模块之间的调用方式主要是通过文件的包含和函数的调用实现的,用文件的形式把各个函数分开,再用头文件把它们包含进来,使用主函数进行调用。3.2 软件中实现各项功能的函数与程序代码 一、一个包含教师基本信息的结构体typedef struct node int NO; string name; int age; string sex; string birth; string

9、address; string phoneNO; string email; string position; struct node* next;TeacherDataNode; /定义一个结构体,存放教师的相关信息。typedef TeacherDataNode* TeacherData; /定义一个结构体类型的指针。二、定义一个教师类class Teacher /定义一个教师类 private: /成员变量,其中count设为静态成员变量。 static int count; TeacherData dataLinkHead,dataLinkTail; public: Teacher(T

10、eacherData head=NULL,TeacherData tail=NULL) dataLinkHead=head; dataLinkTail=tail; /构造函数及其初始化。 void select(); /按教师编号查找相应的教师。 void cancle(); /按教师编号删除相应的教师。 void addToHead(); /将增加的教师放在链表的头部。 void addToTail(); /将增加的教师放在链表的尾部。 void getCount(); /统计得到教师的人数。 void display();int Teacher:count=0; /将静态成员变量初始化为0

11、.三从表尾增加教师信息三、从表尾增加教师信息void Teacher:addToTail() /将增加的教师放在链表的尾部。 system(color 2); /将屏幕上的字体设为绿色。 int NO,age; string name,sex,birth,address,phoneNO,email,position; char answer=y; /定义一个循环变量。 while(answer=y) /通过循环来加入教师信息。 TeacherData pNew=new TeacherDataNode; /定义一个TeacherData指针。 if(pNew=NULL) /判断是否申请到空间。

12、cout空间不足!; return; coutendl请输入教师的信息:endl; coutendlNO; coutendlname; coutendlage; coutendlbirth; coutendladdress; coutendlphoneNO; coutendlemail; coutendlposition; pNew-NO=NO; /将输入的信息存入新申请的链表中。 pNew-name=name; pNew-age=age; pNew-birth=birth; pNew-address=address; pNew-phoneNO=phoneNO; pNew-email=emai

13、l; pNew-position=position; pNew-next=NULL; if(dataLinkHead=NULL) /若头链表为空,将申请的链表设为头链表 dataLinkTail=pNew; dataLinkHead=pNew; else /若头链表不为空,将新申请的链表加到链表的尾部。 dataLinkTail-next=pNew; dataLinkTail=pNew; count+; coutendlanswer; coutendl; 四、查找教师信息void Teacher:select() int NO; TeacherData pNew=dataLinkHead; /

14、定义的新指针指向链表的头部。 coutendlNO; while(pNew) /循环查找该教师的信息。 if(pNew-NO=NO) coutendl该职工的信息是:endl; coutendlsetw(6)编号setw(6)名字setw(6)年龄setw(6)生日setw(6)住址setw(10)电话号码setw(6) setw(10)e-mailsetw(10)在校职位endlsetw(4)NOsetw(6)name setw(7)agesetw(6)birthsetw(6)addresssetw(8)phoneNOsetw(10)emailsetw(10)positionnext; /若

15、没找到,指向下一个节点。 if(pNew=dataLinkTail-next) /若循环执行完成,则说明没有找到,通知用户。 cout没有找到!endl; 五、删除教师信息void Teacher:cancle() /按教师编号删除相应的教师。 int NO; TeacherData pNew=dataLinkHead; /定义的新指针指向链表的头部。 coutendlNO; if(pNew-NO=NO) /若链表头部即为所要求删除的,则删除头节点。 dataLinkHead=pNew-next; /将下一个节点设为头结点。 delete pNew; count-; coutendlnext;

16、 /将p节点指向下一个节点。 while(pNew) /按编号循环查找该教师。 if(pNew-NO=NO) qNew-next=pNew-next; /将删除的节点的前节点与后节点相连。 delete pNew; /删除所要求删除的节点。 count-; coutendlnext; delete qNew; if(pNew=dataLinkTail-next) /若没有找到相应的教师,则通知用户 coutendl没有找到该教师,无法删除!endl; delete pNew; 六、显示教师信息void Teacher:display() TeacherData pNew=dataLinkHea

17、d; if(pNew=NULL) cout不存在文件; return; while(pNew) coutendlsetw(6)编号setw(6)名字setw(6)年龄setw(6)生日setw(6)住址setw(10)电话号码setw(6) setw(10)e-mailsetw(10)在校职位endl setw(4)NOsetw(6)name setw(7)agesetw(6)birthsetw(6)addresssetw(8)phoneNOsetw(10)emailsetw(10)positionnext; delete pNew;七、统计教师人数void Teacher:getCount(

18、) /统计得到教师的人数。 coutendl人数共计为:countendl;八、菜单函数void printTheMainMenu( ) coutendlendl *欢迎使用教师简易管理系统*endlendlendl -endl * 1.从文件尾部加入教师的信息 *endlendl * 2.从文件头部加入教师的信息 *endlendl * 3.查找相关教师的信息 *endlendl * 4.删除某位教师 *endlendl * 5.统计教师人数 *endlendl * 6.显示所有教师信息 *endlendl * 7.退出系统 *endlendl -endlendl;九、主函数int main

19、() system(color 4); /将控制台屏幕上的文字设为红色。 int item; Teacher teacher; /定义一个教师类的对象。 printTheMainMenu(); /显示菜单。 while(1) coutendlitem; switch(item) case 1: system(cls); /清除屏幕。 printTheMainMenu(); teacher.addToTail(); /调用Teacher类的尾部增加函数。 break; case 2: system(cls); printTheMainMenu(); teacher.addToHead(); /调

20、用Teacher类的头部增加函数。 break; case 3: system(cls); /清除屏幕。 printTheMainMenu(); teacher.select(); /调用Teacher类的查找函数。 break; case 4: system(cls); /清除屏幕。 printTheMainMenu(); teacher.cancle(); /调用Teacher类的删除函数。 break; case 5: system(cls); /清除屏幕。 printTheMainMenu(); teacher.getCount(); /调用Teacher类的统计教师人数函数。 break; case 6: system(cls); printTheMainMenu(); teacher.display(); break; case 7: system(cls); /清除屏幕。 printTheMainMenu(); cout谢谢使用,再见!; system(pause); goto p; /goto语句,跳转到pause结束程序。 p:system(pau

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

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