14.12 修改职工信息

2023-11-06

14.12 修改职工信息

1、按照编号修改职工信息

先声明

	//修改职工
	void mod_Emp();

再实现
就是把查到的职工删除,再在那个位置输入一个新职工。
所以跟添加职工的代码很多地方一样。

//修改职工
void WorkerManager::mod_Emp()
{
	if (this->m_FileIsEmpty)
	{
		cout << "文件不存在或记录为空!" << endl;
	}
	else
	{
		cout << "请输入修改的职工编号:";
		int id = 0;
		cin >> id;
		int index = this->isExit(id);
		if (index != -1)
		{
			//找到了
			cout << "找到了一个职工:" << endl;
			this->m_EmpArray[index]->showInfo();

			delete this->m_EmpArray[index];

			int newId = 0;
			string newName = "";
			int newDId = 0;

			while (true)
			{
				cout << "请输入新编号:";
				cin >> id;
				int index = this->isExit(id);
				if (index != -1)
				{
					cout << "该编号已被占用,请重新输入编号" << endl;
				}
				else
				{
					break;
				}
			}
			cout << "请输入新姓名:";
			cin >> newName;

			Worker* worker = NULL;
			while (true)
			{
				cout << "请输入新岗位:" << endl;;
				cout << "1、普通职工" << endl;
				cout << "2、经理" << endl;
				cout << "3、老板" << endl;
				cin >> newDId;

				switch (newDId)
				{
				case 1:
					worker = new Employee(id, newName, newDId);
					break;
				case 2:
					worker = new Manager(id, newName, newDId);
					break;
				case 3:
					worker = new Boss(id, newName, newDId);
					break;
				default:
					cout << "输入的数据有误,请重新选择" << endl;
					break;
				}
				if (worker != NULL)
				{
					break;
				}
			}
			this->m_EmpArray[index] = worker;
			cout << "修改成功!" << endl;
			this->Save();
		}
		else
		{
			cout << "修改失败,查无此人!";
		}
	}
}
2、在main里添加选择
		case 4:	//修改职工
			wm.mod_Emp();
			break;
3、测试:

先显示一下信息
在这里插入图片描述
把2号改一下
在这里插入图片描述
再显示一下:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

