将string对象乘以const int c++


#include <iostream>
#include <string>
using namespace std;

int main() {

//declaring cin inputs
string userName;
string userMiles;
string userSteps;


//declaring constant for number of steps/mile
const int stepsPerMile = 2000;   

//getting user's name
cout << "What is the user's name?";
cin >> userName;
cout << endl;

//getting miles walked
cout << "How many miles did " << userName << " hike today?";
cin >> userMiles;
cout << endl;

//getting other steps taken
cout << "How many other steps did " << userName << " take today?";
cin >> userSteps;
cout << endl;

string stepsTakenFromMiles;
string totalSteps;

stepsTakenFromMiles = userMiles * stepsPerMile;
totalSteps = stepsTakenFromMiles + userSteps;

cout << userName << " took " << totalSteps << " steps throughout the day." << endl;

return 0;
}

我试图将userMiles (string)乘以stepsPerMile (const int),并且我一直得到一个错误,即它们不匹配操作数类型。我必须使用stepsPerMile作为const int,并且不能更改它。如何更改代码以允许这两个输入相乘?

读取userMilesuserSteps为整数,而不是字符串。operator>>可以读取许多不同的类型,而不仅仅是std::string。尝试使用int代替,以匹配您的stepsPerMile常数,例如:

#include <iostream>
#include <string>
using namespace std;
int main() {

//declaring cin inputs
string userName;
int userMiles;
int userSteps;

//declaring constant for number of steps/mile
const int stepsPerMile = 2000;   

//getting user's name
cout << "What is the user's name?";
cin >> userName;
cout << endl;

//getting miles walked
cout << "How many miles did " << userName << " hike today?";
cin >> userMiles;
cout << endl;

//getting other steps taken
cout << "How many other steps did " << userName << " take today?";
cin >> userSteps;
cout << endl;

int stepsTakenFromMiles;
int totalSteps;

stepsTakenFromMiles = userMiles * stepsPerMile;
totalSteps = stepsTakenFromMiles + userSteps;

cout << userName << " took " << totalSteps << " steps throughout the day." << endl;

return 0;
}

演示

一个不错的程序,我检查了一下。很酷的节目,我喜欢。我想解决这个问题。不将userMiles设置为字符串,而是将其设置为int,如下所示

#include <iostream>
#include <string>
using namespace std;

int main() {

//declaring cin inputs
string userName;
int userMiles;
string userSteps;


//declaring constant for number of steps/mile
const int stepsPerMile = 2000;   

//getting user's name
cout << "What is the user's name?";
cin >> userName;
cout << endl;

//getting miles walked
cout << "How many miles did " << userName << " hike today?";
cin >> userMiles;
cout << endl;

//getting other steps taken
cout << "How many other steps did " << userName << " take today?";
cin >> userSteps;
cout << endl;

string stepsTakenFromMiles;
string totalSteps;

stepsTakenFromMiles = userMiles * stepsPerMile;
totalSteps = stepsTakenFromMiles + userSteps;

cout << userName << " took " << totalSteps << " steps throughout the day." << endl;

return 0;
}

更改您的标识符

int userMiles, userMiles;

因为在c++中你不能对字符串使用乘法运算符,这实际上可以在其他编程语言中使用,比如python,比如当你用一个字符串乘以一个数字时,字符串会重复,但是在c++中你不能对字符串使用算术运算符,除了"+"可用于连接2个或更多字符串。这是一个c++初学者的课程,检查它,希望它有帮助

最新更新