C++使用cin给变量一个非整数的值
C++ using cin to give a variable the value of a non-integer
我是C++的新手,决定做一个简单的计算器来帮助自己学习。我在添加一个非整数变量(在本例中为加号(时遇到问题。该怎么做?
这是代码:
#include <iostream>
using namespace std;
int main()
{
char problem;
int result;
int a;
int b;
cin >> a;
cin >> problem;
cin >> b;
result=a && problem && b;
cout << result << endl ;
return 0;
}
&&
不是算术运算符。它是逻辑和运算符,返回一个布尔值,即C++中的true
或false
。
如果您熟悉逻辑运算,应该知道只有true and true
返回true
。如果逻辑和运算符的任何一个操作数是false
,则整个表达式是false
。
接下来,在C++中,除了0
、NULL (nullptr)
和false
之外的所有项都被认为是true
,否则这三项都是false
。
因此,在你的实验中,我猜你总是输入非零元素,所以你的表达式总是true
。与其他编程语言(例如Python或Java(不同,C++不会自动打印布尔值的文本。它将仅为false
显示0
,为true
显示1
。因此,在您的演示中,您总是会在屏幕上看到1
。
以下是计算器的工作版本,不包含用户定义的操作:http://cpp.sh/7ckas
现在,如果你想让你的用户选择操作,那么你需要做更多的工作。你不能只用'&;'。相反,您需要创建某种抽象。
例如,你可以问用户,"选择一个操作:(1(加(2(减。"然后用户键入一个与他们想要的操作相对应的数字。
然后,您可以对该数字使用if语句。如果为1,则将数字相加。如果是2,减去它们。
你自己试试,如果你在让它发挥作用方面有任何困难,请告诉我。
相关文章:
- C++需要帮助从用户那里获得一个整数,并确保它在另外两个整数之间
- 当我们从/tp地址中添加/减去一个整数时会发生什么
- 如何将一个数组值合并为一个整数c++
- 为什么有时我输入一个整数,程序将第一个输入的数字打印成十进制数?
- 给定一个整数数组,需要在Max_Heap上运行操作。得到错误"segmentation fault",有什么想法吗?(C++)
- 我可以将迭代器递增一个整数吗?
- 有没有办法生成一个包含平方的序列,这些平方加起来就是一个整数平方?
- 为什么将两个浮点数相加会得到一个整数C++?
- 如果我们在其中输入一个整数,则字符会给出整数作为输出,但是当分配给它一个整数时,这不会发生。为什么?
- 给枚举一个整数,并在 C++ 中将其相关值作为字符串获取
- 按升序输出整数时,将最后一个整数放在新行上
- 编写一个程序,提示用户输入一个整数,然后输出数字的单个数字和数字的总和
- 给定一个整数 N>0,区间 [0, 2^N) 中有多少个整数正好有 N-1 个设置位?编写一个返回正确答案的简短函数
- 给定一个整数,将其表示为平方和
- c++interpret_cast是一个整数
- 以最少的步骤将给定整数转换为另一个整数
- 当 map 是一个整数数组并且由 operator[] 创建时,它是否初始化其映射类型
- 我需要将字符串(例如 A5)转换为一个字符串 (A) 和一个整数 (5)
- 如何交替从文件中获取一行数据和一个整数?
- 如何让这个C++代码从用户那里读取五个整数而不是一个整数?