第一次發佈,所以要溫柔。我已經開始自學C++了,因爲我一直有興趣,並且對將來的工作也很有用。使用輸入字符串作爲函數名稱C++
好吧,所以我寫了一個非常基本的程序,可以根據用戶輸入添加,減去,乘除或除。
我的問題是我可以使用用戶輸入作爲字符串,並使用它來調用一個函數?
見下面的代碼: -
#include <iostream>
#include <string>
using namespace std;
// Addition Function
int Add (int a, int b)
{
int r; //Result
r=a+b; //formula
return r; //return result of formula
}
// Subtraction Function
int Subtract (int a, int b)
{
int r; //Result
r=a-b; //formula
return r; //return result of formula
}
// Multiply Function
int Multiply (int a, int b)
{
int r; //Result
r=a*b; //formula
return r; //return result of formula
}
// Divide Function
int Divide (int a, int b)
{
int r; //Result
r=a/b; //formula
return r; //return result of formula
}
// Main
int main()
{
int ip1, ip2, z;
string option;
cout << "Enter first number: ";
cin >> ip1;
cout << "Enter second number: ";
cin >> ip2;
cout << "What would you like to do?, Please type an option (Options: Add, Subtract, Multiply, Divide)\n";
getline(cin,option);
z = option (ip1,ip2);
cout << "The result is " << z;
}
所以我要求用戶輸入一個選項,即添加,然後程序佔用該字符串(添加),並使用它來調用添加功能。
目前即時得到一個「敵不過呼叫 '(的std :: string {又名性病:: basic_string的})(INT &,詮釋&)' 的錯誤在編譯
任何幫助,將不勝感激
感謝 劉易斯
你可以使用'std :: map>',然後執行'z = myMap [option](ip1,ip2);' –
Borgleader