整理员工管理系统.docx
- 文档编号:10525728
- 上传时间:2023-02-17
- 格式:DOCX
- 页数:47
- 大小:140.41KB
整理员工管理系统.docx
《整理员工管理系统.docx》由会员分享,可在线阅读,更多相关《整理员工管理系统.docx(47页珍藏版)》请在冰豆网上搜索。
整理员工管理系统
程序设计实习
实验报告
班级:
信A0812
学号:
25
姓名:
万明
指导老师:
周小雄
2010-2011第1学期
实验员工管理系统
班级:
信A0812学号:
25姓名:
万明
指导教师签名:
__________成绩:
__________
一、问题描述
设计一个计算机程序,能够实现简单的员工管理功能。
设计要求:
1.每个员工的信息包括:
编号、姓名、性别、出生年月、学历、职务、电话、住址等。
2.系统的功能包括:
(1)查询:
按特定条件查找员工。
(2)修改:
按编号对某个员工的某项信息进行修改。
(3)插入:
加入新员工的信息。
(4)删除:
按编号删除已离职员工的信息。
(5)排序:
按特定条件对所有员工的信息进行排序。
二、算法说明
1.算法功能
(1)采用结构体WORKER来存储员工的相关信息,定义一个由结构体组成的链表来实现对多个员工信息的存储,以及插入、删除、修改等操作。
(2)注册新员工信息:
采用链表的操作,向链表接点的前一个接点插入信息。
(3)查询、修改:
采用链表的操作进行信息的查找,找到后可以进行修改覆盖原来的内容。
(4)删除:
按链表的操作进行,按关键字找到相应的接点,然后删除此接点的前一个接点即可。
(5)排序:
按照员工的工号升序排序,采用冒泡排序法,并且交换所有信息。
2.函数说明
LinkCreate(LinkHead);//创建链表
voidRelease(LinkHead);//释放链表空间
LinkSearch(LinkHead);//按条件查找链表节点
LinkSearchbywno(LinkHead);//按员工号查找员工信息
LinkUpdata(LinkHead);//修改员工信息
LinkInsert(LinkHead);//插入员工信息
LinkDel(LinkHead);//删除退休员工的信息
Linkrankbywno(LinkHead);//按员工号将员工排序
voidDisplay(LinkHead);//查找链表所有节点
voidDisplay_Node(LinkpNode);//显示链表节点的信息
LinkSearchwithoutprint(LinkHead);//查找链表节点的信息但是不用输出
3.数据结构说明
structworker//定义员工结构体链表来存储员工的信息
{
intwnum;//工号
charname[15];//姓名
charsex[4];//性别
charage[12];//出生年月
charpost[6];//学历
charjob[10];//职位
unsignedinttelnum;//电话号码
charadd[23];//家庭地址
structworker*next;定义下一个接点
};
typedefstructworkerNode;
typedefNode*Link;//定义链表节点
三、测试结果
第一组测试:
(1):
测试目的:
注册新信息并显示出来。
(2):
测试输入和结果:
第二组测试:
(1)测试目的:
修改员工信息
(2)测试输入和结果:
第三组测试:
(1):
测试目的:
查找员工信息
(2):
测试输入和结果:
第四组测试:
(1):
测试目的:
按照员工号升序排序。
(2):
测试输入和结果:
第五组测试:
(1):
测试目的:
删除员工信息
(2):
测试输入和结果:
第六组测试:
(1)测试目的:
安全退出系统
(2)测试输入一结果:
附录:
源代码
#include
#include
#include
#include
#include
structworker//定义员工结构体链表来存储员工的信息
{
intwnum;
charname[15];
charsex[4];
charage[12];
charpost[6];
charjob[10];
unsignedinttelnum;
charadd[23];
structworker*next;
};
typedefstructworkerNode;
typedefNode*Link;//定义链表节点
LinkCreate(LinkHead);//创建链表
voidRelease(LinkHead);//释放链表空间
LinkSearch(LinkHead);//按条件查找链表节点
LinkSearchbywno(LinkHead);//按员工号查找员工信息
LinkUpdata(LinkHead);//修改员工信息
LinkInsert(LinkHead);//插入员工信息
LinkDel(LinkHead);//删除退休员工的信息
Linkrankbywno(LinkHead);//按员工号将员工排序
voidDisplay(LinkHead);//查找链表所有节点
voidDisplay_Node(LinkpNode);//显示链表节点的信息
LinkSearchwithoutprint(LinkHead);//查找链表节点的信息但是不用输出
//函数定义部分
LinkCreate(LinkHead)//创建一个带头节点的空链表
{
Head=(Link)newNode;
if(!
Head)
{
cout<<"分配内存失败!
"< returnNULL; } Head->next=NULL; returnHead; } voidRelease(LinkHead)//释放链表 { Linkptr; while(Head! =NULL) { ptr=Head; Head=Head->next; deleteptr;//释放节点资源 } } LinkSearch(LinkHead)//按员工号查找 { Linkptr; intwnum; ptr=Head->next; cout<<"请输入员工号码: "; cin>>wnum; cout< while(ptr) { if(ptr->wnum==wnum) { Display_Node(ptr);//打印满足条件的节点。 returnHead; } ptr=ptr->next;//查询下一节点。 } cout<<"无此职工的信息。 "< returnHead; } LinkSearchbywno(LinkHead)//按员工号查找员工信息 { Linkptr; intcode; ptr=Head; cout<<"请输入职工号码: "; cin>>code; cout< while(ptr->next) { if(ptr->next->wnum==code) Display_Node(ptr);//打印满足条件的节点。 returnptr;//返回的查询到的节点的直接前趋节点。 ptr->next=ptr->next->next;//查询下一节点。 } returnptr; } LinkUpdata(LinkHead)//修改员工信息 { Linkptr; ptr=Searchwithoutprint(Head); intwnum1; charname1[15]; charsex1[4]; charage1[12]; charpost1[6]; charjob1[10]; unsignedinttelnum1; charadd1[23]; if(ptr! =NULL) { if(ptr->next) { cout<<"-------你现在可以修改此职工的信息了-------"< cout<<"请输入职工号码(纯数字): "; cin>>wnum1; cout< "; cin>>name1; cout< "; cin>>sex1; cout< "; cin>>age1; cout< "; cin>>post1; cout< "; cin>>job1; cout< "; cin>>telnum1; cout< "; cin>>add1; cout< ptr->next->wnum=wnum1; strcpy(ptr->name,name1); strcpy(ptr->next->sex,sex1); strcpy(ptr->next->age,age1); strcpy(ptr->next->post,post1); strcpy(ptr->next->job,job1); ptr->next->telnum=telnum1; strcpy(ptr->next->add,add1); } } else cout<<"没找到此职工的记录,无法修改。 "< returnHead; } LinkInsert(LinkHead)//插入员工信息 { LinkpNew;//声明一个新节点。 intwnum1; charname1[15]; charsex1[4]; charage1[12]; charpost1[6]; charjob1[10]; unsignedinttelnum1; charadd1[23]; pNew=(Link)newNode; cout<<"请输入职工号码(纯数字): "; cin>>wnum1; cout< "; cin>>name1; cout< "; cin>>sex1; cout< "; cin>>age1; cout< "; cin>>post1; cout< "; cin>>job1; cout< "; cin>>telnum1; cout< "; cin>>add1; cout< pNew->wnum=wnum1; strcpy(pNew->name,name1); strcpy(pNew->sex,sex1); strcpy(pNew->age,age1); strcpy(pNew->post,post1); strcpy(pNew->job,job1); pNew->telnum=telnum1; strcpy(pNew->add,add1); pNew->next=Head->next; Head->next=pNew; cout<<"数据添加成功! "< returnHead; } LinkDel(LinkHead)//删除退休员工的信息 { Linkptr; Linkptr_front; ptr_front=Searchwithoutprint(Head); if(ptr_front! =NULL) { ptr=ptr_front->next; if(ptr) { ptr_front->next=ptr->next; deleteptr;//删除此节点。 cout<<"删除成功! \n"; } } else cout<<"没找到此职工的记录,无法删除。 "< returnHead; } Linkrankbywno(LinkHead)//直接插入法按员工号将员工排序 { Linkptr; Linkptr_F; Linkptr_N; ptr=Head->next->next; ptr_F=Head; Head->next->next=NULL; while(ptr) { ptr_N=ptr->next; ptr_F=Head;//ptr_F的归位。 while(ptr_F->next) { if(ptr->wnum { ptr->next=ptr_F->next; ptr_F->next=ptr; break; } else { ptr_F=ptr_F->next; } } if(ptr_F->next==NULL) { ptr->next=ptr_F->next; ptr_F->next=ptr;//表示插到有序链表的最后面了。 } ptr=ptr_N;//归位,准备下一次排序。 } cout<<"工号从低到高,排序成功! "< Display(Head); returnHead; } voidDisplay(LinkHead)//查找所有节点 { Linkptr; ptr=Head->next; cout<<"==================所有职工信息=================="< while(ptr) { Display_Node(ptr); ptr=ptr->next; } } voidDisplay_Node(LinkpNode)//显示节点信息 { cout< } LinkSearchwithoutprint(LinkHead)//按员工号查找员工,但是没有输出 { Linkptr; intcode; ptr=Head; cout<<"请输入职工号码: "; cin>>code; while(ptr->next) { if(ptr->next->wnum==code) returnptr;//注意,是返回的查询到的节点的直接前趋节点。 else ptr->next=ptr->next->next;//查询下一节点。 } returnNULL; } voidmain() { LinkHead=0;//初始化链表 Head=Create(Head);//创建链表 inti; while (1) { printf("*****************************************************\n"); printf("**员工管理系统**\n"); printf("**1: 注册新员工2: 修改员工信息**\n"); printf("**3: 查找员工4: 删除员工信息**\n"); printf("**5: 按员工号升序排序6: 显示所有员工**\n"); printf("**7: 退出系统**\n"); printf("*****************************************************\n"); printf("输入您所需服务: "); scanf("%d",&i); switch(i) { 史雁飞雪下得很大,也很急,街道上空空的,没有几个人。 绵软柔滑的积雪,蓬蓬松松地挂在枝梢上,亮白而倦怠的枝条被压低了头。 偶尔有一阵风,也极微小极细弱,还没有感觉到,就消逝了。 在这样的天气,不会有什么顾客来当东西,当铺老板早早地关了店门,捅旺火炉,懒洋洋地趴在柜台上,一边翻看图片,一边哼着京戏。 突然,有人敲门,声音极轻。 他抬头,支起耳朵细听,什么声音也没有。 他怀疑自己听错了,于是,他又低下头继续翻看手里的图片。 敲门声又起,这次声音很重,他很吃惊,自语道,这样的鬼天气,有谁会来当东西呢? 他迟疑着打开门。 雪地里,瑟缩地站着一个男孩,十二三岁的样子,很瘦,穿得单薄,头戴一顶破旧的棉帽。 厚厚的积雪没了他的双脚,他双手揣在怀里,脸冻得通红,衣服上满是雪。 他问。 ”孩子,你要当东西吗? “小男孩支支吾吾半天,也没说出什么来。 ……”我,我“男孩从雪里拔出双脚,走进店,站在门口,不敢再”哦,孩子,进店说吧。 “一朵朵大大的雪花翻飞着落在男孩的额头上,男孩打了个冷战。 ”那你要做什么? “”孩子,那你究竟来做什么呢? “向前迈一步。 他的两只手仍在怀里揣着。 老板摘下男孩的棉帽,一边拍打棉帽上的积雪,一边说: 男孩低着头,怯怯地说。 ”我妈病了。 ……我“”你是来跟我借钱? “当铺老板根机敏,一下子就听出男孩的意思: 我妈病了,老咳嗽,夜里咳嗽更厉害,医生说,是肺痨。 家里没钱,我想“男孩显得局促不安,”噢,不,不,我不是。 “男孩一边”我想把这个当给你们。 ……说,一边从怀里掏出一个精致的红盒子递给老板。 男孩鞋子上的积雪,在暖烘烘的屋子里很快化成了雪水,在男孩脚下,一圈一圈,慢慢湮散。 老板眼睛盯向男孩。 ”啊! 青花瓷瓶? 你是从哪儿并来的? “老板接过红盒子,慢慢打开。 男孩变得更加局促起来,眼神中藏着遮掩”在哪呢? 快让我看看。 哇,这么漂亮的青花瓷瓶。 “老板娘听说有人来当青花瓷瓶,兴冲冲地从屋里走出来,说: ”是我家的,是我爸爸留下来的。 “不住的慌乱,他躲闪着老板的目光,慌忙说: ”我爸老早就去世了。 “老板问。 男孩目光暗淡,说: ”那你爸爸为啥不来当啊? ——你爸爸“老板娘一边仔细翻看着青花瓷瓶,一边问。 男孩低下了头,半天才说: ”那,是你妈让你来当的吗? “你是“老板疑惑地盯着男孩: ”不,不是,我妈不知道。 “”背着你妈,来当这个瓷瓶的? 男孩流泪了,默默地点头。 老板娘拿着青花瓷瓶,上下左右地翻看,看着看着,忽然皱起了眉头,赶紧把瓷瓶递给老板。 老板接过来,又翻来覆去仔细看了一会,没吭声,拿着瓷瓶走老板温……”你要做什么? 你看仔细了,那瓷瓶“进柜台,然后走向那个放着营业款的抽屉。 老板娘急了,三步并做两步,挡住老板,双臂护着抽屉,嚷道: “和地看着老板娘说: ”我已经仔细看过了,没问题。 把这瓷瓶放到你的梳妆台上吧。 说着,老板把瓷瓶递给老板娘,老板娘半信半疑地边看边向屋里走去。 ”孩子,瓷瓶我们留下了。 这些钱拿回去给你妈治病。 不够的话,你再过来拿。 “老板笑了,回过头来对男孩说: 男孩笑了,说了声谢谢,拿着钱,跑了出去。 ”噢,我是说,我先付给你一半钱,另一半你下次再来拿。 “男孩不解地看着老板。 老板说: 外面的雪不知啥时候停了,阳光照在雪面上,耀眼刺目。 老板眯着眼,看那小小的身影消失在远方。 男孩再也没来。 又是一个春天,天气格外好,明媚的阳光照得人暖洋洋的,当铺的生意红红火火。 当东西的,赎东西的,出出进进。 一个少妇带着一个男孩远远地走来,走到当铺门口,少妇一下就跪下去了,当铺老板慌忙走出来,看见站在少妇身边的男孩,明白了一切。 (选自《小小说期,有改动)12年第2012选刊》,分)2小说开头的雪景描写很精彩,请问: 这样的描写有何作用? (32.当铺老板是作者精心刻画的一个人物形象。 当铺老板有着怎样的性格特点? 请作简要分析。 33.(分)3分)3文中有多处细节描写,请你对文中画线处的细节作具体的赏析。 (34.分)4青花瓷瓶到底是真是假,小说始终没有给出明确答案,这样的情节安排好吗? 请联系小说谈谈你的看法。 (35.开头的雪景描写营造了一种凄清、冷寂的氛围,为故事的发展作了很好的铺垫。 32.有同情心,扶危济困,他留下男孩的青花瓷瓶,给男孩救命钱,并告诉男孩钱不够还可以再来拿。 性情温和,对男孩和自己的妻子,耐心而沉着。 机敏,33善于经营,当铺的生意做得红红火火。 .),也反衬出老板故作糊涂的善良。 ”假的“.形象地写出了老板娘的担忧和焦急,从侧面表明青花瓷瓶有可能是赝品(或仿品、34没有必要再给出明确答案。 都已经清楚地暗示了青花瓷瓶是假的,到小说结尾小孩母亲下跪,从老板娘对青花瓷瓶的强烈怀疑,这样安排好。 : 1答案示例35.这样安排,给读者留下了广阔的思考空间,使小说的意蕴更为深远丰厚。 : 这样安排不好。 小说如果明确指出青花瓷瓶是假的,就能更鲜明地表现出老板2答案示例拿钱给男孩纯粹是出于帮助人的目的,不带有商业色彩,也能更好地突出主题,有利于突出老板扶危济困的德行。 湖北武汉分)18(五、13-16阅读下面的文章,完成题。 美丽的邂逅①我喜欢读书,喜欢到旧书摊淘书。 ②那是一个深秋雨后的傍晚,在路边一个不起眼的书屋里,我随意地在杂乱的旧书摊上翻寻着。 突然,一个熟悉的名字——《林清玄散文》跃入眼帘。 我赶快把书抽出,店里的书可都是二手书,基本上都是单独一本。 月第三次出版的,一幅抽象的图画连贯着封面和封底,黄色白色相间的扉页上录有林清玄先生的经典语句。 句子左下方的页脚处,有1年1996这本书是③96.5.26“慧藏书几个竖写的蝇头小字: 。 整本书除了书脊上下两端有些微的破损,没折叠,没涂画,像新的一样。 ”④一个个或月光流泻、或雨打芭蕉的夜晚,我倚在床上,追随者林清玄先生的脚步,锦绣山河、风土人情、异国风光、人情冷暖、小人物的生存和命运? ? ”细细聆听先生的“如果树是生命,果实就是它的心。 ”“一株草是微不足道的,但是有了亲自种的心血,就高贵起来。 这一切充实、温暖和美丽着我的心灵。 十多年后被这个叫慧的女孩珍藏,这些篇章大部分是先生上世纪八十年代初的结晶,心灵独白,轻轻吟诵先生的絮语箴言,一脉温情和馨香弥漫了整个心田。 女孩珍藏了十多年后变成了我枕边的读本。 这也是我们的一种缘分吧,素未谋面的美丽邂逅。 ⑤掩卷沉思,这是怎样的一个女孩? ⑥都说字如其人,她是不是如她的字一样娟秀、精致和美丽? 页脚签署的这个日子对于她有什么特别的纪念吗? 我猜想: 她必定是一个喜欢读书的女孩,是一个碧玉闺秀,因为喜欢读书的女孩典雅、娴静。 古时评判美女的一个标准就是诗词为心,兰心蕙质。 我仿佛看见轻风微拂中,淡淡斜阳下,一个明眸善睐的少女沉醉于书卷中,不时浅浅地笑
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 整理 员工 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)