相关疑难解决方法(0)

测试给定的数字是否为整数

我正在尝试实现用户定义的函数,该函数测试数字是否为整数:

#include <iostream>
#include <typeinfo>
using namespace std;
bool   integer(float k){
                  if (k==20000) return false;;
                  if (k==(-20000)) return  false;
 if (k==0)  return true;
   if (k<0)  return integer(k+1);
   else if(k>0)  return integer (k-1);
   return false;
}
int main(){

    float s=23.34;
       float s1=45;
       cout<<boolalpha;
       cout<<integer(s)<<endl;
       cout<<integer(s1)<<endl;
       return 0;

}
Run Code Online (Sandbox Code Playgroud)

所以我的想法是,如果一个数是一个整数,如果它是负数或正数无关紧要,如果我们减少或增加它,我们必须得到零,但问题是,我们怎样才能创建增减的下界?

c++ numbers

5
推荐指数
3
解决办法
4万
查看次数

如果用户不小心给出了错误的数据类型,cin 如何工作?

我是 C++ 的新手。我正在试验cin.

我想知道cin如果用户提供不正确的数据类型,将如何进行输入。所以我检查了 Stack Overflow 并得到了这个答案

当你读取一个整数并给它输入 1.5 时,它看到的是整数 1,它在句点处停止,因为它不是整数的一部分。“.5”仍在输入中。这就是你只得到整数部分的原因,这也是它似乎没有第二次等待输入的原因。

为了解决这个问题,您可以读取浮点数而不是整数,以便读取整个值,或者您可以检查读取整数后行中是否还有其他内容。

所以我尝试了它。

#include <iostream>

int main()
{
    std::cout << "Enter 4 numbers: " <<
    std::endl;
    int v1 = 0, v3 = 0;
    float v2 = 0, v4 = 0;
    std::cin >> v1 >> v2 >> v3 >> v4;
    std::cout  << "-> " << v1 << " " << v2 << " " 
    << v3 << " " << v4 << std::endl;    
    return 0; …
Run Code Online (Sandbox Code Playgroud)

c++ user-input cin

3
推荐指数
1
解决办法
99
查看次数

标签 统计

c++ ×2

cin ×1

numbers ×1

user-input ×1