使用map STL存储学生的学号和姓名的C++程序

使用map stl存储学生的学号和姓名的c++程序

假设我们有一个学生卷的地图数据结构,卷的名称是整型数据,名称是字符串类型数据。在我们的标准输入中,我们提供 n 个查询。在每个查询中(每行)必须有两个元素,对于类型 1 查询,必须有三个元素。第一项是运算符,第二项是卷,第三项是名称,对于双元素查询,第二项是卷号。操作如下 –

插入。这会将名称插入到相应卷的地图中

删除。这将从地图上删除对应的卷号(如果存在)。

搜索。这将在带有卷号的地图中搜索名称,如果存在则显示名称,否则显示未找到。

立即学习“C++免费学习笔记(深入)”;

因此,如果输入类似于 n = 8,则查询= [[1,5,”阿塔努”], [1,8,”塔潘”], [1,3,”曼尼什”],[2,8],[1,9,”皮亚利”], [3 ,8],[3,3], [3,5]],则输出将为 [Not found, Manish, Atanu],因为卷 8 不存在,卷 3 的学生姓名为 Manish,姓名为卷数为 5 的学生是“Atanu”。

为了解决这个问题,我们将按照以下步骤操作 –

n := 查询数量 li>定义一个整数类型键和字符串类型值的映射 m。当 n 非零时,在每次迭代中减少 n,执行:获取当前查询类型t获取卷号如果t与1相同,则:获取名称m[roll] := name否则当 t 等于 2 时,则:m[roll ] := 空字符串否则如果 m[roll] 不是空字符串,则:显示m[roll]否则显示“未找到”

示例

让我们看看以下实现,以便更好地理解 –

#include #include using namespace std;int main(){    int n;    cin >> n;    map m;    while (n--) {        int t;        cin >> t;        int roll;        cin >> roll;        if (t == 1) {            string name;            cin >> name;            m[roll] = name;        } else if (t == 2) {            m[roll] = "";        } else {            if(m[roll] != "")                cout << m[roll] << endl;            else                cout << "Not found" << endl;        }    }}

输入

81 5 Atanu1 8 Tapan1 3 Manish2 81 9 Piyali3 83 33 5

输出

Not foundManishAtanu

以上就是使用map STL存储学生的学号和姓名的C++程序的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1445351.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 22:25:48
下一篇 2025年12月17日 22:25:53

