员工信息管理系统数据结构Word格式.docx
《员工信息管理系统数据结构Word格式.docx》由会员分享,可在线阅读,更多相关《员工信息管理系统数据结构Word格式.docx(21页珍藏版)》请在冰豆网上搜索。
关键字:
员工信息管理,C程序,数据结构
前言
本课程设计旨在理论学习和基础实验的基础上,开发规模较大的程序,掌握应用计算机编程解决实际问题的基本方法,熟悉C程序开发的全过程,掌握数据结构的使用方法,熟练应用各种数据结构。
本次任务是根据给定的数据和程序,应用单向链表处理一系列公司员工的信息。
通过整个程序开发的过程,提高综合应用C语言的能力、编程和调试能力,为进一步学习相关专业课程创建较扎实的理论基础和实践基础。
报告将分6个章节来详细讲述本次课设题目的开发过程。
第1章主要描述课设的题目及要求;
第2章来介绍程序开发运行环境;
第3章介绍程序主体设计,网络程序概要;
第4章是对程序进行详细分析,对各个函数进行详细描述,并阐述程序实现技术等信息;
第5章为测试过程,主要用测试过程中的图片来表述最终信息;
第6章也是最后一章,为本次实践活动的心得体会。
第1章课设题目
1.1课设题目
每个员工的信息包括:
编号、姓名、性别、出生年月、学历、职务、电话、住址等。
系统能够完成员工信息的查询、更新、插入、删除、排序等功能。
1.2基本要求
(1)每条记录内,包括员工的个人信息,有:
编号、姓名、性别、出生年月、学历、职务、电话、住址等;
(2)按不同关键字(如编号,姓名等),对所有员工的信息进行排序;
(3)按照指定条件查找某员工所有信息;
(4)按编号对某个员工的信息进行修改;
(5)加入新员工的信息,并实现排序;
(6)按编号删除已离职的员工的信息。
1.3其他需求
程序除需完成基本功能外,程序源代码还应具有良好的编程结构和适当的注释,运行界面清晰,提示内容明确,易于操作。
第2章开发运行环境及相关知识
2.1运行环境
软件环境:
Windows2000,WindowsXP和WindowsNT4.0。
2.2开发工具
微软公司的MicrosoftVisualC++6.0。
2.3开发工具简介
VisualC++是一个功能强大的可视化软件开发工具。
自1993年Microsoft公司推出VisualC++1.0后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的首选工具。
虽然微软公司推出了VisualC++.NET(VisualC++7.0),但它的应用的很大的局限性,只适用于Windows2000,WindowsXP和WindowsNT4.0。
所以实际中,更多的是以VisualC++6.0为平台。
VisualC++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrateddevelopmentenvironment,IDE)。
VisualC++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导ClassWizard等开发工具。
这些组件通过一个名为DeveloperStudio的组件集成为和谐的开发环境。
第3章程序总体设计
3.1主要功能模块
依据程序的数据结构和功能,遵照“自顶向下”原则,描述该程序的层次结构,在总体上包括数据的录入、增加、删除、查找、更改和数据的排序等功能模块。
图3-1程序主体
3.2数据结构
依据给定的数据格式,个人信息由九个字段来组成,即编号、姓名、性别、生日、学历、职务、电话和住址,外加一个判断关键字。
本课程设计根据功能需求,使用线性结构来组织数据,因为数据占据空间比较大,要对表中某项数据进行操作,所以使用链表比较方便。
结构体定义:
typedefstructStuff
{
charnumber[10];
//编号
charname[10];
//姓名
charsex[8];
//性别
charbirthday[10];
//生日
chardegree[20];
//学历
charbusiness[20];
//职务
charphone[15];
//电话
charplace[50];
//住址
charcon[50];
//判断关键字
structStuff*next;
//指针域
}Stuff;
信息存储:
信息存储结构如图3-2
图3-2链式存储结构
第4章程序详细设计及实现
4.1输入函数
函数原型:
Stuff*App(Stuff*head);
函数功能:
通过输入各项数据给数据元素,来建立一个数据表。
算法要点:
(1)用循环控制输入记录;
(2)为每一结构体数据项输入数据;
(3)返回输入记录数。
4.2排序函数
voidSort(Stuff*head);
voidScpy(char*p,char*q);
intSel(charch,Stuff*p,Stuff*q);
按照指定关键字对员工信息进行排序。
(1)比较法对信息进行排序;
(2)使用交换函数,对每项信息进行交换。
4.3显示函数
voidShow(Stuff*head);
输出表中所有节点的信息。
使用循环输出所有信息。
程序清单:
4.4查找函数
Stuff*Search(Stuff*head);
按照指定关键字,对相应员工信息进行查找。
(1)输入字段和信息相应字段的比较;
(2)函数中调用删除和更改函数。
4.5更改函数
Stuff*Change(Stuff*head,charn[10]);
输入员工编号,查找到员工信息,对其信息进行更新。
(1)信息查找;
(2)信息重新录入及保存。
4.6删除函数
Stuff*Del(Stuff*head,charn[10]);
查找到要删除员工的相应信息,并将其从表中永久的删除。
(1)按关键字查找信息;
(2)链表中删除节点信息,并释放节点空间。
4.7主函数
主函数主要是调用以上的子函数,用开关语句进行选择性的调用。
大致程序如下:
switch(Menu())
{
case1:
调用函数语句;
break;
case2:
……
case0:
退出程序语句;
default:
printf("
输入错误,请重新输入!
\n"
);
}
4.8其他函数
其他函数主要起到辅助功能,如菜单函数,主要起到引导作用;
释放空间函数,主要用于释放已经删除节点的信息,或者释放整个链表的节点信息。
菜单函数原型:
charMenu();
释放函数原型:
voidFre(Stuff*head);
第5章系统功能测试
5.1系统主界面
图5-1系统主界面
5.2输入数据
(1)输入操作字符1;
(2)输入员工信息;
(3)输入“#”字符结束输入。
图5-2输入操作
5.3显示数据
图5-3显示信息
5.4信息排序
图5-4信息排序
5.5更改信息
图5-5更正信息
5.6删除信息
图5-6删除信息
第6章课设总结
如何才能真正的去掌握编程的方法,如何才能真正的去理解书上的理论信息,理论知识用于实践才是最终的目的。
通过本次数据结构课程设计,我对数据结构的理论知识有了更为直接的认识,从实际中获得了很多宝贵的经验,这些对我以后做程序开发将是一笔很宝贵的财富。
我有以下两点感触:
(1)没有解决不了的问题。
这个程序在课设前一周就开始着手编写,中间遇到了不少的问题,由于以前写过类似的程序,所以对其中的一些错误很是敏感,也通过不少的途径来解决了问题。
比如,通过和网上的一些程序代码的对比,解决了自己程序中输出乱码的问题。
(2)注重团队协作。
虽然此次课设是完全个人完成的,但是我还是要强调团队的重要性,因为我们以后走项的程序开发的道路上,没有单枪匹马的,都是一个团队协作完成的,所以今后的程序开发过程中,尽可能的和他人合作。
万事开头难,学好编程,我还有很长的路要走。
第7章程序清单
#include"
stdio.h"
stdlib.h"
windows.h"
//清屏函数头文件
string.h"
charnumber[10];
}Stuff;
//菜单函数
//添加函数
//排序函数
//查找函数
//更改函数
//排序中用于交换员工信息
//删除函数
//判断排序及关键字专用函数
//输出函数
//释放函数
intn=1;
//定义全局变量,实现人数统计
//菜单函数
charMenu(void)
intch;
---------------------------菜单-------------------------\n"
1.添加员工信息\n"
2.员工信息排序\n"
3.查找员工信息\n"
4.输出员工信息\n"
5.更改员工信息\n"
6.删除员工信息\n"
0.退出\n"
printf("
----------------------------------------------