输入INT和str并将其存储到两个单独的列表中 代码> int >和字符串< /C> >,程序将它们存储在C++中的两个单独的列表中。
我在输入INT和str并将其存储到两个单独的列表中 代码> int >和字符串< /C> >,程序将它们存储在C++中的两个单独的列表中。,c++,C++,我在if(isNum(input))上得到一个错误-无效参数;无法将输入从字符转换为字符串 #include <list> #include <iostream> using namespace std; bool isNum(string s) { for (int i = 0; i < s.length(); i++) if (isdigit(s[i]) == false) return false;
if(isNum(input))
上得到一个错误-无效参数;无法将输入从字符转换为字符串
#include <list>
#include <iostream>
using namespace std;
bool isNum(string s)
{
for (int i = 0; i < s.length(); i++)
if (isdigit(s[i]) == false)
return false;
return true;
}
int main(int argv, char* argc[])
{
int i;
string str;
list<int> l;
list<string> s;
char input;
do {
cin >> input;
if (isNum(input))
{
i = input;
l.push_front(i);
}
else
{
str = input;
s.push_back(str);
}
l.push_back(i);
s.push_back(str);
} while (i != 0);
l.sort();
list<int>::const_iterator iter;
for (iter = l.begin(); iter != l.end(); iter++)
cout << (*iter) << endl;
}
#包括
#包括
使用名称空间std;
bool isNum(字符串s)
{
对于(int i=0;i>输入;
if(isNum(输入))
{
i=输入;
l、 向前推(i);
}
其他的
{
str=输入;
s、 推回(str);
}
l、 推回(i);
s、 推回(str);
}而(i!=0);
l、 排序();
列表::常量迭代器iter;
对于(iter=l.begin();iter!=l.end();iter++)
cout这不是那么容易…但是我会让流来决定它是int
还是字符串
:
#包括
#包括
#包括
int main()//我们的程序不需要参数
{
std::列表字符串;
std::列表编号;
int-num;
做{
std::字符串str;
如果(std::cin>>num){//尝试读取整数,如果失败,num将为0
数字。向前推(数字);
}
如果(std::cin.clear(),std::cin>>str){//重置流标志,因为
strings.push_front(str);//我们只有在尝试
num=42;//否,不退出//提取整数失败。
}
}while(std::cin&&num!=0);//只要流是好的且num不是0
strings.sort();
std::cout这不是那么容易……但是我会让流来决定它是int
还是字符串
:
#包括
#包括
#包括
int main()//我们的程序不需要参数
{
std::列表字符串;
std::列表编号;
int-num;
做{
std::字符串str;
如果(std::cin>>num){//尝试读取整数,如果失败,num将为0
数字。向前推(数字);
}
如果(std::cin.clear(),std::cin>>str){//重置流标志,因为
strings.push_front(str);//我们只有在尝试
num=42;//否,不退出//提取整数失败。
}
}while(std::cin&&num!=0);//只要流是好的且num不是0
strings.sort();
std::cout输入的类型是char
,因此它将从输入中获取一个字符。这使得测试它是否表示一个数字变得简单。不需要isNum
——只需直接调用isdigit
一次。如果将其更改为std::string
,这将修复该错误,但i=输入是没有意义的。input
的类型是char
,因此它将从输入中获取一个字符。这使得测试它是否代表一个数字变得简单。不需要isNum
——只需直接调用一次isdigit
。如果您将其更改为std::string
,这将修复该错误,但是,i=input
就没有意义了。