当前位置: 首页 > news >正文

网站后台做数据库备份代码网站广告下悬浮代码怎么做

网站后台做数据库备份代码,网站广告下悬浮代码怎么做,服装网站建设都有哪些,货代找客户的网站文章目录 概要整体代码结构整体代码小结 概要 在ubuntu下#xff0c;通过cmake编译一个稍微复杂的管理程序 整体代码结构 整体代码 boss.cpp #include boss.hBoss::Boss(int id, string name, int dId) {this-Id id;this-Name name;this-DeptId … 文章目录 概要整体代码结构整体代码小结 概要 在ubuntu下通过cmake编译一个稍微复杂的管理程序 整体代码结构 整体代码 boss.cpp #include boss.hBoss::Boss(int id, string name, int dId) {this-Id id;this-Name name;this-DeptId dId;}void Boss::showInfo() {cout 职工编号: this-Id \t职工姓名: this-Name \t岗位: this-getDeptName() \t岗位职责:管理公司所有事务 endl; }string Boss::getDeptName() {return string(总裁); }boss.h #pragma once #includeiostream using namespace std; #include worker.h//老板类 class Boss :public Worker { public:Boss(int id, string name, int dId);//显示个人信息virtual void showInfo();//获取职工岗位名称virtual string getDeptName(); };employee.cpp #include employee.hEmployee::Employee(int id, string name, int dId) {this-Id id;this-Name name;this-DeptId dId; }void Employee::showInfo() {cout 职工编号: this-Id \t职工姓名: this-Name \t岗位: this-getDeptName() \t岗位职责:完成经理交给的任务 endl; }string Employee::getDeptName() {return string(员工); } employee.h #pragma once #includeiostream using namespace std; #include worker.h//员工类 class Employee :public Worker { public://构造函数Employee(int id, string name, int dId);//显示个人信息virtual void showInfo();//获取职工岗位名称virtual string getDeptName(); };manager.cpp #include manager.hManager::Manager(int id, string name, int dId) {this-Id id;this-Name name;this-DeptId dId;}void Manager::showInfo() {cout 职工编号: this-Id \t职工姓名: this-Name \t岗位: this-getDeptName() \t岗位职责:完成老板交给的任务,并下发任务给员工 endl; }string Manager::getDeptName() {return string(经理); }manager.h #pragma once #includeiostream using namespace std; #include worker.h//经理类 class Manager :public Worker { public:Manager(int id, string name, int dId);//显示个人信息virtual void showInfo();//获取职工岗位名称virtual string getDeptName(); };worker.h #pragma once #includeiostream #includestring using namespace std;//职工抽象基类 class Worker { public://显示个人信息virtual void showInfo() 0;//获取岗位名称virtual string getDeptName() 0;int Id; //职工编号string Name; //职工姓名int DeptId; //职工所在部门名称编号 }; workerManager.cpp #include workerManager.hworkerManager::workerManager() {ifstream ifs;ifs.open(FILENAME, ios::in);//文件不存在情况if (!ifs.is_open()){cout 文件不存在 endl; //测试输出this-work_num 0; //初始化人数this-fileIsEmpty true; //初始化文件为空标志ifs.close(); //关闭文件return;}char ch;ifs ch;if (ifs.eof()){cout 文件为空! endl;this-work_num 0;this-fileIsEmpty true;ifs.close();return;}int num this-get_Num();this-work_num num; //更新成员属性init_Emp(); for (int i 0; i this-work_num; i){cout 职工号 this-works[i]-Id 职工姓名 this-works[i]-Name 部门编号 this-works[i]-DeptId endl;} }workerManager::~workerManager() {for (vectorWorker *::iterator it this-works.begin(); it ! this-works.end(); it ) if (NULL ! *it) {delete *it; *it NULL;}this-works.clear();}void workerManager::Show_Menu() {cout ******************************************** endl;cout ********* 欢迎使用职工管理系统 ********** endl;cout ************* 0.退出管理程序 ************* endl;cout ************* 1.增加职工信息 ************* endl;cout ************* 2.显示职工信息 ************* endl;cout ************* 3.删除离职职工 ************* endl;cout ************* 4.修改职工信息 ************* endl;cout ************* 5.查找职工信息 ************* endl;cout ************* 6.按照编号排序 ************* endl;cout ************* 7.清空所有文档 ************* endl;cout ******************************************** endl;cout endl; }void workerManager::exitSystem() {cout 欢迎下次使用 endl;cin.ignore();cin.get();system(clear);exit(0); }void workerManager::Add_Emp() {cout 请输入增加职工数量 endl;int addNum 0;cin addNum;if (addNum 0){ int new_size this-work_num addNum;this-works.reserve(new_size);//输入新数据for (int i 0; i addNum; i){int id;string name;int dSelect;cout 请输入第 i 1 个新职工编号 endl;cin id;cout 请输入第 i 1 个新职工姓名 endl;cin name;cout 请选择该职工的岗位 endl;cout 1、普通职工 endl;cout 2、经理 endl;cout 3、老板 endl;cin dSelect;Worker * worker NULL;switch (dSelect){case 1: //普通员工worker new Employee(id, name, 1);break;case 2: //经理worker new Manager(id, name, 2);break;case 3: //老板worker new Boss(id, name, 3);break;default:break;}this-works.push_back(worker);}this-work_num new_size;this-fileIsEmpty false;//提示信息cout 成功添加 addNum 名新职工 endl;this-save();}else{cout 输入有误 endl;}std::cout Press Enter to continue...;cin.ignore();cin.get();system(clear); }void workerManager::save() {ofstream ofs;ofs.open(FILENAME, ios::out);for (int i 0; i this-work_num; i){ofs this-works[i]-Id this-works[i]-Name this-works[i]-DeptId endl;}ofs.close(); }int workerManager::get_Num() {ifstream ifs;ifs.open(FILENAME, ios::in);string line;int num 0;while (getline(ifs, line)) { // 逐行读取文件内容if(line.empty()){continue;}num;}ifs.close();return num; }void workerManager::init_Emp() {ifstream ifs;ifs.open(FILENAME, ios::in);int id;string name;int dId;int index 0;while (ifs id ifs name ifs dId){Worker * worker NULL;if (dId 1) // 1普通员工{worker new Employee(id, name, dId);}else if (dId 2) //2经理{worker new Manager(id, name, dId);}else //总裁{worker new Boss(id, name, dId);}// //存放在数组中works.push_back(worker);index;} }void workerManager::Show_Emp() {system(clear);if (this-fileIsEmpty){cout 文件不存在或记录为空 endl;}else{for (int i 0; i this-work_num; i){//利用多态调用接口this-works[i]-showInfo();}}std::cout Press Enter to continue...;cin.ignore();cin.get();system(clear); }int workerManager::IsExist(int id) {int index -1;for (int i 0; i this-work_num; i){if (this-works[i]-Id id){index i;break;}}return index; }void workerManager::Del_Emp() {system(clear);if (this-fileIsEmpty){cout 文件不存在或记录为空 endl;}else{//按职工编号删除cout 请输入想要删除的职工号 endl;int id 0;cin id;int index this-IsExist(id);if (index ! -1) //说明index上位置数据需要删除{for (int i index; i this-work_num - 1; i){this-works[i] this-works[i 1];}this-work_num--;this-save(); //删除后数据同步到文件中cout 删除成功 endl;}else{cout 删除失败未找到该职工 endl;}}std::cout Press Enter to continue...;cin.ignore();cin.get();system(clear); }void workerManager::Mod_Emp() {if (this-fileIsEmpty){cout 文件不存在或记录为空 endl;}else{cout 请输入修改职工的编号 endl;int id;cin id;int ret this-IsExist(id);if (ret ! -1){ //查找到编号的职工int newId 0;string newName ;int dSelect 0;cout 查到 id 号职工请输入新职工号 endl;cin newId;cout 请输入新姓名 endl;cin newName;cout 请输入岗位 endl;cout 1、普通职工 endl;cout 2、经理 endl;cout 3、老板 endl;cin dSelect;this-works[ret]-Id newId;this-works[ret]-Name newName;this-works[ret]-DeptId dSelect;cout 修改成功 endl;//保存到文件中this-save();}else{cout 修改失败查无此人 endl;}}std::cout Press Enter to continue...;cin.ignore();cin.get();system(clear); }void workerManager::Find_Emp() {if (this-fileIsEmpty){cout 文件不存在或记录为空 endl;}else{cout 请输入查找的方式 endl;cout 1、按职工编号查找 endl;cout 2、按姓名查找 endl;int select 0;cin select;if (select 1) //按职工号查找{int id;cout 请输入查找的职工编号 endl;cin id;int ret IsExist(id);if (ret ! -1){cout 查找成功该职工信息如下 endl;this-works[ret]-showInfo();}else{cout 查找失败查无此人 endl;}}else if(select 2) //按姓名查找{string name;cout 请输入查找的姓名 endl;cin name;bool flag false; //查找到的标志for (int i 0; i this-work_num; i){if (works[i]-Name name){cout 查找成功,职工编号为 works[i]-Id 号的信息如下 endl;flag true;this-works[i]-showInfo();}}if (flag false){//查无此人cout 查找失败查无此人 endl;}}else{cout 输入选项有误 endl;}}std::cout Press Enter to continue...;cin.ignore();cin.get();system(clear); }void workerManager::Sort_Emp() {if (this-fileIsEmpty){cout 文件不存在或记录为空 endl;std::cout Press Enter to continue...;cin.ignore();cin.get();system(clear);}else{cout 请选择排序方式 endl;cout 1、按职工号进行升序 endl;cout 2、按职工号进行降序 endl;int select 0;cin select;for (int i 0; i this-work_num; i){int minOrMax i;for (int j i 1; j this-work_num; j){if (select 1) //升序{if (this-works[minOrMax]-Id this-works[j]-Id){minOrMax j;}}else //降序{if (this-works[minOrMax]-Id this-works[j]-Id){minOrMax j;}}}if (i ! minOrMax){Worker * temp this-works[i];this-works[i] this-works[minOrMax];this-works[minOrMax] temp;}}cout 排序成功,排序后结果为 endl;this-save();this-Show_Emp();}}void workerManager::Clean_File() {cout 确认清空 endl;cout 1、确认 endl;cout 2、返回 endl;int select 0;cin select;if (select 1){//打开模式 ios::trunc 如果存在删除文件并重新创建ofstream ofs(FILENAME, ios::trunc);ofs.close();if (this-works.size() 0){for (int i 0; i this-works.size(); i){if (this-works[i] ! NULL){delete this-works[i];}}this-work_num 0;this-fileIsEmpty true;}cout 清空成功 endl;}std::cout Press Enter to continue...;cin.ignore();cin.get();system(clear); }workerManager.h #pragma once #includeiostream #includevector #include fstream #include worker.h #include employee.h #include manager.h #include boss.h using namespace std;#define FILENAME empFile.txtclass workerManager { private:int work_num 0;bool fileIsEmpty;vectorWorker* works;public:workerManager();void Show_Menu();int get_Num();void exitSystem();void Add_Emp();void init_Emp();void Show_Emp();void Del_Emp();void Mod_Emp();void Find_Emp();void Sort_Emp();void Clean_File();int IsExist(int id);void save();~workerManager(); }; main.cpp #include iostream #include string #include unistd.h using namespace std;#include src/workerManager.h #include src/worker.h #include src/employee.h #include src/manager.h #include src/boss.hvoid test() {Worker * worker NULL;worker new Employee(1, 张三, 1);worker-showInfo();delete worker;worker new Manager(2, 李四, 2);worker-showInfo();delete worker;worker new Boss(3, 王五, 3);worker-showInfo();delete worker; }int main(){// test();workerManager wm;int choice 0;while (true){//展示菜单wm.Show_Menu();cout 请输入您的选择: endl;cin choice;switch (choice){case 0: //退出系统wm.exitSystem();break;case 1: //添加职工wm.Add_Emp();break;case 2: //显示职工wm.Show_Emp();break;case 3: //删除职工wm.Del_Emp();break;case 4: //修改职工wm.Mod_Emp();break;case 5: //查找职工wm.Find_Emp();break;case 6: //排序职工wm.Sort_Emp();break;case 7: //清空文件wm.Clean_File();break;default:system(clear);break;}}std::cout Press Enter to continue...;cin.ignore();cin.get();system(clear);return 0;}CMakeLists.txt cmake_minimum_required(VERSION 2.6) # cmake最低版本 project(manager_project) #项目名称 set(CMAKE_CXX_STANDARD 11) #设置C编译版本 set(CMAKE_BUILD_TYPE Debug) # 默认是Release模式设置为Debug才能调试set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) #设置可执行文件生产的路径 file(GLOB SOURCES ${PROJECT_SOURCE_DIR}/src/*.cpp)aux_source_directory(. SRC_LISTS) #.下所有的cpp文件打包到变量SRC_LISTS中 add_executable(demo ${SOURCES} ${SRC_LISTS}) #生成可执行文件demorun.sh #!/bin/bashmkdir -p build cd build cmake .. make cd ../bin ./demo小结 好像还有点小bug没调试整体应该是能运行
http://www.w-s-a.com/news/984399/

