问题描述
我什至可能没有正确地问这个问题,但无论如何。在不久的将来,我可能还会有更多问题。这里的重点是使用重载函数(本示例中不包括双输入和空输入)。但我不确定为什么我的字符输入重载函数没有被执行。我知道我遗漏了一些东西,可能是传值,但我试图对它进行头脑风暴,但几乎无处可去。 顺便说一句,这与完成的代码相差甚远。这只是为了让输入的字符版本正确执行,同时保持作为重载函数。
#include <iostream>
#include <iomanip>
#include <string>
#include <cmath>
using namespace std;
char input(char letter,string prompt_text = "Enter your letter (a to z): ",string error_message_text = "Error! ")
{
while (true)
{
cout << prompt_text;
char letter{};
cin >> setw(1) >> letter;
tolower(letter);
if (not(isalpha(letter)))
{
cout << error_message_text;
cin.clear();
cin.ignore(INT_MAX,'\n');
}
else
{
return letter;
}
}
};
double input(double min_number=-100,double max_number=100,string prompt_text="Enter your number (-100 to 100): ",string error_message_text="Error! ")
{
cout<<prompt_text;
double number{};
cin>>number;
if (isalpha(number))
{
cout<<error_message_text;
}
return number;
};
// for getting a number
void input(double x,double y,string prompt_text="Enter your point: ")
{
cout<<prompt_text;
double point{};
cin>>point;
};
int main()
{
input();
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)