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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

职工管理系统.docx

1、职工管理系统1.需求分析1.1课程设计的题目及介绍我们课程设计的题目是班级通讯录管理系统,我们团队分工合作,包括添加、删除、查询学生信息等几大组成部分人。我负责的是查询学生信息部分和显示信息。肖燕主要负责添加学生信息部分和整个程序的衔接和调试。袁亚主要负责删除学生信息等。随着当今社会的发展,人们的人际关系交往不断增多,在不同的时间,不同的地点处理不同的事情,有时却很难搞清楚每个同学之间的联系方式,尤其是对经常旷课的学生来说,更是难以联系,遇到紧要的事情时,却联系不上本人,所以通讯录能够便捷的给我们带来所需要的相关信息。一个班级的学生通讯录管理是班级管理的至关重要的一件事,所以每个班级都应该选择

2、一个好的管理方案。一直以来人们使用传统人工的方式管理文件通讯录档案,这种管理方式存在着许多缺点,如:效率低、保密性差等,另外时间一长,将产生大量的文件和数据,这给查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,作为计算机应用的一部分,使用计算机对通讯录信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,这些优点能够极大地提高通讯录管理的效率,也是科学化、正规化管理的重要条件。1.2各部分分析班级通讯录管理系统是一个专门针对存储学生联系方式以及一些简单个人信息的实用管

3、理系统,它方便了教师对众多学生信息的存储和快速查阅的功能,大大减少了查找过程的时间。班级通讯录管理系统主要功能分为四个模块:添加学生信息、查询学生信息、删除学生信息、查看全部学生信息添加学生信息:录入学生的基本信息如学号,姓名,性别,出生年,月,日,联系地址,电话,QQ等。如果任何信息输入错误会有提示相应提示,并要注重新输入,直到输入正确。全部信息输入完毕后会提示“该生已输入完毕,是否继续输入(y/n)”。查询学生信息:可对系统中已录入的信息进行查询,如要查询的学号为123的信息,这时会直接列出学号为123学生的全部信息。如果学号输入不符合要求,系统会要求重新输入,然后列出学号正确的学生信息。

4、或者学号输入符合规定,也在系统中没有该学号的学生,也会给出相应的提示“您输入的学号不存在!”。删除学生信息:可对系统中已存在的信息按学号进行删除。如果学号输入不符合要求,系统会要求重新输入,输入正确后,系统会列出该学号正确的学生信息,并将该记录删除,给出相应提示“删除成功!”。或者学号输入符合规定,也在系统中没有该学号的学生,也会给出相应的提示“无此学号!”。查看全部学生信息:选择此项功能会将系统中全部学生记录以列表形式打印到屏幕上。方便操作的查看。2.概要分析2.1单链表结构和系统结构图变量名数据类型描述numint学号namechar姓名sexInt性别yearInt年monthInt月d

5、ayInt日addresschar联系地址tellchar电话qqintQQ 图二:系统结构图图一:单链表结构图 2.2查询学生信息部分流程图 图三:查询学生信息流程图四:添加学生信息流程图3.详细设计3.1单链表的编写开发项目时,以单链表的形式来组织、封装一些常用的方法,以便提高代码的重用率,大大方便了代码的管理。本系统创建了一个单链表:list。主要用来定义学生基本信息。3.2定义单链表的程序typedef struct listint year,month,day,qq,num,sex; char tel20; char name10; char address100; struct l

6、ist *next;node,*link;3.3操作函数的定义3.3.1菜单输出函数void display()void display()/显示函数coutendlendl; cout*endlendl; coutt1: 添加学生信息endl; coutt2; 删除学生信息endl; coutt3; 查询学生信息endl;void searchstu()/查找ptr=delptr;/回到表头 int no,p=0;coutno;while(no1000) cout您输入的学号不正确,请再次输入! no; while(ptr!=NULL) if(ptr-num=no) cout学号:numen

7、dl;cout姓名:namet性别:sext出生日期:year年 month月day日endl;cout联系地址:addresst电话:teltQQ:qqendlnext; /ptr依序往后走访表if(p=0)cout您输入的学号不存在!endl;void print()/打印函数cout*endl;ptr=delptr; /让ptr回到表头while(ptr!=NULL) cout学号:numendl; cout姓名:name; if(ptr-sex=1) coutt性别:男; else coutt性别:女;coutt出生日期:year年month月day日endl;cout联系地址:add

8、resst电话:teltQQ:qqendlnext; /ptr依序往后走访表 coutt4; 查看全部学生信息endl; coutt0; 退出系统endlendl; cout*来表示P所指的变量,又由于结点类型是一个结构类型,因此可用P data和Pnext分别表示结点的数据域变量和指针域变量。指针变量的值要么为空(NULL),不指向任何结点;要么其值为非空,即它的值是一个结点的存储地址。注意,当P为空值时,则它不指向任何结点,此时不能通过P 来访问结点,否则会引起程序错误。以下是运行后的一些重要截图。4.1添加学生信息截图实现思想:录入完一条信息后,会提示输入完毕,是否继续输入,继续输入,便

