IF语句中包含多个条件
Multiple condiotions in an IF Statement
我得到一个错误,我不明白,因为我是新的c++。if
语句在条件
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main()
{
string username;
int password;
cout << " Welcome User, Please Login." << endl;
//Username
cout << "Username: ";
cin >> username;
//Password
cout << "nPassword: ";
cin >> password;
if (username == 'admin' && password == '852456')
cout << "Welcome." <<endl;
else
cout << "Wrong credentials." <<endl;
return 0;
}
if (username == 'admin' && password == '852456')
if (username == "admin" && password == 852456)
使用'admin'
没有意义,这些标记仅用于char alpha = 'a'
等字符。"
用于字符串(多个字符)。数字不需要这些,它们只是数字。
虽然密码声明为int类型
int password;
您正在使用多字符字面量'admin'和'852456'
if (username == 'admin' && password == '852456')
^^^^^^^^ ^^^^^^^^
这些整数值是实现定义的。
根据c++标准(2.14.3字符字面量)
- …包含一个以上c字符的普通字符字面量是amulticharacter文字。一个多字符文本,或一个普通字符中不能表示的单个c字符的字符字面量执行字符集,受条件支持,类型为int和有一个实现定义的值
我想你是要比较密码与整数字面值和用户名与字符串字面值
if (username == "admin" && password == 852456 )
也就是说你必须使用字符串和整数字面值
如果编译器支持c++ 2014,则可以在整型文字中使用单引号。例如
if (username == "admin" && password == 852'456 )
字符串用双引号括起来。
如果用户名是字符串类型而不是char类型,则应该使用双引号而不是单引号。接下来是密码,它是整数类型。它不需要任何类型的单引号或双引号。
相关文章:
- C++ 在堆栈中包含多态属性的类对象存储
- 即使我没有包含多个文件,C++中的多个定义错误
- 实现包含多个 QQuickPaintedItems 的 QQuickView 的滚动
- C++文件包含多行
- 如何存储包含多个空格的字符串 c++
- 如果代码包含多个复杂度循环,如何计算复杂度
- 将包含多个元素的字符串作为输入并转换为矢量 C++
- 编译时条件包含.分段标头与包括整个实现
- 项目中包含多个相同的头文件:C与C++
- 当我在结构中包含多个数组时,我的程序会跳过一堆代码
- 如何检查一个字符串是否包含多个其他字符串?
- 带有自动initializer_list包含多个表达式
- 释放包含多个向量的结构的内存
- 如何检查数组是否包含多个元素?
- 如何在 arduino 库中包含多个目录
- std::bind to a std::variant 包含多个 std::函数类型
- GDB / C++ - 根据循环条件将多个变量记录到输出文件中
- 具有不同条件的多个 for 循环
- 最快/最小方法检查字符串是否包含多个单词
- IF语句中包含多个条件