3029: 【普及/提高-】【P5266】学籍管理
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:46
解决:16
题目描述
您要设计一个学籍管理系统,最开始学籍数据是空的,然后该系统能够支持下面的操作(不超过 条):
-
插入与修改,格式
1 NAME SCORE
:在系统中插入姓名为 NAME(由字母和数字组成不超过 20 个字符的字符串,区分大小写) ,分数为 () 的学生。如果已经有同名的学生则更新这名学生的成绩为 SCORE。如果成功插入或者修改则输出OK
。 -
查询,格式
2 NAME
:在系统中查询姓名为 NAME 的学生的成绩。如果没能找到这名学生则输出Not found
,否则输出该生成绩。 -
删除,格式
3 NAME
:在系统中删除姓名为 NAME 的学生信息。如果没能找到这名学生则输出Not found
,否则输出Deleted successfully
。 -
汇总,格式
4
:输出系统中学生数量。
样例输入 复制
5
1 lxl 10
2 lxl
3 lxl
2 lxl
4
样例输出 复制
OK
10
Deleted successfully
Not found
0
提示

#include<bits/stdc++.h> using namespace std; int n,opt,num,ans; string name; map<string,int> ds; int main(){ cin >> n; while (n--){ cin >> opt; if (opt == 1) { cin >> name >> num; ds[name] = num; //这里对映射表name所对应的值修改为num cout << "OK" << endl; }else if (opt == 2) { cin >> name; if (ds.find(name) != ds.end()) cout << ds[name] <<endl; else cout << "Not found" <<endl; }else if (opt == 3) { cin >> name; if (ds.find(name) != ds.end()) { ds.erase(name); cout << "Deleted successfully" << endl; }else cout << "Not found" <<endl; }else cout << ds.size() << endl; } return 0; }