9、是回主菜单。实现思想:先申请一个学生的链表空间,然后输出提示输入相关信息。在输入性别时也作了限定,只能输入1或2,。信息输入完毕后,将指向list单链表的指针向后移动一个单位。时间复杂度为O(1)。4.2删除学生信息截图在删除这一块,遇到问题了,在执行删除命令时总出现错误,无论删除第几条数据,系统只删除第二条记录。经过了研究和查阅资料,终于把问题解决了。实现思想:在删除数据时,若无记录则提示系统中无学生信息,请先输入,此时程序将不向下执行。否则提示输入要删除的学生的学号,输入学号后,先判断学号是否合法,再判断系统中有无此学号,若无则提示系统中无此记录。否则将删除该学号的学生信息。时间复杂度为O

10、(S)。4.3查询学生信息截图实现方法稍微简单,如用户选择这项功能,指针回到表头ptr=delptr;然后利用循环语句将系统中所有学生信息以列表的形式表现出来。使用户清晰的了解全班的学生信息。实现思想:在查询数据时,需要先判断此系统中有无记录,若无记录则提示系统中无学生信息,请先输入,此时程序将不向下执行。否则根据学号查询,需要先判断学号是否合法,然后判断系统中有无此学号,最后输出相应的信息。时间复杂度为O(s)。4.4查看全部学生信息截图实现思想:在查看全部学生数据时,需要先判断此系统中有无记录,若无记录则提示系统中无学生信息,请先输入,此时程序将不向下执行。否则根据把系统中的全部信息以列表

11、的形式输出。时间复杂度为O(S)。4.5退出截图退出时会有相应该的提示,感谢使用本系统,并且Press any key to continue。5.总结 这次程序设计的是在VC环境下写出一个能为用户提供一个班级学生的通讯录信息进行日常管理的平台,我们主要负责通过这个程序能实现学生信息的添加、删除、查询、统计等基本操作。开始之前我们必须了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,程序可能不是最重要的,之前的准备工作才是最重要的,了解这个程序的全部运行过程才是最重要的,逐步熟悉程序设计的方法,同时增强实践动手能力,养成良好的编程习惯。通过对数据结构这门课的学

12、习,我了解到:“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构的特点是要多实践,不能只了解书上的理论知识,书上的知识可能有时候会很空洞,只有自己多实践才能真正掌握其中的一些方法与诀窍,在平时的学习中,我们更要举一反三,认识到数据结构的本质与学习方法,这样才有助于快速提高我们的编程能力与实践动手能力。在课程设计中我体会到:要想一步达到目的的确很难,尤其是刚开始接触这个课题的时候,我们首先在编写之前必须理清这个思路,对总体有个大体的影像,每个人分工也非常重要,这有助于提高整个团队的工作效率。在所有的准备工作做好后,就可以开始程序的编写,首先完整了解整个系统的功能与结构,开始编写时犯错在

13、所难免,但是总体的思路不能改变,写程序是个漫长的过程,我们每个成员必须有耐心,每编写完成一个部分就要停下来检查一下,一面影响后面的总体效果,对我们初学的来说程序简洁但又不失目的确实很难。一个星期的数据结构课程设计,从头到尾的实践和体验下来,对于我们来说学到的不仅是那些知识,更多的是团队和合作。写到最后的收获及体会时感触颇深,也许班级安排的课程设计有着更深层的意义。它不仅让我们综合那些理论知识来运用到设计和创新,还让我们知道了一个团队凝聚在一起所能发挥出的巨大潜能!在设计的同时,我们还发现了自己的不足之处,比如编写程序时不知道哪些可以用更加简洁的语句描述,一些语句在编写的时候不知道错了,只有在调

14、试的时候才能更清楚地了解其中的奥妙,在整个程序完成后,才能从整体了解这个程序,所以通过这次课程设计我还是从中学到很到学习这门专业的方法,在以后的学习中,我一定会沿着这种方法继续努力下去的!6.参考文献1 谭浩强;C语言程序设计(第2版);清华大学出版社;2008年;P16-P208;2 严蔚敏、吴伟民;数据结构(C语言版);清华大学出版社;2010年;P1-P40;P263-P283;3;梁旭、谷晓琳、黄明;C语言课程设计(第2版);电子工业出版社;2009年;P32-48;4 XX知道5XX百科6XX文库7.致谢首先感谢学校给我们这次数据结构课程设计的机会,让我们拥有了展现运用自己知识的平台

