高校信息管理系统Word文件下载.docx

上传人:b****5 文档编号:16461176 上传时间:2022-11-23 格式:DOCX 页数:14 大小:307.38KB
下载 相关 举报
高校信息管理系统Word文件下载.docx_第1页
第1页 / 共14页
高校信息管理系统Word文件下载.docx_第2页
第2页 / 共14页
高校信息管理系统Word文件下载.docx_第3页
第3页 / 共14页
高校信息管理系统Word文件下载.docx_第4页
第4页 / 共14页
高校信息管理系统Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

高校信息管理系统Word文件下载.docx

《高校信息管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《高校信息管理系统Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

高校信息管理系统Word文件下载.docx

6)汇总功能:

7)保存功能:

8)读取功能:

第四章系统设计详细演示说明8

1.系统功能演示8

2.各类间关系10

3.各部分功能进行过程11

第五章问题及收获14

1.遇至U的问题14

2.收获14

总结14

参考文献15

摘要

本文利用MicrosoftVisualC++2008的C++编写程序,实现了高校对实验员、

教师、行政人员、教师兼行政人员的多项管理操作。

本系统主要采用优越的动态链表进行信息装载,功能菜单为“添加人员信息”、“查询人员信息”、“统计人员数目”、“退出系统”,子菜单功能可对输入数据进行证件,对某一特定信息进行修改,对文件的自动读写,统计不同类别和性别的信息。

已经过全面的系统测试,能够很好的运行,达到了预期的效果。

关键词:

系统设计类信息人员管理string动态链表

第一章绪论

1.1学习C+啲目地

学习C++,不仅在于学习语言本身的语法规则,更在于掌握计算机是如何工作的,程序在计算机是如何运行的等知识。

特别是要了解C++语言程序如何通过

编译后调入内存、在内存中如何分配各种数据、程序在运行时如何对内存的控制等内容。

对内存等概念掌握的重要性对于程序员来讲,就像城市地图对于司机一样,出租车司机可以仅凭脑海里零碎道路的印象开车,但远不及脑海里有一张城市地图的轮廓效率高。

本次课设从常量、变量在内存的存放、变量的赋值、函数的调用以及参数的传递、指针与数组的内存映像,到对象在内存里的存放,始终贯穿着内存的概念。

1.2课程设计的目地

课程设计是课程教学必不可缺的一个重要环节,可加深学生对该课程所学内

容的进一步的了解与巩固,是将计算机课程与实际问题相连接的关键步骤。

此次程序设计综合运用所学知识解决实际问题,将课堂的书本知识有效的在程序中体现出来,让学生更理解了C++功能之强大,进一步让学生对面向对象的方法以及C++的编程思想有了较好了解和认识。

1.3课程设计的背景

本次课程设计,主要研究类的继承、抽象类、多态、虚基类以及对文件进行各项操作(如添加、修改、删除、查询、显示等)。

通过这次课程设计掌握面向对象的程序设计思路,着重掌握在C++中对文件进行查找、删除、修改等操作。

1.理论研究基础

(1)C+■面向对象程序设计中类与对象的使用

(2)类的封装性和继承性。

(3)C++I/O流库的处理,二进制文件的创建与保存

2.技术层面的支持

(1)定义基类与派生类,将数据成员与成员函数封装在类中。

(2)定义指向对象的指针,设计删除、查询、更改的算法。

(3)C++异常处理的功能与输入输出流。

1.4课程设计的意义

(1)通过课程设计的综合训练,培养了学生分析解决实际问题和编程等实际动手能力。

帮助了同学系统的掌握C++课程的主要内容。

2)通过详细的实例分析,循环渐进的描述,启发学生顺利的完成设计。

课程设计将设计要求、需求分析、算法设计、编程和实例测试运行分开,为学生创造分析问题、独立思考的条件。

(3)通过编写一个较长的程序,实现了对人员信息的管理,激发了学生学习编程的兴趣。

1.5课程设计环境

在MicrosoftVisualC++2008开发平台上编写程序源代码,修改,增加功

能,通过编译、连接,直到完全无误,最终执行程序,反复输入新的数据进行验证并进一步完善。

第二章课程设计题目详细要求

题目1“高校人员信息管理系统设计”

1、问题描述

某高校有四类员工:

教师、实验员、行政人员,教师兼行政人员;

共有的信息包括:

编号、姓名、性别、年龄等。

其中,教师还包含的信息有:

所在系部、专业、职称;

实验员还包含的信息由:

所在实验室、职务;

行政人员还包含的信息有:

政治面貌、职称等。

2、功能要求

(1)添加功能:

程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。

(2)查询功能:

可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

(3)显示功能:

可显示当前系统中所有记录,每条记录占据一行。

(4)编辑功能:

可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

(5)删除功能:

主要实现对已添加的人员记录进行删除。

如果当前系统中没有相应的人员记录,则提示“记录为空!

”并返回操作;

否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。

(6)统计功能:

能根据多种参数进行人员的统计。

能统计四类人员数量以

及总数,

统计男、女员工的数量。