相关文章:

  • 长春启做网站多少怎样换wordpress域名
  • 山西网站建设情况汇总vs2010 c 建设网站
  • 网站推广策划书 精品深圳市住建局和建设局官网
  • 住房和城乡建设部干部学院网站一般做公司网站需要哪几点
  • 网站制作流程详解(学做网站第一步)免费个人网站模版ps
  • 狮山网站建设公司微信平台软件开发
  • 绥芬河网站建设学网站开发的能找什么工作
  • 网站域名申请之后如何做网站微信公众号网页版登录入口
  • 网站优化图片省级精品课程网站
  • 婚纱摄影的网站模板怎么做网站自己当站长
  • 江西建设部网站wordpress弹出式广告
  • 工商年检在哪个网站做中国建设银行个人登录
  • seo做网站郑州巩义网站建设
  • 建设银行网站机构特点业务发展网站推广工作计划
  • 国家信用信息系统年报seo推广赚钱
  • 公司建设网站价格表广州免费拍卖公司
  • 知行网站建设wordpress文章半透明
  • 建设网站的虚拟机配置建设银行宁波分行招聘网站
  • 济南网站开发xywlcn网络推广服务合同模板
  • 品牌网站制作流程图用asp做网站题目
  • 兰州市建设厅网站河南网站建设问一问公司
  • 高档网站建设前端网站大全
  • 深圳电力建设公司网站互联网网站有哪些
  • 淅川网站建设如何在百度上做自己的网站
  • 网站制作 南通有学给宝宝做衣服的网站吗
  • 做西式快餐店网站网络营销的含义是什么
  • 网络销售代理加盟南京seo排名扣费
  • 赤峰中国建设招标网站网站开发投标文件
  • 域名抢住网站婚庆网页设计
  • 公司网站建设的通知南宁怎么做网站