还剩16页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《面向对象技术》课程设计题目职工信息管理系统专业计算机科学与技术学号姓名指导老师完成日期2013-6-2目录TOC\o1-2\h\z\u1前言32需求分析
32.1要求
32.2任务
32.3运行环境
32.4__工具33概要设计与详细设计
33.1系统流程图
33.2运行结果举例44编码与实现
74.1分析
74.2具体代码实现75课程设计总结17____171前言编写一个程序来管理职工信息通过一个结构体数组来存放输入的每一位职工的记录(包括职工号、姓名、性别、年龄、学历、工资、住址、__等),然后将其信息保存到文件中通过几个函数来创建新职工号,并对职工信息进行删除及修改,输入一个职工号查询该职工的信息,并显示在屏幕上2需求分析
2.1要求
(1)只能使用C++语言实现程序设计;
(2)源程序要有适当的注释,使程序容易阅读;
(3)画出查询模块的流程图;利用结构体进行相关信息处理;
(4)系统的各个功能模块要求用函数的形式实现;
(5)运行界面清晰,功能明确
2.2任务
(1)定义一个结构体类型数组,输入每一位职工的信息(包括职工号、姓名、性别、年龄、学历、工资、住址、__等),将其信息存入文件中;
(2)输入职工号查询该职工的信息,并显示在屏幕上;
(3)画出所有模块的流程图;
(4)编写代码;
(5)程序分析与调试
2.3运行环境
(1)WINDOWS2000/XP系统
(2)TurboC
2.0编译环境,VC
6.
02.4__工具C++语言3概要设计与详细设计
3.1系统流程图如图
3.1所示图
3.1系统流程图
3.2运行结果举例1职工号鉴定界面2职工信息录入界面3职工信息查询界面4职工信息删除界面5职工信息修改界面4编码与实现
4.1分析本系统主要分为WorkerList类、database类、函数menu、函数menu2以及__in函数,WorkerList类中包括的数据成员有id、name
[10]、___
[10]、age、edu
[20]、salary、address
[25]、tel
[11],包括的函数成员有setid、setname、set___、setage、setedu、setsalary、setaddress、settel、getid、add、display而database类中包括的数据成员有top、WorkListworker[N],包括的函数成员有rdatabase、add、search、delet、modify用函数add实现职工信息的录入,用函数search实现对职工信息的查询,用函数delet实现对职工信息的删除,用函数modify实现对职工信息的修改
4.2具体代码实现#includeiostream#includestring#includefstream#defineN100//N作为最大职工数usingnamespa__std;voidmenu;//显示菜单classWorkerList{private:intid;charname
[10];char___
[10];intage;charedu
[20];intsalary;charaddress
[25];chartel
[11];public:voidsetid//以下函数用于职工属性的输入{cout请输入职工号:endl;cinid;}voidsetname{cout请输入职工姓名:endl;cinname;}voidset___{cout请输入职工性别:endl;cin___;}voidsetage{cout请输入职工年龄:endl;cinage;}voidsetedu{cout请输入职工学历:endl;cinedu;}voidsetsalary{cout请输入职工工资:endl;cinsalary;}voidsetaddress{cout请输入职工住址:endl;cinaddress;}voidsettel{cout请输入职工__:endl;cintel;}intgetid//取职工号函数,主要用于判断输入的职工号是否已存在{returnid;}voidadd//职工信息录入{setid;setname;set___;setage;setedu;setsalary;setaddress;settel;}voiddisplay//显示函数,用于将已有职工的信息输出{cout职工工号为idendl;cout职工姓名为nameendl;cout职工性别为___endl;cout职工年龄为ageendl;cout职工学历为eduendl;cout职工工资为salaryendl;cout职工住址为addressendl;cout职工__为telendl;}};voidmenu//菜单函数{coutendl;cout★★★计算机科学与技术学系★★★endl;coutendl;cout§§endl;coutendl;cout∽∽∽∽∽∽∽∽∽∽欢迎进入职工信息管理系统∽∽∽∽∽∽∽∽∽∽endl;coutendl;cout
1.职工信息录入;cout
2.职工信息查询endl;coutendl;cout
3.职工信息删除;cout
4.职工信息修改endl;coutendl;cout∽∽∽∽∽∽∽∽∽∽∽∽∽谢谢您的使用∽∽∽∽∽∽∽∽∽∽∽∽∽endl;coutendl;}voidmenu2//修改职工信息显示的选择界面{cout****************************************************************endl;coutendl;cout*******
1.修改工号
2.修改姓名*******endl;coutendl;cout*******
3.修改性别
4.修改年龄*******endl;coutendl;cout*******
5.修改学历
6.修改工资*******endl;coutendl;cout*******
7.修改地址
8.修改__*******endl;coutendl;cout****************************************************************endl;coutendl;}classdatabase//database类,用于将输入的职工信息保存在一个___文档中及读取{private:inttop;WorkerListworker[N];public:voidrdatabase//打开磁盘中相应的文件{top=-1;fstreamfile;//定义fstream类对象filefile.openc:\\worker.___ios::in|ios::binary;//使文件流与磁盘的worker.___文件建立关联,并从中读取职工信息while!file.eof{top++;file.readchar*worker[top]sizeofworker[top];}file.close;//将关联的磁盘文件关闭top++;}voidadd//新添加职工函数{intid;cout请输入职工号以便鉴定endl;cinid;forinti=0;itop;i++{ifworker[i].getid==id{cout对不起,您输入的职工号已存在endl;return;}}worker[top].add;top++;outdatabase;cout添加成功!endl;return;}voidoutdatabase//将输入的职工信息写入___文档{fstreamfile;file.openc:\\worker.___ios::out|ios::binary;forinti=0;itop;i++file.writechar*worker[i]sizeofworker[i];//写入结构体的元素file.close;}voidsearch//用于查询职工的信息{intid2;cout请输入职工号endl;cinid2;forinti=0;itop;i++{ifworker[i].getid==id2{worker[i].display;return;}}cout对不起,该职工不存在endl;return;}voiddelet//实现对职工信息的删除{intidj;cout请输入职工号endl;cinid;forinti=0;itop;i++{ifworker[i].getid==id{forj=i;jtop;j++{worker[j]=worker[j+1];}cout该职工信息已删除endl;outdatabase;return;}}cout对不起,该职工不存在endl;return;}voidmodify//对职工信息进行修改{intid;cout请输入要修改的职工号endl;cinid;forinti=0;itop;i++{ifworker[i].getid==id{intg;menu2;cing;switchg{case1:worker[i].setid;break;case2:worker[i].setname;break;case3:worker[i].set___;break;case4:worker[i].setage;break;case5:worker[i].setedu;break;case6:worker[i].setsalary;break;case7:worker[i].setaddress;break;case8:worker[i].settel;break;}outdatabase;cout修改成功endl;return;}}cout对不起,该职工不存在endl;return;}};void__in{intchoi__;databasea;menu;cinchoi__;whilechoi__{switchchoi__{case1:a.rdatabase;a.add;break;case2:a.rdatabase;a.search;break;case3:a.rdatabase;a.delet;break;case4:a.rdatabase;a.modify;break;}menu;cinchoi__;}}5课程设计总结通过这次对职工信息管理系统的课程设计,我获益颇多长时间的思索这个课程设计使得我对函数和类的理解及其运用更加透彻与深刻在设计程序的过程中,我也曾遇到令人头疼的难题,令自己百思不得其解职工信息管理系统的设计需要对职工的信息进行存储,但是如何将信息真正的存储到文件中呢?这个难题曾一度难倒了我庆幸的是,在同学的帮助下,我寻到了解决问题的方法,将信息保存到文件中需要查阅C++高级语言程序设计___在书上第9章C++的输入输出流里有对信息进行文件2进制存储的相关内容,搭配对同学的课程设计内容的研究与借鉴,这个大难题最终得以解决然而当所有的程序完成的时候,并没想象中那么容易运行,总有一些零零碎碎的错误隐藏在一个个“阴暗”的角落里,研究修改了很久,仍有错误找不出来,于是就只好求助别人帮忙了当然,这个职工信息管理系统不乏与其他同学的课程设计内容相冲突,甚至用到相同的信息存储方法,但设计程序的过程通过相互借鉴以达到知识扩充与理解运用,也丰富了我自身然而这个程序设计也有很多不足,并不能将所有职工的相关信息输出,这个问题暂时还未能实现,不过以后我会逐渐加以改善争取完善它的功能____
[1]百度文库.C语言职工信息管理系统设计
[2]付永华,王素立,薛海燕.C++高级语言程序设计指导教师评语成绩签名职工信息管理系统菜单3.职工信息修改3.职工信息删除2.职工信息查询1.职工信息录入输入职工号输入职工号输入职工号输入职工号职工号存在?职工号存在?职工号存在?职工号存在?是,选择修改信息项,输入新的职工信息,修改成功否,该职工不存在否,输入职工信息是,添加成功否,该职工不存在是,删除成功否,该职工不存在是,输出职工信息添加成功返回职工信息管理系统菜单,继续选择……。