Home > Backend Development > C++ > body text

C++ program that uses map STL to store students' student numbers and names

PHPz
Release: 2023-09-17 10:05:02
forward
736 people have browsed it

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

Suppose we have a map data structure of a student volume. The name of the volume is integer data and the name is string type data. On our standard input, we provide n queries. There must be two elements in each query (per row), or three elements for type 1 queries. The first item is the operator, the second is the volume, the third is the name, and for two-element queries, the second is the volume number. The operation is as follows -

  • Insert. This will insert the name into the map for the corresponding volume

  • removed. This will remove the corresponding roll number from the map if it exists.

  • search. This will search the map with the roll number for the name and display the name if present, otherwise display not found.

So if the input is something like n = 8, then the query = [[1,5,"Atanu"], [1,8,"Tapan"], [ 1,3,"Manish"],[2,8],[1,9,"Piyali"], [3,8],[3,3], [3,5]], then output will be [Not found, Manish, Atanu] because roll 8 does not exist and the name of the student in roll 3 is Manish and the name of the student in roll 5 is "Atanu".

To solve this problem, we will follow the following steps-

  • n := Query quantity li>
  • Define a mapping of integer type keys and string type values m.
  • When n is non-zero, reduce n in each iteration and execute:
      Get the current query type t
  • Get the volume number
  • If t Same as 1, then:
    • Get the name
    • m[roll] := name
  • ## Otherwise when t equals 2, then:
    • m[roll ] := empty string
  • otherwise
    • If m[roll] is not an empty string, then:
      • Display m[roll]
    • Otherwise
      • Display "Not Found"
##Example

Let us see the following implementation for better understanding -

#include <iostream>
#include <map>
using namespace std;
int main(){
    int n;
    cin >> n;
    map<int, string> 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;
        }
    }
}
Copy after login

Input

8
1 5 Atanu
1 8 Tapan
1 3 Manish
2 8
1 9 Piyali
3 8
3 3
3 5
Copy after login

Output

Not found
Manish
Atanu
Copy after login

The above is the detailed content of C++ program that uses map STL to store students' student numbers and names. For more information, please follow other related articles on the PHP Chinese website!

source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template