欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    《程序设计课程设计》设计职工信息管理系统.doc

    • 资源ID:2385809       资源大小:106KB        全文页数:19页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    《程序设计课程设计》设计职工信息管理系统.doc

    程序设计课程设计设计说明书 题目: 职工信息管理系统 班级: 1301 专业: 计算机科学与技术 学号: * 姓名: * 上课老师: 张 桂 珠 评定成绩: 日期: 2014.5.31题目: 职工信息管理系统设计要求: 1、要求: 课程设计要求采用面向对象系统分析与设计方法,首先对问题进行需求分析,识别类与对象,设计合理的类结构与程序结构实现程序功能(恰当应用教材所介绍的各种数据结构和算法),用c+语言编写程序;然后设计各种可能的数据(测试对象)对程序进行测试,观察运行结果是否正确,确保在可见范围内的测试对象都能得到正确结果。设计合理的程序完成题目要求的功能,输入输出信息时注意输入输出的格式,应该在输入前提示输入的格式和内容;将程序的各项信息保存到文件并能打开,用c+的输入输出流实现。 2、题目内容: 该系统在磁盘上存储某单位所有职工的基本信息,对于每一个职工存储:职工编号、姓名、性别、出生年月、职称、最后学历、工资和婚否。 系统功能要求如下: (1)创建存储该单位职工信息的存储系统(第一次输入职工基本信息时); (2)增加职工信息,增加新职工时输入新职工的基本信息; (3)删除某职工的基本信息(如,死亡或离职); (4)修改某职工(指定职工编号)的某些信息(如,加工资、获得新学位、晋升职称、结婚或离婚)。 (5)可以输出符合某种特征的职工信息列表: 全体职工信息列表; 某职称的职工信息列表; 某年月以后出生的职工信息列表; 某年月以前出生的职工信息列表;未婚职工信息列表。 3、开发环境: Code:Blocks 10.05设计思路:1、定义结构体birth存储年月日数据,再定义结构体worker存储职工的数据。2、定义类operate,它包含3个私有数据成员 1、职工数据worker aHUMAN_NUMBER, 2、已存数据长度lengh, 3、a的总体长度siae,3、类中包含19公有函数: 1、void set_first();对所有数据的初始化函数, 2、void cin_all();全体数据输入函数, 3、void cout_all();全体数据输出函数, 4、void cout_one(int i);一个职工数据的输出函数, 5、void elete_one();一个职工数据的删除函数, 6、void add_one();一个职工数据的添加函数, 7、void cout_after_time();输出在某个时间后出生的所有职工数据函数, 8、void cout_before_time();输出在某个时间前出生的所有职工数据函数, 9、void cout_position();输出某个职称的所有的职工数据函数, 10、void cout_ifmarry();输出所有未婚的职工数据函数, 11、void change_salary();改变某个职工的工资函数, 12、void change_educate();改变某个职工的最高学历函数, 13、void change_marry();改变某个职工的婚姻状态函数, 14、void change_position();改变某个职工职称函数, 15、void chang_lengh(int i);改变类中的数据长度lengh函数, 16、void amend();修改职工数据的函数,包含了11,12,13,14,这4个函数,通过显示操作类型,选择读取11,12,13,14中某个或多个函数,退出操作室对出该函数, 17、void output();输出职工数据函数,包含了7,8,9,10,这4个函数,通过显示操作类型,选择读取7,8,9,10中某个或多个函数,退出操作室对出该函数, 18、void save();将职工数据存储在已定义文件中函数, 19、int load_data();将已存储在文件中的数据读取进入程序中来函数,4、 在main()函数中,定义类worker的对象man, 1、第一部分操作:显示可以对对象man进行的操作(读取,创建,退出)和对输入的操作进行读取判断,选择调用函数cin_all(),loat_data()或退出(退出创建过程)。 2、第二部分操作:显示可以对对象man进行的操作(添加,删除,修改,输出,退出),对输入的操作的判断进行读取判断,选择调用函数add_one(),delete_one(),amend(),out_put()或退出(退出系统)。程序代码:#include <iostream>#include <fstream>#include <windows.h>#include<string>#define true 1#define flase 0#define HUMAN_NUMBER 50#define ADD 10using namespace std;/出生日期储存typedef struct int year; int month; int day;birth;/职工数据储存typedef struct long number;/职工编号 string name;/姓名 string sex;/性别 birth birthday;/出生年月 string position;/职称 string educate;/最后学历 float salary;/工资 int marry;/婚否worker;/储存系统class operateprivate: worker aHUMAN_NUMBER; int lengh; int size;public: void set_first(); void cin_all(); void cout_all(); void cout_one(int i); void delete_one(); void add_one(); void cout_after_time(); void cout_before_time(); void cout_position(); void cout_ifmarry(); void change_salary(); void change_educate(); void change_marry(); void change_position(); void chang_lengh(int i); void amend(); void output(); void save(); int load_data();/第一次建立void operate:set_first() for(int j=0;j!=HUMAN_NUMBER-1;j+) aj.birthday.year=0; aj.birthday.month=0; aj.birthday.day=0; aj.educate="未知" aj.marry=0; aj.name="未知" aj.number=0; aj.position="未知" aj.salary=0; aj.sex="未知" a0.number=0; lengh=0; size=HUMAN_NUMBER;/第一次所有数据输入void operate:cin_all() cout<<"输入(编号为负时结束)"<<endl; int i=lengh; for(;i<size;i+) cout<<" 职工编号(数字):"cin>>ai.number; if(ai.number<0) cout<<"职工数据输入完成。"<<endl; break; cout<<" 姓名:"cin>>ai.name; cout<<" 性别: "cin>>ai.sex; cout<<" 出生日期: "<<endl;cout<<" 年:"cin>>ai.birthday.year;cout<<" 月:"cin>>ai.birthday.month;cout<<" 日:"cin>>ai.birthday.day; cout<<" 职称:"cin>>ai.position; cout<<" 最后学历:"cin>>ai.educate; cout<<" 工资:" cin>>ai.salary; cout<<" 是否结婚(是:1,不是:-1):"cin>>ai.marry; cout<<endl; system("cls"); cout<<"输入(编号为负时结束)"<<endl; lengh=i; ai.number=-1; save();/输出所有数据void operate:cout_all() cout<<endl<<"输出所有职工数据:"<<endl; for(int i=0;i<lengh;i+) if(ai.number<=0) break; cout<<" 职工编号:"<<ai.number<<endl; cout<<" 姓名:"<<ai.name<<endl; cout<<" 性别:"<<ai.sex<<endl; cout<<" 出生年月:"<<ai.birthday.year<<"."<<ai.birthday.month<<"."<<ai.birthday.day<<endl; cout<<" 职称:"<<ai.position<<endl; cout<<" 最后学历:"<<ai.educate<<endl; cout<<" 工资:"<<ai.salary<<endl; cout<<" 是否结婚:" if(ai.marry>=0) cout<<"结婚"<<endl<<endl; else cout<<"未婚"<<endl<<endl; cout<<endl<<endl;/输出一个职工数据void operate:cout_one(int i) cout<<" 职工编号:"<<ai.number<<endl; cout<<" 姓名:"<<ai.name<<endl; cout<<" 性别:"<<ai.sex<<endl; cout<<" 出生年月:"<<ai.birthday.year<<"."<<ai.birthday.month<<"."<<ai.birthday.day<<endl; cout<<" 职称:"<<ai.position<<endl; cout<<" 最后学历:"<<ai.educate<<endl; cout<<" 工资:"<<ai.salary<<endl; cout<<" 是否结婚:" if(ai.marry>=0) cout<<"结婚"<<endl; else cout<<"未婚"<<endl; cout<<endl<<endl;/输出一个时间出生后的职工数据void operate:cout_after_time() system("cls"); birth t; cout<<"输入要求在某个时间出生以后的职工的那个时间:" cout<<"出生日期: "<<endl<<"年:"cin>>t.year;cout<<"月:"cin>>t.month;cout<<"日:"cin>>t.day; int s=0; for(int i=0;i<lengh;i+) if(ai.birthday.year>t.year) if(s=0) cout<<"输出在时间"<<t.year<<"年"<<t.month<<"月"<<t.day<<"以后出生的职工数据:"<<endl; cout_one(i); s+; else if(ai.birthday.year=t.year) if(ai.birthday.month>t.month) if(s=0) cout<<"输出在时间"<<t.year<<"年"<<t.month<<"月"<<t.day<<"以后出生的职工数据:"<<endl; cout_one(i); s+; else if(ai.birthday.month=t.month) if(ai.birthday.day>t.day) if(s=0) cout<<"输出在时间"<<t.year<<"年"<<t.month<<"月"<<t.day<<"以后出生的职工数据:"<<endl; cout_one(i); s+; if(ai+1.number<=0) break; if(s=0) cout<<" 没有在"<<t.year<<":"<<t.month<<":"<<t.day<<"以后出生的职工."<<endl<<endl;/输出一个时间出生前的职工数据void operate:cout_before_time() system("cls"); birth t; cout<<"输入要求在某个时间出生以前的职工的那个时间:" cout<<"出生日期: "<<endl<<"年:"cin>>t.year;cout<<"月:"cin>>t.month;cout<<"日:"cin>>t.day; int s=0; for(int i=0;i<lengh;i+) if(ai.birthday.year<t.year) if(s=0) cout<<"输出在时间"<<t.year<<"年"<<t.month<<"月"<<t.day<<"以前出生的职工数据:"<<endl; cout_one(i); s+; else if(ai.birthday.year=t.year) if(ai.birthday.month<t.month) if(s=0) cout<<"输出在时间"<<t.year<<"年"<<t.month<<"月"<<t.day<<"以前出生的职工数据:"<<endl; cout_one(i); s+; else if(ai.birthday.month=t.month) if(ai.birthday.day<t.day) if(s=0) cout<<"输出在时间"<<t.year<<"年"<<t.month<<"月"<<t.day<<"以前出生的职工数据:"<<endl; cout_one(i); s+; if(ai+1.number<=0) break; if(s=0) cout<<" 没有在"<<t.year<<":"<<t.month<<":"<<t.day<<"以前出生的职工."<<endl<<endl;/输出某个职称的职工数据void operate:cout_position() system("cls"); int s=0;string p; cout<<"输入要求的职称:"<<endl; cin>>p; cout<<"输出职称为"<<p<<"的职工数据"<<endl; for(int j=0;aj.number>0;j+) if(aj.position=p) cout_one(j); s+; if(s=0) cout<<"没有职称为"<<p<<"的职工"<<endl<<endl; else return;/输出没有结婚的职工数据void operate:cout_ifmarry() system("cls"); cout<<"输出所有未婚的职工数据:"<<endl; int s=0; for(int i=0;i<=lengh;i+)if(ai.number<=0)break; if(ai.marry<0) cout_one(i); s+; if(s=0) cout<<"没有未婚的职工"<<endl; /删除某个职工数据void operate:delete_one() int i=0,n; system("cls"); cout<<"输入要删除职工的编号:" cin>>n; for(;i<lengh;i+) if(ai.number=n) break; if(i=lengh) cout<<"没有编号为"<<n<<"的职工."<<endl; else for(;ai.number>0;i+) ai=ai+1; save(); lengh-; cout<<endl; system("cls"); cout<<"编号为"<<n<<"的职工的数据已删除."<<endl; /增加一个职工数据void operate:add_one() cout<<"输入要添加的职工数据:"<<endl; int i=0; for(;i<50;i+) if(ai.number<=0) break; cout<<" 职工编号(数字):" cin>>ai.number; cout<<" 姓名:"cin>>ai.name; cout<<" 性别: "cin>>ai.sex; cout<<" 出生日期: "<<endl; cout<<" 年:" cin>>ai.birthday.year; cout<<" 月:" cin>>ai.birthday.month; cout<<" 日:" cin>>ai.birthday.day; cout<<" 职称:" cin>>ai.position; cout<<" 最后学历:" cin>>ai.educate; cout<<" 工资:" cin>>ai.salary; cout<<" 是否结婚(是:1,不是(否):-1):"cin>>ai.marry; cout<<endl; save(); system("cls"); cout<<"添加的职工数据:"<<endl; cout<<" 职工编号:"<<ai.number<<endl; cout<<" 姓名:"<<ai.name<<endl; cout<<" 性别:"<<ai.sex<<endl; cout<<" 出生年月:"<<ai.birthday.year<<"."<<ai.birthday.month<<"."<<alengh.birthday.day<<endl; cout<<" 最后学历:"<<ai.educate<<endl; cout<<" 工资:"<<ai.salary<<endl; cout<<" 是否结婚:" if(ai.marry>=0) cout<<"结婚"<<endl; else cout<<"未婚"<<endl; cout<<endl<<endl; lengh+; cout<<endl;/修改工资void operate:chang_lengh(int i) lengh=i;void operate:change_salary() system("cls"); cout<<"输入要修改工资的职工编号:"<<endl; int num; cin>>num; int x=0; for(;x<lengh;x+) if(ax.number=num) break; system("cls"); if(x=lengh) cout<<"没有编号为"<<num<<"的职工"<<endl<<endl; else cout<<"输入职工"<<num<<"修改后的工资:"<<endl; cin>>ax.salary; cout<<"职工"<<num<<"的工资被修改为:"<<ax.salary<<endl<<endl; /修改学位void operate:change_educate() system("cls"); cout<<"输入要修改学位的职工编号:"<<endl; int num; cin>>num; int x=0; for(;x<lengh;x+) if(ax.number=num) break; system("cls"); if(x=lengh) cout<<"没有编号为"<<num<<"的职工"<<endl; else cout<<"输入职工"<<num<<"修改后的学位:"<<endl<<endl; cin>>ax.educate; cout<<"职工"<<num<<"的学位被修改为:"<<ax.educate<<endl<<endl; /修改结婚状态void operate:change_marry() system("cls"); cout<<"输入要修改婚姻的职工编号:"<<endl; int num; cin>>num; int x=0; for(;x<lengh;x+) if(ax.number=num) break; system("cls"); if(x=lengh) cout<<"没有编号为"<<num<<"的职工"<<endl<<endl; else if(ax.marry>0) cout<<"编号为"<<num<<"的职工婚姻状态改为未婚"<<endl<<endl; ax.marry=-1; else cout<<"编号为"<<num<<"的职工婚姻状态改为已婚"<<endl<<endl; ax.marry=1;/修改职称void operate:change_position() system("cls"); cout<<"输入要修改职称的职工编号:"<<endl; int num; cin>>num; int x=0; for(;x<lengh;x+) if(ax.number=num) break; system("cls"); if(x=lengh) cout<<"没有编号为"<<num<<"的职工"<<endl<<endl; else cout<<"输入职工"<<num<<"修改后的职称:"<<endl; cin>>ax.position; cout<<"职工"<<num<<"的职称被修改为:"<<ax.position<<endl<<endl; /写入文件void operate:save()ofstream file("F:c+实验data.txt",ios_base:out|ios_base:trunc); for(int i=0;i<lengh;i+) if(ai.number<=0) break; file<<ai.number<<" " file<<ai.name<<" " file<<ai.sex<<" " file<<ai.birthday.year<<" "<<ai.birthday.month<<" "<<ai.birthday.day<<" " file<<ai.position<<" " file<<ai.educate<<" " file<<ai.salary<<" " file<<ai.marry<<" "<<endl; file.close();/读写文件int operate:load_data() int i=0; ifstream file("F:c+实验data.txt");for(;ai-1.number<=0|i<50;i+) file>>ai.number;file>>ai.name;file>>ai.sex;file>>ai.birthday.year>>ai.birthday.month>>ai.birthday.day;file>>ai.position;file>>ai.educate;file>>ai.salary;file>>ai.marry;lengh=i;file.close();system("cls");cout<<"读取成功。"<<endl<<endl;return 1;void operate:amend() int in;int key=1; system("cls"); while(key) cout<<"输入要修改的职工项目(输入数字):"<<endl<<" 1,退出(退出修改函数)、"<<endl<<" 2,职称," <<endl<<" 3,最后学历,"<<endl<<" 4,工资,"<<endl<<" 5,婚姻"<<endl; cin>>in; switch(in) case 1: key=0;break; case 2: change_position(); save();break; case 3: change_educate(); save();break; case 4: change_salary(); save();break; case 5: change_marry(); save();break; default: cout<<"输入错误,请重新输入."<<endl;break; system("cls");void operate:output() int in;int key=1; system("cls"); while(key) cout<<"输入要输出的对象(输入数字代号):"<<endl<<" 1、全体职工信息表" <<endl<<" 2、某职称的职工信息表"<<endl<<" 3、某年月以后出生的职工信息表" <<endl<<" 4、某年月以前出生的职工信息表"<<endl <<" 5、未婚职工信息表,"<<endl<<" 6、退出(退出输出函数)"<<endl; cin>>in; switch(in) case 1: system("cls"); cout_all();break; case 2: cout_position();break; case 3: cout_after_time();break; case 4: cout_before_time();break; case 5: cout_ifmarry();break; case 6: key=0; system("cls");break; default: cout<<"输入错误,请重新输入."<<endl;break; int main() operate man;int in;int key=1,i=0; man.set_first(); while(key) cout<<"输入操作(输入数字):"<<endl<<" 1、退出(退出创建系统,进入操作系统)"<<endl <<" 2、创建(第一次输入职工基本信息,创建后不再读取。)"<<endl<<" 3、读取(读取文件中的数据,

    注意事项

    本文(《程序设计课程设计》设计职工信息管理系统.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开