C++中如果把一个字母输入整形变量...

例如:voidmain(){intk;cin>>k;cout<<k;}如果在对k进行输入时,不小心输入了一个字母...如何解决这种问题?再例如这段,如何解决死循环的问题。... 例如:
void main()
{
int k;
cin >>k;
cout <<k;
}
如果在对k进行输入时,不小心输入了一个字母...如何解决这种问题?
再例如这段,如何解决死循环的问题。
for (;;)
{
int v;
cin >>v;
if (v>0)
{
comnumber=v;
break;
}
else
{
cout <<"警告!非法输入。请重新输入。" <<endl;
continue;
}
展开
 我来答
阿辉日记
推荐于2018-04-18 · TA获得超过217个赞
知道答主
回答量:48
采纳率:0%
帮助的人:54.8万
展开全部
我研究过这个问题:基本上解决了只输入数字的问题:
#include <string>
#include<iostream>
using namespace std;
void main()
{
string a;
cin>>a;
for( ; ; )
{
if(a<"25"&&a>"0")
{
if(atof(a.c_str())==atoi(a.c_str()))
break;
else
{
cout<<"输入错误,请重新输入"<<endl;
cin>>a;
}
}
else
{
cout<<"输入错误,请重新输入"<<endl;
cin>>a;
}
}
cout<<a<<endl;
int b=atof(a.c_str());
cout<<b<<endl;
system("pause");
}
你试试!

补充: 其实你可以换种角度想这个问题,将你那个不知道是什么东西的comnumber变为char类型的,再进行判断不就可以了么?
假如你从键盘上输入的是17,你不要用%d去接收,用%s,转换成“17”,就好判断了;至于怎么判断,我上边有例子
金色潜鸟
2018-04-17 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5709万
展开全部
cin 输入以后,可以检查是否输入失败。失败了,让他再输入,成功了,往下走。
因为 cin.fail() 为真,就是失败。你可以这样写:
#include<iostream>
using namespace std;
#include <stdio.h>

int main()
{
int k;
do {
cin >> k;
if(cin.fail()) {
cin.clear();
cin.ignore();
cout << "Incorrect entry. Try again: ";
} else break;
} while (1);
cout << k;
return 0;
}
循环语句也可以用此 方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
037nyvjgi
2011-06-20 · TA获得超过2983个赞
知道大有可为答主
回答量:4464
采纳率:0%
帮助的人:0
展开全部
/ 是求商
% 是求余
要判断一个数能不能被整除用%
还有就是LZ的编程真的。。。
#include<iostream.h>这个是c的命令包含c++用#include<iostream>
而且c++里德main函数是正型的得返回值

cin>>x;
cout<<"写一个整数"<<endl;掉换一下,不然的话,等你输入数字按回车之后才显示出 写一个整数 起不到提示的效果
更改后的程序如下

#include<iostream.h>
int main()
{
int x;
cout<<"写一个整数"<<endl;
cin>>x;

if((x%3==0)&&(x%5==0))
cout<<"这个数能同时被3和5整除"<<endl;
if((x%3!=0)&&(x%5!=0))
cout<<"这个数不能被3和5整除"<<endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yong04461
2011-06-18 · 超过35用户采纳过TA的回答
知道答主
回答量:153
采纳率:0%
帮助的人:105万
展开全部
以字符串输入,判断每个字符。出错后规则自己确定就行了。
非法输入是不是一直到输入正确为止。不是的话可以设置出错次数就能跳出死循环啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cocopark1982
2011-06-18 · TA获得超过348个赞
知道小有建树答主
回答量:556
采纳率:0%
帮助的人:491万
展开全部
会出错
cin>>k
while(! cin. 一个状态检测函数)
{
重置cin 状态
cin>>k
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式