问题及代码:
/*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:崔青青
*完成日期:2016年6月4日
*版 本 号:v1.0
*问题描述:
*输入描述:无
*输出描述:无
*/
#include <iostream>
#include<map>
#include<algorithm>
#include<iterator>
#include<vector>
#include<functional>
#include<deque>
#include<utility>
using namespace std;
int main()
{
map<string,int>courses;
map<string,int>::iterator iter;
string name;
courses.insert(make_pair("CSAPP",3));
courses.insert(make_pair("C++",2));
courses.insert(make_pair("CSARCH",4));
courses.insert(make_pair("COMPILER",4));
courses.insert(make_pair("OS",5));
int n=3;
int sum=0;
while(n>0)
{
cin>>name;
iter=courses.find(name);
if(iter==courses.end())
{
cout<<name<<"is not available\n";
}
else
{
sum+=iter->second;
courses.erase(iter);
n--;
}
}
cout<<"Total credit:"<<sum<<endl;
return 0;
}
运行结果:
知识点总结:
map映射,insert插入函数,pair是将两个数据合成一个数据,而make_pair是生成一个pair对象,erase删除。
学习心得:
自己动手做一下这些程序,要比只读好得多。