题目描述
您要设计一个学籍管理系统,最开始学籍数据是空的,然后该系统能够支持下面的操作(不超过 条):
- 插入与修改,格式
1 NAME SCORE
:在系统中插入姓名为 NAME(由字母和数字组成不超过 20 个字符的字符串,区分大小写) ,分数为 SCORE(0<SCORE<231) 的学生。如果已经有同名的学生则更新这名学生的成绩为 SCORE。如果成功插入或者修改则输出OK
。 - 查询,格式
2 NAME
:在系统中查询姓名为 NAME 的学生的成绩。如果没能找到这名学生则输出Not found
,否则输出该生成绩。 - 删除,格式
3 NAME
:在系统中删除姓名为 NAME 的学生信息。如果没能找到这名学生则输出Not found
,否则输出Deleted successfully
。 - 汇总,格式
4
:输出系统中学生数量。
输入格式
无
输出格式
无
输入输出样例
输入 #1
5 1 lxl 10 2 lxl 3 lxl 2 lxl 4
输出 #1
OK 10 Deleted successfully Not found 0
#include<iostream>
#include<map>
using namespace std;
int t;
map<string, int> m;
int main()
{
cin>>t;
while(t--)
{
int k;
cin>>k;
if(k==1)
{
string s;
int n;
cin>>s>>n;
m[s] = n;
cout<<"OK"<<endl;
}
if(k==2)
{
string s; cin>>s;
if(m.count(s)) cout<<m[s]<<endl;
else cout<<"Not found"<<endl;
}
if(k==3)
{
string s; cin>>s;
if(m.count(s))
{
m.erase(s);
cout<<"Deleted successfully"<<endl;
}
else cout<<"Not found"<<endl;
}
if(k==4)
{
cout<<m.size()<<endl; //这里不加 endl 不行
}
}
return 0;
}