(7)保存功能:

可将当前系统中各类人员记录存入文件中,存入方式任意。

(8)读取功能:

可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。

3、问题的解决方案

根据系统功能要求,可以将问题解决分为以下步骤:

(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;

(2)分析系统中的各个实体及它们之间的关系;

(3)根据问题描述,设计系统的类层次;

(4)完成类层次中各个类的描述;

(5)完成类中各个成员函数的定义;

(6)完成系统的应用模块;

(7)功能调试;

(8)完成系统总结报告。

第三章需求分析

1.对数据形式的设计

根据问题要求可做如下的数据层次分析:

根据类可继承的的思想,可判断总基类应含有以下数据:

编号,姓名,年龄,性别;

教师类含有:

所在系部,专业,职称;

行政人员类含有:

政治面貌,职称;

实验员类含有:

实验室,职务;

教师兼行政人员不含有私有成员,分别继承于教师和行政人员。

所有子类均从基类继承编号,姓名,年龄,性别。

结构图如下:

但是,在实际操作中出现了矛盾,教师兼行政人员在继承教师类和行政人员时出现了数据重叠的情况,所以我又创新的采用了另一种更为抽象和统一的数据设计,结构如下:

「一条复I合数据/

\/

总基类保有的数据仍为编号,姓名,年龄,性别,在用户输入完成后返回一个字符串;

专门写一条函数为用户选择服务,后台分类别的显示每一类别所需的输入信息,记录为一条统一的字符串,和基类信息汇总,将所有信息保存为一条长度可控的字符串,为之后的其他功能提供便利。

2.文件存储分析

为方便用户查看每一类别信息,将分别建立“jiaoshi.txt

“xingzhengrenyuan.txt”,“shiyanrenyuan.txt”,“jiaoshijianxingzhengrenyuan.txt”储存信息。

3.数据结构

针对新构思的特殊的数据形式,采用了动态链表作为信息载体。

相对于由编程者在编程时就确定存储容量的数组来说,动态链表的优点在于不需要向电脑申请一大块连续的内存,由用户确定需要内存容量且不必连续,减少程序因内存问题报错的概率,节省程序占有内存,提高运行稳定性。

其结构如下:

W行程库土皿1三

丄二3

123

4的创建过程用图示细下:

第一步・第二步.

Pl—・但

尸屋空废.将斷节点am*头,

bend

4.程序功能分析

1)添加功能:

鉴于前面的数据形式和储存结构,这一部分要求多次询问用户,要对数据(字符串)的长度进行最大程度控制,姓名长度这部分最难控制需要留意,其它可由数组转化字符串实现,与链表的衔接要完整,不能出现却丢数据的情况。

※第一次添加函数(完成对基类四项输入和储存),第二次添加函数(完成对其他项的输入),数组转字符串函数,向文件输入数据的函数。

2)查询功能:

分为两部分:

要建立在链表的基础上,对链表中的每一节点进行对比查找,并显示查找到的节点中的数据,找不到需要报错。

建立在对文件的读取上,先将文件中储存的数据以字符串(string)的形式读出,再查询搜索用户所需信息。

※链表查询函数,翻译函数(将字符串中的后部分数字信息翻译为汉字),读取

文档函数,字符串查找函数。

3)显示功能:

要建立在链表的基础上,遍历整个链表,在显示时调用翻译函数。

建立在对文件的读取上,询问用户显示哪个类别信息,先将相应文件中储存的数据以字符串(string)的形式读出,经翻译函数处理后显示给用户。

(若需要可以建立显示全部信息的独立函数)

※遍历链表显示函数,翻译函数,读取文件函数。

4)编辑功能:

对特定查询结果进行重新编辑,即对特定节点的数据进行重新录入。

并更新文本内储存的内容,注意影响汇总结果。

※链表修改函数(可能调用查询函数)。

5)删除功能:

对特定查询结果进行删除,处理前后节点的衔接,更新文本内储存的内容,注意影响汇总结果。

※量表删除函数(可能调用查询函数)。

6)汇总功能:

跟踪输入信息,应用类的静态数据成员统计输入信息。

※性别汇总函数,类别汇总函数。

7)保存功能:

对汇总信息自动输入相应类别文档。

※读入文档函数。

8)读取功能:

从文档中读取数据,返回字符串。

※读取文档函数。

第四章系统设计详细演示说明

1.系统功能演示

a)主菜单界面

添加人员界面

人员查询演示

添加人员信息2.查询人员信息、3、统计人员信息皋统

曹希入您的选择’2

4、显示人员信息5.退岀

MJtJOtMJHKM:

HMBLJCKKJtJCKJIJtJtMJtKKM:

HXJCJOtKJtXKJtJC

Cy/ri)

从刚辅入信息中查询吗?

您的选择—M■输入查询信息.

蛊:

MKKJCtXaoeJCXJCJBJCJtxKMJCMltKKKJCtKICKXXJCltJCJtxJOCXMLJOCKJtJCIt卷号I56

叶卷:

daxiancf

年龄;

34

n:

