首页 C++大作业---职员信息管理系统

C++大作业---职员信息管理系统

举报
开通vip

C++大作业---职员信息管理系统C++大作业---职员信息管理系统 (C++项目报告文档) 职员信息管理系统 Version C++ 6.0 生命科学与技术学院 生物医学工程专业1004班 指导教师:彭娅婷 日期:2011年07月03日 开发团队学号 任务 成 人员姓名 绩 浏览信息模块 刘奔 U201012635 Word文档3,4部分 信息录入模块, 张博 U201012636 添加信息模块 信息排序 李扬 U201012637 Word文档2(2,3,4,5) 修改信息模块, 张亚伦 U201012638 显示所...

C++大作业---职员信息管理系统
C++大作业---职员信息管理系统 (C++项目 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 文档) 职员信息管理系统 Version C++ 6.0 生命科学与技术学院 生物医学工程专业1004班 指导教师:彭娅婷 日期:2011年07月03日 开发团队学号 任务 成 人员姓名 绩 浏览信息模块 刘奔 U201012635 Word文档3,4部分 信息录入模块, 张博 U201012636 添加信息模块 信息排序 李扬 U201012637 Word文档2(2,3,4,5) 修改信息模块, 张亚伦 U201012638 显示所有信息模块 删除信息模块 杨龙 U201012639 Word文档5,6部分 查询信息模块 齐中阳 U201012640 main函数的完成 保存文档模块 胡宇 U201012641 Word文档1,2(1)部分 目 录 1 项目(职员信息管理系统)需求分析 ......................................... (1) (1)项目目标 (2)系统主要功能概述 (3)可行性分析 (4)项目运行环境 2 项目(职员信息管理系统)设计 ................................................. (2) (1)概要设计 (2)详细设计 1) UML图(类的结构和层次) 2)字段说明 (3)项目命名约定 (4)项目分工表 (5)项目进度表 3 项目(职员信息管理系统)功能介绍 ......................................... (4) 4 项目(职员信息管理系统)功能测试 ......................................... (5) 5 项目使用说明 ................................................................................ (6) 6 项目(系统) 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf ......................................................................... (6) 附录1 程序源代码............................................................................ (7) 1 项目(职员信息管理系统)需求分析 1.1 项目目标 开发一职员信息管理系统,实现职员信息的录入,修改,查询,删除,保存 等功能。 1.2 系统主要功能概述 1.添加信息模块:初始化成员信息,包括职工号,姓名,性别,年龄,学历, 工资,住址,电话,给成员排序; 2.删除信息模块:删除某位员工信息数据; 3(修改信息模块:依据职工的序号修改某位员工的信息; 4.信息查询模块:依据职员的序号查询某位职员的信息; 5.信息浏览模块:浏览当前所有职员信息; 6:信息排序模块:依据职工号,姓名,薪酬为职工排序; 7:保存信息模块:将所录信息存入文档。 1.3可行性分析 1. 1.系统可行性: 1:硬件支持:电脑(笔记本电脑,台式电脑)可以运行程序; 2:软件支持:Windows,VC++6.0作为程序运行平台 2. 2.技术可行性: 依据本学期学习C++知识,运用面向对象设计,团队成员协作完成。 3. 3.使用可行性 采用简单的GUI界面,用户经过短期 培训 焊锡培训资料ppt免费下载焊接培训教程 ppt 下载特设培训下载班长管理培训下载培训时间表下载 即可方便使用系统。 1.4 项目运行环境 CPU 奔腾? 1.4G或以上 内存 512M或以上 硬盘 80GB或以上 服务器端OS Windows 2000/NT/Server 客户端OS Windows 2000/XP 网络配置 局域网 2 项目(职员信息管理系统)设计 2.1 概要设计: 建立Employee类,List类,依据要求设计一个主函数,构造 函数,析构函数,以及10个功能函数,分别为: (1)InfoInput; //实现信息录入(有重载) (2)InfoScan; //用于浏览信息 (3)InfoQuery; //查询信息 (4)InfoSort; //信息排序 (5)InfoSwap (6)InfoDelete; //删除信息 (7)InfoModify; //修改信息 (8)InfoAdd; //添加信息 (9)showall;//显示所有信息 (10)SaveFile(); //保存文档 2.2 详细设计 UML图 Employee List 私有成员变量 私有成员变量: num; num;name;sex; employee age;edu;salary; *phead; address;tele; ordernum; 公有成员函数 employee(); Show(); Show1. List 公有成员函数 List() { phead=new employee; num=0; } void InfoInput(char*n,char*name,char*sex,int age,char*edu,float sal,char*addres,char*tele ); //信息录入 void InfoInput(); //信息录入函数重载 void InfoScan(); //浏览信息 void InfoQuery(); //查询信息 void InfoSort(); //信息排序 void InfoSwap(employee *p,employee *q); void InfoDelete(); //删除信息 void InfoModify(); //修改信息 void InfoAdd(); //添加信息 void showall(); //显示所有信息 void SaveFile(); //保存为文件 ~List(); //析构函数 2.3 项目命名约定 类名:大写字母开头 如:Employee,List 类属性:采用匈牙利命名法(即第一个字母小写并表明数据类型)如:void, char,int,float, 类方法:每个单词均为大写字母开头 如:InfoInput ();InfoScan();InfoQuery();InfoSort();InfoSwap();InfoDelete(); InfoModify();InfoAdd();showall(); SaveFile(); 变量:采用匈牙利命名法(即第一个字母小写并表明数据类型) 如:char*num;char*name;char*sex;int age;char*edu;float salary;char*addres; char*tele;int ordernum; int num; 2.4项目分工表 姓名 分配任务/完成的功能模块 备 注 刘奔 浏览信息模块 Word文档3,4部分 张博 信息录入模块, 添加信息模块 李扬 信息排序 Word文档2(2,3,4,5) 张亚伦 修改信息模块, 显示所有信息模块 杨龙 删除信息模块 Word文档5,6部分 齐中阳 查询信息模块 main函数的完成 胡宇 保存文档模块 Word文档1,2(1)部分 2.5项目进度表 第18周 项目讨论以及做项目需求分析 第18周 项目概要设计,确定分工 第19周 项目详细设计,编写文档初稿、创建数据 第19周 开发功能模块 第19周 开发模块功能,测试模块功能并修改 第19周 整体测试并修改 第20周 形成项目文档,项目检查,文档检查 3 项目(职员信息管理系统)功能介绍 1.添加信息模块:初始化成员信息,包括职工号,姓名,性别,年龄,学历, 工资,住址,电话,给成员排序; 2.删除信息模块:删除某位员工信息数据; 3(修改信息模块:依据职工的序号修改某位员工的信息; 4.信息查询模块:依据职员的序号查询某位职员的信息; 5.信息浏览模块:浏览当前所有职员信息; 6:信息排序模块:依据职工号,姓名,薪酬为职工排序; 7:保存信息模块:将所录信息存入文档。 4 项目(职员信息管理系统)功能测试 测试内容 预计 实际 改善情况 当前信息浏览测试 会出现所有职员信 如预计 息 依照提示录入职员如预计 信息录入测试 信息 查询测试 按职工号查询 按编号查询 按编号查询,无 改动 排序测试 按编号排序 如预计 删除测试 删除职员信息 如预计 修改测试 改动后信息可存档 如预计 新添成员测试 增添新成员 如预计 保存文件测试 文件可正常保存 如预计 退出测试 正常退出程序 如预计 5 项目使用说明 将程序正常编译后,按操作提示正常执行;如:当前信息浏览输入2,按回车键即可;操作简单,容易掌握, 注意:修改信息后,执行操作8,将修改后信息存档。 6 项目(系统)总结 (写出项目实施过程中碰到的问题,如何解决的问题,有 何收获等) 本次C++实验操作难度大,小组成员分配任务后花费很长时间,看课本,上网查询资料后,才能正常完成自己所负责模块操作,且程序编写“巡查模块”未如预期,后期改动较大; 通过本次试验,团队成员意识到互相团结协作,交流信息的重要性,且认识到自身存在的不足,以后还需多加努力 附录1 程序源代码 #include #include #include #include #include /*************************employee职工类************************/ class employee { public: char*num; char*name; char*sex; int age; char*edu; float salary; char*addres; char*tele; int ordernum; employee *next; public: employee() { name=NULL; num=NULL; sex=NULL; edu=NULL; salary=0.0; addres=NULL; tele=NULL; ordernum=0; next=NULL; } void show() { cout<num=new char[strlen(n)+1]; p->name=new char[strlen(name)+1]; p->sex=new char[strlen(sex)+1]; p->edu=new char[strlen(edu)+1]; p->addres=new char[strlen(addres)+1]; p->tele=new char[strlen(tele)+1]; strcpy(p->num,n); strcpy(p->name,name); strcpy(p->sex,sex); strcpy(p->edu,edu); strcpy(p->addres,addres); strcpy(p->tele,tele); p->salary=sal; p->age=age; num++; p->ordernum=num; for(;q->next!=NULL;q=q->next); q->next=p; } /*********************重载InfoInput信息输入************************/ void List::InfoInput() { employee*p=phead; int number; char num[20]; char name[10]; char sex[4]; int sexnum; int age; char edu[10]; float sal; char addres[50]; char tele[20]; cout<<"请录入信息:"<>number; for(int i=0;i>num; int flag; while(1) { flag=0; for(p=phead->next;p;p=p->next) if(strcmp(num,p->num)==0){flag=1;break;} if(flag==1) {cout<<"该职工号已存在,请输入其它职工号:"; cin>>num; } else break; } cout<<"\n请输入职工姓名:"; cin>>name; cout<<"\n请输入职工性别(1、男 2、女):"; do{cin>>sexnum; if(sexnum==1)strcpy(sex,"男"); else if(sexnum==2)strcpy(sex,"女"); else cout<<"\n输入有误,重新输入:"; } while(sexnum!=1&&sexnum!=2); cout<<"\n请输入职工年龄(数字):"; do{ cin>>age; if(age<0||age>130)cout<<"年龄输入有误,重新输入:"; }while(age<0||age>130); cout<<"\n请输入职工学历:"; cin>>edu; cout<<"\n请输入职工工资(数字):"; cin>>sal; cout<<"\n请输入职工住址:"; cin>>addres; cout<<"\n请输入职工电话:"; cin>>tele; InfoInput(num,name,sex,age,edu,sal,addres,tele); } showall(); } /**********************InfoScan信息浏览************************/ void List::InfoScan() { showall(); } /*********************InfoQuery信息查询***********************/ void List::InfoQuery() { employee*p=phead->next; cout<<"输入查询职工的序号:"<>order; while(order>num) { cout<<"此人不存在,请在1-"<>order; } for(int i=0;iordernum==order) { p->show1(); break; } p=p->next; } } /*******************InfoSwap交换信息函数***************************/ void List::InfoSwap(employee *p,employee *q) { employee temp; temp.num=p->num; p->num=q->num; q->num=temp.num; temp.name=p->name; p->name=q->name; q->name=temp.name; temp.sex=p->sex; p->sex=q->sex; q->sex=temp.sex; temp.age=p->age; p->age=q->age; q->age=temp.age; temp.edu=p->edu; p->edu=q->edu; q->edu=temp.edu; temp.salary=p->salary; p->salary=q->salary; q->salary=temp.salary; temp.addres=p->addres; p->addres=q->addres; q->addres=temp.addres; temp.tele=p->tele; p->tele=q->tele; q->tele=temp.tele; } /*************************InfoSort排序*************************/ void List::InfoSort() { employee *p; employee *q; cout<<"---排序方式:------------------------"<>sortway; switch(sortway) { case 1: { for(int i=0;inext,q=p->next;q;q=q->next,p=p->next) { if(strlen(p->num)>strlen(q->num)) InfoSwap(p,q); } cout<next,q=p->next;q;q=q->next,p=p->next) { if(strcmp(p->name,q->name)>0) InfoSwap(p,q); } cout<next,q=p->next;q;q=q->next,p=p->next) { if(p->salary>q->salary) InfoSwap(p,q); } cout<next; employee*q=phead; cout<<"请输入要删除职工的序号:"; int ordernum; do{ cin>>ordernum; if(ordernum>num||ordernum<=0)cout<<"输入有误~请重新输入1-"<num||ordernum<=0); while(p->ordernum!=ordernum) { p=p->next; q=q->next; } cout<name<<" 吗,(y/n)"<>sure; if(sure=='y') { q->next=p->next; delete []p->name; delete []p->num; delete []p->sex; delete []p->edu; delete []p->addres; delete []p->tele; delete p; p=NULL; num--; employee *f=phead->next; for(int i=0;iordernum=i+1; f=f->next; } cout<next; cout<<"选择要修改职工的序号:"; int ordernum; do { cin>>ordernum; if(ordernum>num)cout<<"输入有误,请在1-"<num); for(;p->ordernum!=ordernum;p=p->next); cout<<"---要修改的项目:------------------"<>item; if(item>7)cout<<"请在1-7内输入:"; }while(item>7); switch(item) { case 1: { char newnum[20]; cout<<"请输入要修改的职工号:"; cin>>newnum; employee*q; int flag; while(1) { flag=0; for(q=phead->next;q;q=q->next) if(strcmp(newnum,q->num)==0){flag=1;break;} if(flag==1) {cout<<"该职工号已存在,请输入其它职工号:"; cin>>newnum; } else break; } p->num=new char[strlen(newnum)+1]; strcpy(p->num,newnum); };break; case 2: { char newname[10]; cout<<"请输要修改的姓名:"; cin>>newname; p->name=new char[strlen(newname)+1]; strcpy(p->name,newname); };break; case 3: { int age; cout<<"请输入要修改的年龄(数字):"; do{ cin>>age; if(age<0||age>130)cout<<"年龄输入有误,重新输入:"; }while(age<0||age>130); p->age=age; };break; case 4: { char edu[40]; cout<<"请输入要修改的学历:"; cin>>edu; p->edu=new char[strlen(edu)+1]; strcpy(p->edu,edu); };break; case 5: { float salary; cout<<"请输入要修改的工资(数字):"; cin>>salary; p->salary=salary; };break; case 6: { char addres[30]; cout<<"请输入要修改的住址:"; cin>>addres; p->addres=new char[strlen(addres)+1]; strcpy(p->addres,addres); };break; case 7: { char tele[20]; cout<<"请输入要修改的电话:"; cin>>tele; p->tele=new char[strlen(tele)+1]; strcpy(p->tele,tele); };break; } cout<show1(); p- } /************************showall显示所有信息 ************************/ void List::showall() { employee *p=phead->next; cout<next) { cout<ordernum<<" "; p->show(); } cout<>num; int flag; while(1) { flag=0; for(p=phead->next;p;p=p->next) if(strcmp(num,p->num)==0){flag=1;break;} if(flag==1) {cout<<"该职工号已存在,请输入其它职工号:"; cin>>num; } else break; } cout<<"\n请输入职工姓名:"; cin>>name; cout<<"\n请输入职工性别(1.男 2.女):"; do{cin>>sexnum; if(sexnum==1)strcpy(sex,"男"); else if(sexnum==2)strcpy(sex,"女"); else cout<<"\n输入有误,重新输入:"; } while(sexnum!=1&&sexnum!=2); cout<<"\n请输入职工年龄:"; cin>>age; cout<<"\n请输入职工学历:"; cin>>edu; cout<<"\n请输入职工工资:"; cin>>sal; cout<<"\n请输入职工住址:"; cin>>addres; cout<<"\n请输入职工电话:"; cin>>tele; InfoInput(num,name,sex,age,edu,sal,addres,tele); cout<<"添加后:"<next; ofstream save_diskfile; save_diskfile.open("emplist.txt",ios::out|ios::trunc); if(!save_diskfile) { cout<<"打开文件失败"; return; } for(int i=0;inum<<" "<name<<" "<sex<<" "<age<<" "<edu<<" "<salary<<" "<addres<<" "<tele<next; } save_diskfile.close(); } /***********************List析构函数****************************/ List::~List() { employee *p=phead->next; while(p) { phead->next=p->next; delete []p->name; delete []p->num; delete []p->sex; delete []p->edu; delete []p->addres; delete []p->tele; delete p; p=phead->next; } delete []phead->name; delete []phead->num; delete []phead->sex; delete []phead->edu; delete []phead->addres; delete []phead->tele; delete phead; phead=NULL; } /*************************Prompt弹出菜单函数********************/ void Prompt() { cout< 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 :~~~~~~~"<>item_number; if(item_number>8)cout<<"输入有误~请在0-8的范围内输入~ "<8); switch(item_number) { case 1:emp.InfoInput();Prompt();goto loop;break; case 2:emp.InfoScan();Prompt();goto loop;break; case 3:emp.InfoQuery();Prompt();goto loop;break; case 4:emp.InfoSort();Prompt();goto loop;break; case 5:emp.InfoDelete();Prompt();goto loop;break; case 6:emp.InfoModify();Prompt();goto loop;break; case 7:emp.InfoAdd();Prompt();goto loop;break; case 8:emp.SaveFile();cout<<"保存成功~"<
本文档为【C++大作业---职员信息管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_637320
暂无简介~
格式:doc
大小:88KB
软件:Word
页数:37
分类:互联网
上传时间:2017-09-27
浏览量:82