如何将字符串中各个数字的值相加?

Aiv*_*Aiv 1 c++ string for-loop cin range-based-loop

我想获得用户输入的ID的各个数字的总和。到目前为止,这是我拥有的代码,我的代码可以计算用户输入中的字符数,但我希望它也计算各个数字的总和。

// user prompt for student id
cout << "Type in your student login ID: "; 

string studentId;

// user input of student ID
getline(cin, studentId); 

// computer output of studentId
cout << "Student ID Sum: " << studentId.length() << endl; 
Run Code Online (Sandbox Code Playgroud)

Vla*_*cow 5

只需使用基于范围的 for 循环即可。举例来说

unsigned int sum = 0;

for ( const auto &c : studentId )
{
    if ( '0' <= c && c <= '9' ) sum += c - '0';
}      
Run Code Online (Sandbox Code Playgroud)