单位员工通讯录管理系统(线性表的应用)
[需求分析]
为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的办公室电话、手机号、及电子邮箱。
[问题要求]
其功能包括通讯录链表的建立、员工通讯信息的查询、修改、插入与删除、以及整个通讯录表的输出。
[问题分析]
为建立单位员工通讯录系统,首先要实现员工信息的录入、保存等基本操作。对于员工通讯录我们要存入要求的员工的各种信息等,对于已经保存的信息,我们要可以对这些信息进行查询、修改、插入新信息、删除信息、还有可以直接输出整个所有员工信息等。而这些操作对于我们来说都是对建立的链表的基本操作,对于本次试验我采用单向线性链表。
[算法设计]
首先我们要进行最基本的操作,即建立链表。链表的节点信息保存的有员工编号、员工姓名、办公室电话号码、手机号码、员工邮箱这些信息。而链表的结点信息保存的有员工信息以及其指针域。然后我们可以添加员工信息,对于新的员工信息我们将其添加在链表的表尾,在添加之前我们要进行一项操作,即遍历链表找到其尾指针,然后开辟一个结点并将其加到链尾。我们还可以进行员工信息的查询操作,在进行查询时我们首先要遍历链表,然后在遍历的同时与关键字进行比较从而找到员工信息并输出。员工信息删除操作,此操作首先要找到要删除的员工信息,然后将此节点的前一节点的后续指针直接指向要删除的结点的后续指针,并且释放要删除的结点空间即可。员工信息修改,首先找到要修改的员工,然后输入要修改的员工信息,将输入信息直接覆盖在原有信息上即可。员工信息输出,遍历整个链表并输出。
流程图如下:
[调试分析及测试数据]
员工信息插入:
员工信息查询:
员工信息删除:
员工信息修改:
[程序代码]
void Init(LinkList list)//初始化
{
ListNode *p=new ListNode;
strcpy(p->data.call,"15***117");
strcpy(p->data.email,"zzti***1@https://www.doczj.com/doc/6011110912.html,");
strcpy(p->https://www.doczj.com/doc/6011110912.html,,"***");
strcpy(p->data.num,"20***4320");
strcpy(p->data.phone,"4123211");
list->next=p;
p->next=NULL;
}
void Read(LinkList list)//输出员工信息
{
ListNode *t;
t=list->next;
do
{
cout<<"手机号码:"< cout<<"员工邮箱:"< cout<<"员工姓名:"< cout<<"员工编号:"< cout<<"办公室电话号码:"< }while(t->next!=NULL,t=t->next); } void Search(LinkList list)//查询 { ListNode *aa; aa=list->next; cout<<"按员工编号查询,请输入员工编号:"; charbh[20]; cin>>bh; do { if(!(strcmp(bh,aa->data.num))) { cout<<"手机号码:"< cout<<"员工邮箱:"< cout<<"员工姓名:"< cout<<"员工编号:"< cout<<"办公室电话号码:"< return; } }while(aa->next!=NULL,aa=aa->next); } void Insert(LinkList list)//插入 { ListNode *w; w=list->next; while(w->next!=NULL) { w=w->next; } ListNode *u=new ListNode; u->next=NULL; cout<<"手机号码:"; cin>>u->data.call; cout<<"员工邮箱:"; cin>>u->data.email; cout<<"员工姓名:"; cin>>u->https://www.doczj.com/doc/6011110912.html,; cout<<"员工编号:"; cin>>u->data.num; cout<<"办公室电话号码:"; cin>>u->data.phone; w->next=u; w=w->next; } void Delete(LinkList list)//删除 { ListNode *cz1; ListNode *cz2; ListNode *cz3; cz1=list; cz2=list; int s=0; charchax[20]; cout<<"请输入要删除的员工编号:"; cin>>chax; while((strcmp(chax,cz1->data.num))) { s++; cz1=cz1->next; } for(int j=0;j { cz2=cz2->next; } cz3=cz2->next; cz2->next=cz3->next; } void Change(LinkList list)//修改 { ListNode *xiug; ListNode *zans; zans=list->next; cout<<"请输入需要修改的员工的员工编号:"; charbh[20]; cin>>bh; do { if(!(strcmp(bh,zans->data.num))) { xiug=new ListNode; cout<<"1.手机号码:"< cout<<"2.员工邮箱:"< cout<<"3.员工姓名:"< cout<<"4.办公室电话号码:"< intwe;cout<<"请输入要修改的项:"; cin>>we; switch (we) { case 1: cout<<"1.手机号码:"; cin>>xiug->data.call; strcpy(zans->data.call,xiug->data.call); break; case 2: cout<<"2.员工邮箱:"; cin>>xiug->data.email; strcpy(zans->data.email,xiug->data.email); break; case 3: cout<<"3.员工姓名:"; cin>>xiug->https://www.doczj.com/doc/6011110912.html,; strcpy(zans->https://www.doczj.com/doc/6011110912.html,,xiug->https://www.doczj.com/doc/6011110912.html,); break; case 4: cout<<"4.办公室电话号码:"; cin>>xiug->data.phone;strcpy(zans->data.phone,xiug->data.phone); break; } return; } }while(zans->next!=NULL,zans=zans->next); } [实验总结] 通过这次的程序设计,发现一个程序设计就是算法与数据结构的结合体,自己也开始对程序产生了前所未有的兴趣,以前偷工减料的学习也不可能一下子写出一个程序出来,于是我就认真看老师写的程序,发现我们看懂了一个程序其实不难,难的是对于一个程序的思想的理解,我们要掌握一个算法,不仅仅限于读懂,主要的是要理解老师的思路,学习老师的解决问题的方法。 1.目的 为增强对公司通讯录发放、更新等管理,特制定此制度。 2.适用范围 公司通讯录。 3.职责 3.1行政人事部负责本制度拟定、完善、更新及下发。 3.2行政人事助理负责定期更新、发放通讯录。 3.3各部门负责人负责本部门工作联系更新信息传递至行政人事助理。 3.4各员工负责自身联系更新信息传递至行政人事助理。 4.工作程序 4.1通讯录版本及内容 4.1.1公司通讯录分为“内部”和“外部”二个版本。“内部”通讯录记录公司所有人员的通讯信息,仅发放于公司总部相关部门;“外部”通讯录记录部门负责人、部门助理,及经常与办事处沟通人员的通讯信息,发放于办事处。 4.1.2公司通讯录按照部门顺序记录以下内容:大部名称、部门名称、姓名、岗位、分机、手机、固定电话、传真、邮箱等信息。 4.2通讯录更新 4.2.1行政人事助理依据上周发生的人员入职、离职、调岗等信息更新通讯录,于每周一下班前以邮件方式发放最新通讯录。 4.2.2公司各员工在自身通讯方式发生变更三个工作日内,把更新通讯信息传递至行政人事助理处。 4.2.3各部门对外工作联系信息,包括但不限于办公地址、办公电话、传真等发生变化时,由部门负责人或部门助理在变更后三个工作日内传递更新信息至行政人事助理处。 4.2.4公司部门架构、公司对外工作联系信息等发生变化时,经CEO审批后,由行政人事助理直接更新。 4.3通讯录发放接收人员 4.3.1《通讯录(内部)》发放接受人员为:CEO、CTO、COO;各大部总监;部门经理;需与外部经常联系的部门助理、岗位人员。 4.3.2《通讯录(外部)》发放接受人员为:大区经理、办事处经理、办事处文秘。 4.4通讯录管理 员工通讯录模板 员工通讯录模板 员工通讯录模板。第一篇:《企业职工辞职报告模版精选3篇》员工通讯录模板。企业职工辞职报告模版精选1篇尊敬的xx经理:您好!在经过我的考虑和公司的实际情况之后,我决定向公司提出辞职申请。递交这份辞呈时,我的心情十分沉重。现在公司的发展需要大家竭尽全力,由于我身体状态不佳,和一些个人原因的影响,无法为公司做出相应的贡献,自已心里也不能承受现在这样坐在公司却无所作为,决定在X年X月X日辞职,因此请求允许离开。面对房地产冰期的阴霾,为了节约成本与人力支出,在201X年春节快要来临之时,我不得不遗憾而凄婉地正式向天工地产提出辞呈。在过去的6年中,天工地产给予了我很多很多,尤其是把我从一个房地产门外汉培养成了业内的专业人士。为此,我将永远对天工地产充满感激之情,这种情愫亦将永远伴随我未来的人生旅程。辞职人: XX 年 XX月 XX日尊敬的公司领导: 过去的岁月里,公司给予了我良好的学习空间和时间,使我学到了一些新的东西,充实了自己,扩展了我狭窄的知识面,并增加自己的一些实践经验。对于公司这么长时间以来的照顾,在此我表示真心的感谢!这段时间以来一直觉得很疲惫,而且近来对工作的完成情况不是很好,所以,经过自己慎重地考虑之后,我决定向公司提出辞职,望公司给予批准。我感谢公司和您给我这个机会,能让我为公司工作;我亦感谢您和其他同事,对我的一切支持和指导。企业职工辞职报告模版精选3篇企业职工辞职报告模版精选3篇。我有信心在您的领导之下,公司定能在今后的工作中发挥优势,扬长避短,祝愿公司兴旺发达!由于薪金的原因,我不得不向公司提出申请,并希望能与今年x 月xx日正式离职。辞职人: XX 年 XX月 XX日企业职工辞职报告模版精选2篇尊敬的公司领导: 您好!人还未走,却已泪流满心。仅仅是为了这曾经工作过半年多的地方?仅仅是为了未曾燃烧的青春?昨天做出这个决定后和几个朋 友去痛痛快快地喝了几杯,大声嚷嚷着劝酒的、默默地一杯杯喝光的,通讯录管理制度
员工通讯录模板