15、。 然后要感谢老师的谆谆教诲,是他们的悉心指导和严格要求,才使我们的课程设计有了较为完善的一面,才有了我们能力的提高,并在老师的帮助下得到了充分的锻炼。这里包括以前给我们上过C语言课程课的徐晓蓉老师,还有上了数据结构的孙叶枫老师,当然还有席金菊老师,还有就是我的同学们,组员们。这里有肖燕同学对我们这部分课程设计的构思和加工,还有查看、显示学生信息的部分工作,袁亚同学删除学生信息部分工作。我们三个人既分工又合作,经过一星期的努力,终于把程序编好,又通过一周把实验报告写完了。当然这里也少不了我自己的努力,大家一起的努力。在此对所有对我给过帮助的致以由衷的谢意。8.附录#includeusing n

16、amespace std;typedef struct listint year,month,day,qq,num,sex;char tel20;char name10;char address100;struct list *next;node,*link;link newnode,ptr,delptr,q,temp; /声明表结构指针int s=0;static int putt=0; /putt记录是否为第一个输入的元素,因为要记录头结点位置void display()/显示函数coutendlendl; cout*endlendl; coutt1: 添加学生信息endl; coutt2

17、; 删除学生信息endl; coutt3; 查询学生信息endl; coutt4; 查看全部学生信息endl; coutt0; 退出系统endlendl; cout*endl;void ins()/单链表的创建int csex;if(putt=0)cout请输入学生数据:endl; delptr=new node; /建立新结点if(!delptr) coutError!内存申请失败!endl; exit(1);coutdelptr-num;while(delptr-numnum=999)cout学号输入错误,请重新输入学号(100-999):delptr-num;coutdelptr-nam

18、e;coutdelptr-sex;while(delptr-sex!=1 & delptr-sex!=2)cout性别输入错误,请重新输入性别(1男/2女):delptr-sex;cout下面输入出生日期:endl;coutdelptr-year;while(delptr-yearyear2010)cout出生年份输入错误,请重新输入年份(1900-2010):delptr-year;coutdelptr-month;while(delptr-monthmonth12)cout出生月份输入错误,请重新输入月份(1-12):delptr-month;coutdelptr-day;while(de

19、lptr-dayday31) cout出生日期输入错误,请重新输入日期:delptr-day;coutdelptr-address;coutdelptr-tel;coutdelptr-qq;delptr-next=NULL;ptr=delptr;putt=1;s+;else cout请输入学生数据:endl;newnode=new node; /建立新结点if(!newnode) coutError!内存申请失败!endl; exit(1);coutnewnode-num;while(newnode-numnum=999)cout学号输入错误,请重新输入学号(100-999):newnode-

20、num;coutnewnode-name;coutnewnode-sex;while(newnode-sex!=1 & newnode-sex!=2) cout性别输入错误,请重新输入性别(1男/2女):newnode-sex; cout下面输入出生日期:endl;coutnewnode-year;while(newnode-yearyear2010)cout出生年份输入错误,请重新输入年份(1900-2010):newnode-year;coutnewnode-month;while(newnode-monthmonth12) cout出生月份输入错误,请重新输入月份(1-12):newno

21、de-month; coutnewnode-day; while(newnode-dayday31)cout出生日期输入错误,请重新输入日期:newnode-day;coutnewnode-address;coutnewnode-tel;coutnewnode-qq;newnode-next=NULL; ptr-next=newnode; /把新结点加在表后面 ptr=ptr-next; /让ptr保持在表的最后面 s+;void deletestu()/删除int no,i=0; coutno; q=delptr;if (no=q-num) delptr=q-next;delete q;i=

22、1;coutnext)if (no=q-next-num) temp=q-next;q-next=q-next-next;delete temp;i=1; coutnext; if(!i)cout无此学号!;void searchstu()/查找ptr=delptr;/回到表头 int no,p=0;coutno;while(no1000) cout您输入的学号不正确,请再次输入! no; while(ptr!=NULL) if(ptr-num=no) cout学号:numendl;cout姓名:namet性别:sext出生日期:year年 month月day日endl;cout联系地址:ad

23、dresst电话:teltQQ:qqendlnext; /ptr依序往后走访表if(p=0)cout您输入的学号不存在!endl;void print()/打印函数cout*endl;ptr=delptr; /让ptr回到表头while(ptr!=NULL) cout学号:numendl; cout姓名:name; if(ptr-sex=1) coutt性别:男; else coutt性别:女;coutt出生日期:year年month月day日endl;cout联系地址:addresst电话:teltQQ:qqendlnext; /ptr依序往后走访表void main()/主函数char key,confirmkey; while (1) display();cout请选择操作(1-4),退出(0)key;switch(key) case 0: cout感谢您使用本系统!endl;exit(1);case 1:ins();coutconfirmkey;while(confirmkey=y|confirmkey=Y) ins();coutconfirmkey; ;break;case 2:deletestu(); ;break;case 3:

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

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