猿问

怎么判断C++的数据类型

比如inta;cin>>a;判断a是不是int型的,如果不是从新输入,而且不只一次输错,直到输入a为int型,才继续,,。各位高手支个招吧,谢了...

慕桂英3389331
浏览 2147回答 4
4回答

慕运维8079593

根据你的问题,我的c++代码实现如下://ps:&nbsp;VC++&nbsp;6.0下编译通过#include <iostream>#include <limits>using namespace std;int main(){int a;while(true ){cin>>a;if(cin.good() && getchar() != '.') { //input an real number also is not allowed1: getchar() != '.'break;}else { //clean the buffer//cout<<"Error! Try agin:" ;cin.clear();cin.ignore( std::numeric_limits<std::streamsize>::max(), '\n' );}}cout<<"a = "<<a<<endl;return 0;}另外:用typeid(var_name)可以判定任意变量的数据类型.通过实验你可以看到不同的数据类型会有对应的一个字母表示int--i double--d char--c bool--b 等等.========================例子:#include<typeinfo>#include<iostream>using namespace std;int main(){int a = 10;cout<<typeid(a).name()<<endl;double b = 1000.22;cout<<typeid(b).name()<<endl;return 0;}

qq_笑_17

用一个char数组或char*存输入,遍历,如果找到'.'为f,否则i

跃然一笑

int a,j;double i=0.5;while(i!=0){cin>>a;j=int(a);i=a-j;}
随时随地看视频慕课网APP
我要回答