甜机学院

Hh岡络工程

W=助离ifki;

无!

尖聲邑无!

!

***丄、fit釦J去操作是’

囂作孕重新填写3>遞回主菜単—

 

I瘵加人员信息2>查询人员信息3、统计人员信息4、系统

请输人您的选择:

4

统计人员演示

=1、添加人员信息2、査询人员信息3、统计人员信息4、显示人员信息5,退出系统"

=

请输入您的选择|3

MKMKMKWKMM-KMtCWKMKMMMXMMKMKMXMMMMMHKHKWXMKYXMMfeC

您想要哪种统计方式?

—去別2.性別您的选率

MKKKMMXMMMKMMXMMMKMMXKM'

KMMMKMMMMKM'

KWMMKMMMMKWK

r—I—■■——■-■■•-—"

“"

"

-

灘锻礙1--

2.各类间关系

Person

*前阿。

+stringYear十stringNum0P

+chari>

eji

*rfri'

igIiijL/Tihg+inir«

isftg|6]

十sTMumt

+st#匚mtEeadherg

*mtp.ing^hynb

+mtMingzhe-ngg

*KTjilcinrshlytiint)+striiicentsniyang十型刑c«

ntjiani«

i|>

+3t-3fticint|iani«

igi

t[RerscnQ

■t-^PergtriO

pAddDdfbilrilldimue.^uid

*Unt'

cSxingiirt&

■伽^卞wj垢lil爭(intaXv^d

iLinkILiiil

十stailcfjetleachelbiintbsldii匚jelxingzhengSttTil

*st.aflcg&

ishi^anb(|irrl卞叮尹1阳ntaibQ.iiM+■stJiticqiPi^aehPTjdint

*sMggitnnQ^tiengg^m于stalegeWily3ng(]'

Mf

十和口Um*-sad=NLlL±

+乩鼻匸mrt

furmUon

■intdiMCGf心acft?

P^i$0ri*T+1lrH£

|J5iw

■*mainbcxx()nnt

*bookiDim

+g#tchoic<

i2(jiiiL

*wNangiript陰I闾muimjivCH^

3.各部分功能进行过程

第五章问题及收获

1.遇到的问题

1)刚开始设计的时候也是照着传统思路来的,为每一个类别创建一个类,

再给他们每个相应的函数,当遇到了“教师兼行政人员”要分别继承教师和行政人员的职称的时候,后面的调用会出现一系列矛盾(报错)的地方。

解决方式:

发现了虽然四个类别有细微差别,但可以用一个一定长度的字符串作为框架来装下所有的信息,也方便链表的储存接和文本中数据的准确显示。

2)在初期构思的时候想过用二维数组做数据载体,也想过用动态的数组,但在数据存入文档的时候发现不太方便,用于存储数字的数组和用来储存字符的数组必须形影不离,在实现的时候写入和读出都出现了问题,相对字符数组和整形数组string类具有很多更为方便的功能可以使用。

忽然想到我之前做过有关链表的报告,针对链表的很多函数功能正式该系统所需要的,所以决定使用链表作为数据在内存中的载体。

3)在决定用链表之后,原有的所有设计思路几乎全部推翻,怎样将数据输入与节点插入结合很是头疼(因为我的数据是分两次输入,在两个函数中),还有链表的很多函数,例如查找,删除,修改要全部重写。

链表的结构是很清晰,但生于应用,在长时间的梳理、编写、修改、调试后终于可以运行,又在可运行的前提下进行功能验证,调整,对显示进行美化(加入翻译函数)后,有了现在的系统。

4)统计系统,由于数据在内存中存在形式特殊,计数系统无从下手。

考虑到性别的输入要经过Person类,所以考虑到要用静态数据成员(用来做统计),由于考虑要统计男、女,所以分别定义了八个静态数据成员分别统计各类的男女数目,又修改了链表的删除和修改以解决男女数

量的变化。

2.收获

熟练了动态链表的复合和使用,对string类的输入

(cin,cin.getline()),输出以及多种函数原型(find(),assign()等)

有了一定的认识,应用了cin,cin.get(),cin.getline()和其它格式控

制的标识,巩固了对于文件的输入输出的控制(能输进去,能读出来)及其和string类的搭配使用(与一般的读出略有把不同)。

总结

两个星期的课程设计,经历了野心勃勃(本来想自学做个更漂亮的界面,遇到了一些不可克服的障碍)、迷茫(翻阅资料,构思)、着手做(尝试)、受打击(遇到障碍,受打击)、转换思路再次动手、调试修改、完美运行这样一个过程,体会了一次编程人员的生活,知道自己的知之甚少,还只是博海一舟。

但有了这次难得的课设机会我相信我会做的更好。

参考文献

张永宝,《数据结构第二版》,清华大学出版社,2013

沈显君、杨进才、张勇等人,《C++语言程序设计教程(第二版)》,清华大学出版社,2006

StephenPrata著,孙建春、韦强译,《C++PrimerPlus(第四版)》,人民邮电出版社,2002

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 简洁抽象

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

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