欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    面向对象程序设计-课程设计报告书.doc

    • 资源ID:1065274       资源大小:2.13MB        全文页数:31页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面向对象程序设计-课程设计报告书.doc

    1、课程设计报告书 课程名称 面向对象程序设计 姓名 班级 学号 指导教师 题目:设计职工类,并进而构建职工信息管理系统,实现职工信息的读写、查询、工资计算及信息统计等功能。设计的目的和要求:定义职工(employee)类,其中至少包括姓名、性别、工号、电话、所在科室和工资。实现功能:1.设计菜单实现功能选择;2.输入功能:输入职工信息,并保存到文件中;3.查询功能:1) 能够根据工号精确查询职工信息;2) 能够根据姓名、科室查询职工信息;3) 分科室进行工资统计,计算各科室的平均工资。4.根据职工的工资排序输出;5.根据工号修改职工信息;6.根据工号删除职工信息。设计的软件环境:;设计过程和内容

    2、(可加附页):设计过程:一:思路构成主菜单添加职工信息修改职工信息职工删除信息职工信息查询职工信息排序保存员工信息Switch()退出While()开始main()读取数据 二:模板分析:(1) 主菜单模块完成用户命令的接受,此模块也是职工信息管理的入口,用户所要进行的各种操作均需在此模块中进行选择,并进而调用其他模块实现相应的功能。(2) 信息添加模块完成职工信息的输入功能,输入信息包括职工号、姓名、性别,出生年月、学历、职务、工资、住址、电话等。(3) 信息显示模块完成已录入职工信息的显示。(4) 信息查询模块完成职工信息的查询,查询时对应有按编号查询和按姓名查询两种方式。(5) 信息修改

    3、模块完成职工信息的修改功能。(6) 信息删除功能模块完成职工信息的删除功能。(7) 信息排序模块完成对职工信息的排序,排序内容包括工号,工资等。(8) 信息保存模块完成对职工信息的保存。三:功能实现1. 添加职工信息 添加员工信息,提供员工信息的添加,在该模块中设计了安全检查机制,即确认是否添加员工的信息,若对员工信息的添加不满意,则可以选择重新输入。还设置有返回主菜单的选项以方便用户。2. 修改职工信息 修改员工信息设置了员工人数检查,果员工人数NUM的值为0,则返回主菜单。如果员工人数NUM不为0,则进入删除员工信息的界面。修改员工信息板块功能强大,界面友好,用循环控制修改某员工属性,这样

    4、使得操作极为方便。3. 删除职工信息删除员工信息中设计了对员工人数的检查,如果员工人数NUM的值为0,则返回到主菜单。如果员工人数NUM不为0,则进入删除员工信息的界面。界面包括员工信息列表,和删除选项,方便用户的操作。4. 员工职工查找 通过find()函数进行查找。该函数比较简单,通过循环一次比较Pern.num是否与你输入的num是否相等,如果相等,则输入到屏幕上,如果未找到任何匹配的员工,则显示“未找该员工”。5. 保存职工信息保存员工的信息,即为将当前所有的员工的信息存入到workerlist.txt中。这里我们采用的是C+的ofstream的写入文件的对象进行控制。6. 职工信息的

    5、排序 对员工信息进行排序,包括按员工编号排序(从小到大),按员工工资进行排序(从高到低)。其中也设置了员工人数检查机制,即:如果员工的人数为0,则直接返回主菜单。7. 职工信息的显示 对职工信息进行显示,包括职工的工号,姓名,年龄,学历,工资地址,电话等信息。方便对员工了解。设计内容:源程序:#include#includestring#include#include #include #define N 100/N作为最大职工总数int f=0;/f作为开关using namespace std;string p;/p作为接收菜单选项的字符串void menu();/显示菜单class em

    6、ployeepublic:employee() void show();/职工信息显示employee()friend class employeeList;private:string num,name,sex,position,address,tel;int age,salary;class employeeListprivate:employee wN;int NUM;/用来计算职工数目 int count;/用来暂时记录当前操作第几个职工public:void add();/职工信息录入void sort();/职工信息排序void search();/职工信息查找void dele(

    7、);/职工信息删除void modify();/职工信息修改 void save();/职工信息以文件形式保存void showemployee();/显示职工信息在屏幕上employeeList()NUM=0;count=0;void menu()coutendl;cout*welcome*endl; cout* *职工信息管理系统主菜单*endl;cout* * * * *endl;cout * 1.添加职工信息添加 *endl;cout * 2.修改职工信息修改 * endl;cout * 3.删除职工信息删除 * endl;cout * 4.排序职工信息排序 * endl;cout *

    8、 5.查找职工信息查找 * endl;cout * 6.显示职工信息显示 * endl;cout * 7.保存职工信息保存 * endl;cout * 0.退出菜单 * endl;cout * *endl; cout * *welcome* * endl;coutendl;void domain()/主菜单函数实现employeeList wl;while(1)system(cls);menu();cout请选择数字编号7i1;while(!(i1=0&i1=7)cout输入有误,请重新输入:i1;switch(i1)case 1:wl.add();break;case 2:wl.modify

    9、();break;case 3:wl.dele();break;case 4:wl.sort();break;case 5:wl.search();break;case 7:wl.save();break;case 6:wl.showemployee();break;case 0:cout系统退出!endl;exit(0);default:break;cout是否返回主菜单? Y/Np;if(p=n|p=N)cout系统退出!endl;exit(0);/getchar();void employeeList:add()/职工信息添加函数实现cout请输入职工信息:endl; cout工号t姓名

    10、t性别t职位t年龄t工资t地址t电话num;for(int u=0;uNUM;u+)while(num=wu.num)cout此职工编号已存在,请重新输入:num;wNUM.num=num;cinwNUM.namewNUM.sexwNUM.positionwNUM.agewNUM.salarywNUM.addresswNUM.tel;+NUM;count=NUM;void employee:show()/显示职工信息函数实现cout工号t姓名t性别t职位t年龄t工资t地址t电话endl;coutnumtnametsextpositiontagetsalarytaddressttelendl;c

    11、outendl;void employeeList:modify()/职工信息修改函数实现if(NUM=0)cout没有职工信息存入,系统将返回主菜单endl;menu();elsecout职工信息如下:endl;cout工号t姓名t性别t职位t年龄t工资t地址t电话endl;for(int u=0;ucount;u+)coutwu.numtwu.nametwu.sextwu.positiontwu.agetwu.salarytwu.addresstwu.telendl;cout请输入需要修改信息职工的工号:num1;int j=0,k;int flag=1;while(flag)for(;j

    12、count;j+)if(num1=wj.num)flag=0;k=j;break;if(flag)cout不存在此员工,请重新输入:num1;cout你选择的职工的信息为:endl;cout工号t姓名t性别t职位t年龄t工资t地址t电话endl;coutwk.numtwk.nametwk.sextwk.positiontwk.agetwk.salarytwk.addresstwk.telendl;coutendl;cout*endl;cout* 1.修改工号 *endl;cout* 2.修改姓名 *endl;cout* 3.修改性别 *endl;cout* 4.修改职位 *endl;cout*

    13、 5.修改年龄 *endl;cout* 6.修改工资 *endl;cout* 7.修改地址 *endl;cout* 8.修改电话 *endl;cout* 0.返回主菜单 *endl;cout*endl;coutendl;cout请选择数字编号8i3;while(i38)cout输入有误,请重新输入:i3;switch(i3)case 1:coutwk.num;cout修改信息已保存,现返回主菜单:endl;menu();break;case 2:coutwk.name;cout修改信息已保存,现返回主菜单:endl;menu();break;case 3:coutwk.sex;cout修改信息

    14、已保存,现返回主菜单:endl;menu();break;case 4:coutwk.position;cout修改信息已保存,现返回主菜单:endl;menu();break;case 5:coutwk.age;cout修改信息已保存,现返回主菜单:endl;menu();break;case 6:coutwk.salary;cout修改信息已保存,现返回主菜单:endl;menu();break;case 7:coutwk.address;cout修改信息已保存,现返回主菜单:endl;menu();break;case 8:coutwk.tel;cout修改信息已保存,现返回主菜单:en

    15、dl;menu();break;case 0:menu();default:break;void employeeList:showemployee()/职工信息显示函数实现if(NUM=0)cout没有职工信息存入,系统将返回主菜单endl;menu();elsecout已保存的职工信息如下:endl;cout工号t姓名t性别t职位t年龄t工资t地址t电话endl;for(int u=0;ucount;u+)coutwu.numtwu.nametwu.sextwu.positiontwu.agetwu.salarytwu.addresstwu.telendl;/*cout是否返回主菜单? Y

    16、/Np;while(1)if(p=y|p=Y)menu();else if(p=n|p=N)cout系统退出!endl;exit(0);else coutp;*/void employeeList:search()if(NUM=0)cout没有职工信息存入,系统将返回主菜单endl;menu();elsecout请选择查找方式:endl;cout*endl;cout* 1.按工号查找 *endl;cout* 2.按姓名查找 *endl;cout* 3.按工资查找 *endl;cout* 4.按职位查找 *endl;cout* 0.返回主菜单 *endl;cout*endl;coutendl;c

    17、out请选择数字编号4i4;while(i44)cout输入有误,请重新输入:i4;if(i4=1)string num2;cout请输入要查询的职工的工号:num2;int j=0,k;int flag=1;while(flag)for(;jcount;j+)if(num2=wj.num)flag=0;k=j;cout查询的职工信息如下:endl;cout工号t姓名t性别t职位t年龄t工资t地址t电话endl;coutwk.numtwk.nametwk.sextwk.positiontwk.agetwk.salarytwk.addresstwk.telendl;break;if(flag)f

    18、lag=0;cout不存在此职工!n返回主菜单endl;break;else if(i4=2)string name2;cout请输入要查询的职工的姓名:name2;int j2=0,k2;int flag2=1;while(flag2)for(;j2count;j2+)if(name2=wj2.name)flag2=0;k2=j2;cout查询的职工信息如下:endl;cout工号t姓名t性别t职位t年龄t工资t地址t电话endl;coutwk2.numtwk2.nametwk2.sextwk2.positiontwk2.agetwk2.salarytwk2.addresstwk2.tele

    19、ndl;break;if(flag2)flag2=0;cout不存在此职工!n返回主菜单endl;break;else if(i4=3)int salary2;cout请输入要查询的职工的工资:salary2;int j3=0,k3;int flag3=1;while(flag3)for(;j3count;j3+)if(salary2=wj3.salary)flag3=0;k3=j3;cout查询的职工信息如下:endl;cout工号t姓名t性别t职位t年龄t工资t地址t电话endl;coutwk3.numtwk3.nametwk3.sextwk3.positiontwk3.agetwk3.s

    20、alarytwk3.addresstwk3.telendl;break;if(flag3)flag3=0;cout不存在此职工!n返回主菜单endl;break;else if(i4=4)string position2;cout请输入要查询的职工的职位:position2;int j4=0,k4;int flag4=1;while(flag4)for(;j4count;j4+)if(position2=wj4.position)flag4=0;k4=j4;cout查询的职工信息如下:endl;cout工号t姓名t性别t职位t年龄t工资t地址t电话endl;coutwk4.numtwk4.na

    21、metwk4.sextwk4.positiontwk4.agetwk4.salarytwk4.addresstwk4.telendl;break;if(flag4)flag4=0;cout不存在此职工!n返回主菜单endl;break;else if(i4=0)menu();void employeeList:sort()/职工信息排序功能实现if(NUM=0)cout没有职工信息存入,系统将返回主菜单endl;menu();elsecout请选择排序方式:endl;cout*endl;cout* 1.按工号排序(升序) *endl;cout* 2.按工号排序(降序) *endl;cout*

    22、3.按姓名排序(升序) *endl;cout* 4.按姓名排序(降序) *endl;cout* 5.按工资排序(升序) *endl;cout* 6.按工资排序(降序) *endl;cout* 0.返回主菜单 *endl;cout*endl;coutendl;cout请选择数字编号6i5;while(i56)cout输入有误,请重新输入:i5;if(i5=1)for(int i=0;icount-1;i+)for(int j=0;jwj+1.num)string temp;temp=wj.num;wj.num=wj+1.num;wj+1.num=temp;cout按工号升序后的信息如下:endl

    23、;cout工号t姓名t性别t职位t年龄t工资t地址t电话endl;for(int u=0;ucount;u+)coutwu.numtwu.nametwu.sextwu.positiontwu.agetwu.salarytwu.addresstwu.telendl;else if(i5=2)for(int i=0;icount-1;i+)for(int j=0;jcount-1-i;j+)if(wj.numwj+1.num)string temp;temp=wj.num;wj.num=wj+1.num;wj+1.num=temp;cout按工号降序后的信息如下:endl;cout工号t姓名t性别

    24、t职位t年龄t工资t地址t电话endl;for(int u=0;ucount;u+)coutwu.numtwu.nametwu.sextwu.positiontwu.agetwu.salarytwu.addresstwu.telendl;else if(i5=3)for(int i=0;icount-1;i+)for(int j=0;jwj+1.name)string temp;temp=wj.name;wj.name=wj+1.name;wj+1.name=temp;cout按姓名升序后的信息如下:endl;cout工号t姓名t性别t职位t年龄t工资t地址t电话endl;for(int u=

    25、0;ucount;u+)coutwu.numtwu.nametwu.sextwu.positiontwu.agetwu.salarytwu.addresstwu.telendl;else if(i5=4)for(int i=0;icount-1;i+)for(int j=0;jcount-i-1;j+)if(wj.namewj+1.name)string temp;temp=wj.name;wj.name=wj+1.name;wj+1.name=temp;cout按姓名降序后的信息如下:endl;cout工号t姓名t性别t职位t年龄t工资t地址t电话endl;for(int u=0;ucoun

    26、t;u+)coutwu.numtwu.nametwu.sextwu.positiontwu.agetwu.salarytwu.addresstwu.telendl;else if(i5=5)for(int i=0;icount-1;i+)for(int j=0;jwj+1.salary)int temp;temp=wj.salary;wj.salary=wj+1.salary;wj+1.salary=temp;cout按工资升序后的信息如下:endl;cout工号t姓名t性别t职位t年龄t工资t地址t电话endl;for(int u=0;ucount;u+)coutwu.numtwu.name

    27、twu.sextwu.positiontwu.agetwu.salarytwu.addresstwu.telendl;else if(i5=6)for(int i=0;icount-1;i+)for(int j=0;jcount-i-1;j+)if(wj.salarywj+1.salary)int temp;temp=wj.salary;wj.salary=wj+1.salary;wj+1.salary=temp;cout按工资降序后的信息如下:endl;cout工号t姓名t性别t职位t年龄t工资t地址t电话endl;for(int u=0;ucount;u+)coutwu.numtwu.nametwu.sextwu.positiontwu.agetwu.salarytwu.addresstwu.telendl;else if(i5=0)menu();void employeeList:dele()/职工信息删除功能实现if(NUM=0)cout没有职工信息存入,系统将返回主菜单endl;menu();elsecout职工信息如下:endl;cout工号t姓名t性别t


    注意事项

    本文(面向对象程序设计-课程设计报告书.doc)为本站会员(风****)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922