亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

怎么判斷C++的數據類型

怎么判斷C++的數據類型

C++
慕桂英3389331 2019-07-07 15:04:38
比如inta;cin>>a;判斷a是不是int型的,如果不是從新輸入,而且不只一次輸錯,直到輸入a為int型,才繼續,,。各位高手支個招吧,謝了...
查看完整描述

4 回答

?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

根據你的問題,我的c++代碼實現如下:

//ps: VC++ 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;
}



查看完整回答
反對 回復 2019-07-08
?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

用一個char數組或char*存輸入,遍歷,如果找到'.'為f,否則i

查看完整回答
反對 回復 2019-07-08
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

int a,j;
double i=0.5;
while(i!=0)
{
cin>>a;
j=int(a);
i=a-j;
}



查看完整回答
反對 回復 2019-07-08
  • 4 回答
  • 0 關注
  • 2193 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號