gpt4 book ai didi

c++ - C++中比较数组的元素

转载 作者:太空宇宙 更新时间:2023-11-04 11:39:52 25 4
gpt4 key购买 nike

我们有一个模拟自动取款机功能的项目。用户必须输入密码,密码将被星号屏蔽。输入密码必须等于存储在数组中的默认密码。我的程序可以用星号屏蔽输入的密码,唯一的问题是即使输入的密码与默认密码相同,它仍然输出不正确。一定是什么问题?这是我的代码:

void checkPword()
{
char defaultPin[4] = "1234";
char inputPin[4] = "";

clrscr();
for (int cnt = 0; cnt <= 3; cnt++)
{
cout << "*";
inputPin[ctr];
}
if (defaultPin[0] == inputPin[0] && defaultPin[1] == inputPin[1]
&& defaultPin[2] == inputPin[2] && defaultPin[3] == inputPin[3])
{
clrscr();
cout << "pincode is correct";
}
else
{
clrscr();
cout << "pincode is incorrect";
}
}

最佳答案

也许您必须将 getch() 分配给 ctr?

ctr = getch();

里面...

PLUS:指令

inputPin[ctr];

没有效果!

您已添加:

inputPin[cnt] = putchar(ctr);

建议
为了使代码清晰,将“cnt”替换为“i”。

解决方案

char defaultPin[4]="1234";
char input[4] = "";
char currentChar;
bool pinFail = false;

for(int i=0; i != 3; i++) {
currentChar = getchar();
input[i] = currentChar;
/* In this way you have only 3 if-control, not 3*4 as in your program */
if(currentChar != defaultPin[i]) {
pinFail = true;
}
}

if(pinFail) {
/* do something (print error?) */
} else {
/* coutinue with your application */
}

关于c++ - C++中比较数组的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21774540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com