C++ 我需要帮助将值与字符串关联,以便计算平均值

C++ 我需要帮助将值与字符串关联,以便计算平均值,c++,visual-c++,C++,Visual C++,我需要帮助将值关联到某些字符串,以便在用户输入后计算平均值。 所以我尝试使用string::find,因为这些值是连续的; 我最终得到了这个密码: string str1, str2, str3, str4, str5; string::size_type position; float media; str1 = "NSMBE"; cout << str1.find("N") +1 << endl; cout << str1.find("M") + 1 &

我需要帮助将值关联到某些字符串,以便在用户输入后计算平均值。 所以我尝试使用string::find,因为这些值是连续的; 我最终得到了这个密码:

string str1, str2, str3, str4, str5;
string::size_type position;
float media;
str1 = "NSMBE";
cout << str1.find("N") +1  << endl;
cout << str1.find("M") + 1 << endl;
cout << str1.find("M") + 1 << endl;
cout << str1.find("B") + 1 << endl;
cout << str1.find("E") + 1 << endl;
字符串str1、str2、str3、str4、str5;
字符串::大小\类型位置;
浮动介质;
str1=“NSMBE”;

cout如果试图将字符串(或字符)与值关联,则应使用关联容器,如
std::map
。我不确定我是否正确理解了你的问题,但这里有一些东西可以让你开始

#include <iostream>
#include <map>

using namespace std;
int main(int argc, char *argv[]) {
    string str1, str2, str3, str4, str5;
    str1 = "NSMBE";
    map<char, int> values;

    cout << "Enter a letter: ";
    for (char key; cin >> key; cout << "Enter a letter: ")
    {
        int val;
        cout << "enter a value: ";
        cin >> val;
        values[key] = val;
    }

    int sum = 0;
    for (char c : str1)
    {
        cout << "key = " << c << endl;
        sum += values[c];
    }
    cout << endl;
    cout << sum << endl;
    cout << "Value of the string: " << double(sum)/double(str1.size()) << endl;
}
#包括
#包括
使用名称空间std;
int main(int argc,char*argv[]){
字符串str1、str2、str3、str4、str5;
str1=“NSMBE”;
地图价值;
cout>键;cout val;
值[键]=val;
}
整数和=0;
用于(字符c:str1)
{

这是一个很棒的开始。