相关推荐

  • C中的数据类型

    在C语言中,变量与数据类型相关联。每种数据类型都需要一定的内存空间,并执行特定的操作。 C语言中有一些常见的数据类型: int – 用于存储整数值。 char – 用于存储单个字符。 float – 用于存储单精度浮点数。 double – 用于存储双…

    好文分享 2025年12月17日
    000
  • 递归地打印给定的模式

    在这里,根据给定的问题模式,需要使用递归方法来显示。 递归函数是一个调用自身n次的函数。程序中可以有n个递归函数。递归函数的问题在于它们的复杂性。 算法 STARTStep 1 -> function int printpattern(int n) If n>0 Printpattern…

    2025年12月17日
    000
  • C++程序以给定值为参数,找到双曲正弦反函数的值

    双曲函数是使用双曲线而不是圆定义的,与普通三角函数相当。它从提供的弧度角返回双曲正弦函数中的比率参数。但要做相反的事,或者换句话说。如果我们想根据双曲正弦值计算角度,我们需要像双曲反正弦运算一样的反双曲三角运算。 本课程将演示如何使用 C++ 中的双曲反正弦 (asinh) 函数,使用双曲正弦值(以…

    2025年12月17日
    000
  • 在C语言中,静态函数

    C 中的静态函数是作用域仅限于其目标文件的函数。这意味着静态函数仅在其目标文件中可见。通过在函数名称之前放置 static 关键字,可以将函数声明为静态函数。 演示这一点的示例如下 – 有两个文件 first_file.c 和第二个文件.c。这些文件的内容如下 – first…

    2025年12月17日
    000
  • 检查任意字符串的左移和右移是否会得到给定的字符串

    字符的集合由字符串数据类型表示。它使用字母、数字、符号和空格进行逻辑排列。大多数计算机语言使用单引号或双引号将字符串括起来,以区分它们与其他数据类型。 程序员经常使用字符串来进行一些输入和输出操作,存储和操作文本数据等。字符串的一些常见操作包括拼接(将两个或多个字符串合并)、提取子字符串(获取字符串…

    2025年12月17日
    000
  • 在C编程中,算术平均数

    算术平均值是一组数字的总和除以该集合中数字的数量。 算术平均值的基本属性 n 个数字 x1、x2、. 的平均值。 。 .,xn 是 x。如果每个观测值增加 p,则新观测值的平均值为 (x + p)。 n 数字 x1, x2, . 。 .,xn 是 x。如果每个观测值减少 p,则新观测值的平均值为 (…

    2025年12月17日
    000
  • 检查N个骰子的可见面的最大和是否至少为X

    在编程中解决复杂问题时,效率和准确性通常是至关重要的。其中一个特定的挑战是适当地确定N个骰子可见面的最大和是否等于或超过X。在本文中,我们评估了在C++编码中解决这个困难的各种方法,包括语法解释和逐步算法。此外,我们还将提供两个基于所提方法的真实、完整的可执行代码示例。到最后,您将清楚地了解如何在C…

    2025年12月17日
    000
  • C程序使用结构体存储库存系统

    结构是不同数据类型变量的集合,以单一名称分组在一起。 结构的特征 C 语言中结构的特征编程语言如下 – 可以通过使用赋值将不同数据类型的所有结构元素的内容复制到其类型的另一个结构变量 为了处理复杂的数据类型,最好在另一个结构中创建结构,这称为嵌套结构。 可以将整个结构、结构的各个元素和结…

    2025年12月17日
    000
  • 在C语言中,什么是简单断言?

    断言是一个语句,用于肯定地声明当到达该行代码时事实必须为真。 断言对于获取满足的预期条件很有用。 > 简单断言 简单断言可以通过assert(表达式)方法实现,该方法位于assert.h头文件中。 简单断言的语法如下 – 立即学习“C语言免费学习笔记(深入)”; assert(ex…

    2025年12月17日
    000
  • 使一个字符串等于另一个字符串所需删除的最长子字符串的长度

    在本文中,我们将讨论找到需要删除的最长子字符串的长度以使一个字符串等于另一个字符串的问题。我们将首先理解问题陈述,然后探索解决该问题的简单和有效的方法,以及它们各自的算法和时间复杂度。最后,我们将用 C++ 实现该解决方案。 问题陈述 给定两个字符串 A 和 B,确定需要从字符串 A 中删除的最长子…

    2025年12月17日
    000
  • C++程序填充数组的特定元素

    数组是一种同质数据结构,用于在连续的内存位置中保存相似类型的数据,可以使用基地址和索引进行访问。有很多不同的应用程序中,我们使用数组来保存适用于合适用途的数据。向数组中插入元素是一种繁琐的过程之一。我们可以通过循环从用户那里获取输入来插入它们,或者从文件中插入它们,或者还有其他一些插入它们的方法。初…

    2025年12月17日
    000
  • 匿名联合体和结构体在C语言中的应用

    这里我们来看看什么是C语言中的匿名联合体和结构体。匿名联合体和结构体就是未命名的联合体和结构体。由于它们没有名称,因此我们无法创建它的直接对象。我们将其用作嵌套结构或联合。 这些是匿名联合和结构的示例。 struct { datatype variable; …};union { datatyp…

    2025年12月17日
    000
  • 计算通过交换给定数组中字符串对的第一个字符而得到的新字符串对的数量

    在这个问题中,我们需要选择一对字符串并交换它们的第一个字符。之后,我们需要计算新对的总数。我们可以通过交换每对的第一个字符并检查它是否存在于数组中来解决这个问题。 解决这个问题的高效方法是使用哈希映射数据结构。 问题陈述 – 我们有一个包含N个字符串的数组。我们可以从所有数组元素中选择任…

    2025年12月17日
    000
  • 使用位运算进行加法和乘法的C程序

    按位运算符对位进行运算(即对操作数的二进制值进行运算) 运算符 描述 &按位AND|按位或^按位异或左移>>右移-补码 按位与 aba & b0 00010100111 按位或 aba | b000011101 tr>111 按位异或 a ba^b000011101…

    2025年12月17日
    000
  • 3路快速排序(荷兰国旗问题)

    在这里,我们将看到快速排序技术,但我们将使用三路快速排序。基本的快速排序技术只是找到一个元素作为枢轴,然后围绕枢轴对数组进行分区,之后,在枢轴的左右子数组上递归。 三路快速排序类似,但有三个部分。数组arr[1到n]被分为三个部分。 arr[1到i]arr[i + 1, j]arr[j + 1, n…

    2025年12月17日
    000
  • 将给定的二叉搜索树中的所有较大值添加到每个节点中

    在这里我们将看到一个有趣的问题,我们将为一个给定的二叉搜索树中的每个节点添加更大的值。因此,初始和最终的树将如下所示 – 算法 bstUpdate(root, sum) – Begin if root is null, then stop bstUpdate(right of…

    2025年12月17日
    000
  • 算法是一种用于解决问题的有序步骤的描述。在C语言中,算法是以编程方式实现的一系列指令。流程图是一种图形化表示算法的工具,它使用不同的符号和箭头来表示不同的操作和流程

    算法是一种逐步解决问题的过程。如果它以类似英语句子的形式书写,则被称为“伪代码”。 算法的特性 算法必须具备以下五个特性: 输入输出有限性明确性有效性 示例 求三个数的平均值的算法如下: 开始读取三个数a、b、c计算总和=sum(a+b+c)计算平均值=总和/3打印平均值结束 流程图 算法的图示表示…

    2025年12月17日 好文分享
    000
  • C程序打印“偶数”或“奇数”,不使用条件语句

    在本节中,我们将看到如何在不使用任何条件语句(如,>=,==)的情况下检查一个数是奇数还是偶数。 我们可以通过使用条件语句轻松地检查奇数还是偶数。我们可以将数字除以2,然后检查余数是否为0。如果为0,则是偶数。否则,我们可以将数字与1进行AND运算。如果答案为0,则是偶数,否则为奇数。 这里不…

    2025年12月17日
    000
  • C++程序以查找数组中第二大的元素

    数组的目的是将相似类型的数据存储在一系列可以使用基地址和索引访问的内存位置中。我们在许多不同的应用程序中使用数组来保存用于各种目的的数据。查找最小和最大元素是数组的一个相当常见的示例,在包括排序等在内的多个应用程序中都需要数组。在本文中,我们将了解如何在 C++ 中从数组中查找第二大元素。 通过示例…

    2025年12月17日
    000
  • 编写一个使用time.h库函数的C程序

    问题 如何使用C语言以ISO标准格式显示当前日期和时间? 解决方案 当前日期和时间将获取输入的时间,并尝试以 ISO 格式打印系统时间和日期。 例如,2020 年 12 月 15 日星期一 10:50。 构建的- 我们在此程序中使用的函数为 – Time() – 返回当前时间…

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信