14.12 修改职工信息 的相关文章

  • 访问私人成员[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 通过将类的私有成员转换为 void 指针 然后转换为结构来访问类的私有成员是否合适 我认为我无权修改包含我需要访问的数据成员的类 如果不道德 我
  • UML类图:抽象方法和属性是这样写的吗?

    当我第一次为一个小型 C 项目创建 uml 类图时 我在属性方面遇到了一些麻烦 最后我只是将属性添加为变量 lt
  • 如何在列表框项目之间画一条线

    我希望能够用水平线分隔列表框中的每个项目 这只是我用于绘制项目的一些代码 private void symptomsList DrawItem object sender System Windows Forms DrawItemEvent
  • 实时服务器上的 woff 字体 MIME 类型错误

    我有一个 asp net MVC 4 网站 我在其中使用 woff 字体 在 VS IIS 上运行时一切正常 然而 当我将 pate 上传到 1and1 托管 实时服务器 时 我得到以下信息 网络错误 404 未找到 http www co
  • Newtonsoft JSON PreserveReferences处理自定义等于用法

    我目前在使用 Newtonsoft Json 时遇到一些问题 我想要的很简单 将要序列化的对象与所有属性和子属性进行比较以确保相等 我现在尝试创建自己的 EqualityComparer 但它仅与父对象的属性进行比较 另外 我尝试编写自己的
  • 将布尔参数传递给 SQL Server 存储过程

    我早些时候问过这个问题 我以为我找到了问题所在 但我没有 我在将布尔参数传递给存储过程时遇到问题 这是我的 C 代码 public bool upload false protected void showDate object sende
  • WPF 中的调度程序和异步等待

    我正在尝试学习 WPF C 中的异步编程 但我陷入了异步编程和使用调度程序的困境 它们是不同的还是在相同的场景中使用 我愿意简短地回答这个问题 以免含糊不清 因为我知道我混淆了 WPF 中的概念和函数 但还不足以在功能上正确使用它 我在这里
  • 在 Visual Studio 2008 上设置预调试事件

    我想在 Visual Studio 中开始调试程序之前运行一个任务 我每次调试程序时都需要运行此任务 因此构建后事件还不够好 我查看了设置的 调试 选项卡 但没有这样的选项 有什么办法可以做到这一点吗 你唯一可以尝试的 IMO 就是尝试Co
  • C - 找到极限之间的所有友好数字

    首先是定义 一对友好的数字由两个不同的整数组成 其中 第一个整数的除数之和等于第二个整数 并且 第二个整数的除数之和等于第一个整数 完美数是等于其自身约数之和的数 我想做的是制作一个程序 询问用户一个下限和一个上限 然后向他 她提供这两个限
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • Qt moc 在头文件中实现?

    是否可以告诉 Qt MOC 我想声明该类并在单个文件中实现它 而不是将它们拆分为 h 和 cpp 文件 如果要在 cpp 文件中声明并实现 QObject 子类 则必须手动包含 moc 文件 例如 文件main cpp struct Sub
  • Qt表格小部件,删除行的按钮

    我有一个 QTableWidget 对于所有行 我将一列的 setCellWidget 设置为按钮 我想将此按钮连接到删除该行的函数 我尝试了这段代码 它不起作用 因为如果我只是单击按钮 我不会将当前行设置为按钮的行 ui gt table
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 将 unsigned char * (uint8_t *) 转换为 const char *

    我有一个带有 uint8 t 参数的函数 uint8 t ihex decode uint8 t in size t len uint8 t out uint8 t i hn ln for i 0 i lt len i 2 hn in i
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • WCF:将随机数添加到 UsernameToken

    我正在尝试连接到用 Java 编写的 Web 服务 但有些东西我无法弄清楚 使用 WCF 和 customBinding 几乎一切似乎都很好 除了 SOAP 消息的一部分 因为它缺少 Nonce 和 Created 部分节点 显然我错过了一
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • mysql-connector-c++ - “get_driver_instance”不是“sql::mysql”的成员

    我是 C 的初学者 我认为学习的唯一方法就是接触一些代码 我正在尝试构建一个连接到 mysql 数据库的程序 我在 Linux 上使用 g 没有想法 我运行 make 这是我的错误 hello cpp 38 error get driver
  • 如何在 C++ BOOST 中像图形一样加载 TIFF 图像

    我想要加载一个 tiff 图像 带有带有浮点值的像素的 GEOTIFF 例如 boost C 中的图形 我是 C 的新手 我的目标是使用从源 A 到目标 B 的双向 Dijkstra 来获得更高的性能 Boost GIL load tiif
  • 限制C#中的并行线程数

    我正在编写一个 C 程序来生成并通过 FTP 上传 50 万个文件 我想并行处理4个文件 因为机器有4个核心 文件生成需要更长的时间 是否可以将以下 Powershell 示例转换为 C 或者是否有更好的框架 例如 C 中的 Actor 框

随机推荐

  • 在CUDA如何使用二维数组(**[M][N])

    总有些童鞋想知道怎么在CUDA中使用二维数组 M N 这种类型 其实这个很简单 不过你要完全弄明白 必须对指针 地址等概念非常清楚才行 写这篇博客解决下大家这个问题 1 首先讲述一下在一般C语言中如何使用二维数组 int r c int a
  • python的类相关知识总结

    下面位一段类代码块 class Car def init self make model year self make make self model model self year year self odometer reading 4
  • 语音交互有哪些优势与劣势?

    转载自公众号 谈人工智能 转载请联系授权 语音交互是指人与人 人与设备之间 通过自然语音进行信息传递的过程 人与人之间通过语音来传递信息 交流感情等等 其实就是一种最基本的人与人之间的语音交互 为什么VUI这个概念 Voice User I
  • matlab欧拉法截断误差,一阶常微分方程欧拉法与梯形公式局部截断误差与p阶精度Range.PPT...

    一阶常微分方程欧拉法与梯形公式局部截断误差与p阶精度Range 一阶常微分方程 欧拉法与梯形公式 局部截断误差与p阶精度 Range Kutta公式 常微分方程MATLAB求解 数值分析 23 例1 一阶常微分方程 求解区域 0 x 1 5
  • (译)神经网络基础(1):Logistic 回归

    点击阅读原文 翻译 huangyongye 前言 本文在翻译过程中 为了便于理解 某些句子可能和原文有一定的出入 但是整体上没有太大的改动 由于本人水平有限 翻译或者理解不对的地方 欢迎指正 不胜感激 Logistic 回归 本例子包括以下
  • ThreadPoolTaskScheduler 简单的记录

    initializeBean方法 protected Object initializeBean final String beanName final Object bean Nullable RootBeanDefinition mbd
  • 关于OkGo中由于响应码不同返回的错误提示无法获取解决方案

    使用okgo过程中发现原有的callBack无法再onError方法中返回错误信息内容 所以可以通过自定义callBack 方法来获取响应的内容 eg package com lide mygit public class MainActi
  • java怎么校验字符串为正数或者两位小数

    可以使用正则表达式来校验字符串是否为正数或两位小数 下面是一个例子 public static boolean isPositiveNumberOrTwoDecimalPlaces String str String pattern 0 9
  • 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败“常见问题的解决方案

    问题 服务器突然显示连接失败 通过端口 1433 连接到主机 localhost 的 TCP IP 连接失败 错误 Connection refused connect 请验证连接属性 并检查 SQL Server 的实例正在主机上运行 且
  • Kubernetes 基本概念

    Kubernetes 是什么 Kubernetes 是一个可移植 可扩展的开源平台 用于管理容器化的工作负载和服务 可促进声明式配 置和自动化 是谷歌保密了十几年的秘密武器Borg的开源版本 谷歌一直通过Borg系统管理着数量庞大 的应用程
  • 2023华为OD机试备考攻略 以及题库目录分值说明 考点说明

    刷题库 刷题库 刷题库 重要的事情说三遍 要刷有多种语言的实现的题库 一种语言看不懂可以换另一种语言 而且可以结合起来去重 类似下面这种的题库 华为OD机试备考攻略 以及题库目录分值说明 考点说明 blog csdn net banxia
  • copy of an AVPacket structure

    a copy of an AVPacket structure 参考 https stackoverflow com questions 12929330 create a copy of an avpacket structure ok
  • 回调函数的作用详解

    回调函数的作用 原文地址 回调函数的作用 加菲的日志 网易博客 一直不太理解回调函数的作用 下面是找到的一些关于回调函数的作用的解答 1 回调函数是一个很有用 也很重要的概念 当发生某种事件时 系统或其他函数将会自动调用你定义的一段函数 2
  • STM32的DMA输出DAC的正弦波与三角波 幅度与周期可调可调(原创篇);

    废话不多说 因为激光振镜驱动需要正弦波与三角波 为了省事 直接通过STM32F407实现DAC的DMA输出 省CPU资源 经过调试 在0 NkHZ之内都可以实现 目前采样点为500个 上数据吧 其中三角波自动生成500个数据 在初始化的时候
  • 自己的Anaconda管理多个虚拟环境,这样就可以在不同的环境下安装互不干扰的库

    项目场景 Anaconda可以安装多个虚拟解释器 每个解释器可以安装自己独有的库 从而每个解释器之间起到互不干扰的作用 这点Anaconda就非常强大了 查看Anaconda的解释环境 在电脑开始中选择Anaconda Prompt set
  • 搭建一个vue3+ts项目(超祥/必看)

    一 创建vite项目 1 在一个文件夹下通过cmd打开 输入命令 npm create vite latest 2 接着选择ts 3 创建好之后 结构目录如下 二 启动vite项目 1 安装依赖 启动项目前需要先 npm i 从上图可以发现
  • C++智能指针知识总结

    智能指针 智能指针是为了避免内存泄漏的技术 智能指针采用了RAII特性 利用对象生命周期来控制程序资源 在对象构造时获取资源 接着控制对资源的访问使之在对象的生命周期内始终保持有效 最后在对象析构的时候释放资源 借此 我们实际上把管理一份资
  • Python 四五事

    介绍 Python 相关工具 工作流程和测试框架 最后更新 2014 1 19 引言 接续着之前的文章 虽然隔得比较久 本文继续介绍以 Windows 平台为背景的 Python 开发相关的工具 希望能对你有所帮助 另外很多东西本文都是延续
  • html+css+javascript知识点总结

    一 html css 基础 1 1 Html 和 CSS 的关系 学习 web 前端开发基础技术需要掌握 HTML CSS JavaScript 语言 下面我们就来了解下这三门技术都是用来实现什么的 1 HTML 是网页内容的载体 内容就是
  • 14.12 修改职工信息

    14 12 修改职工信息 1 按照编号修改职工信息 先声明 修改职工 void mod Emp 再实现 就是把查到的职工删除 再在那个位置输入一个新职工 所以跟添加职工的代码很多地方一样 修改职工 void WorkerManager mo