27.03.2014, 17:01. Просмотров 625. Ответов 2
Код не мой взят из учебника.
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| #include <iostream>
#include<conio.h>
#include<cstring>
using std::cout;using std::endl;using std::strcmp;
int main() {
char passwd[17], ch;
bool flag = false;
int i = 0;
cout<<"Password:";
do {
ch=_getch();
if (i>15 || ch=='\r' || ch=='\n') {
flag=true;
passwd[i]='\0';
}
else if ( (ch>47 && ch<58) /*от 0 до 9*/
|| (ch>64 && ch<91) /*от A до Z*/
|| (ch>96 && ch<123)) /*от a до z*/
{
passwd[i]=ch;
cout<<'*';
++i;
}
else {
cout<<endl<<"Error"<<endl;
return 0;
}
} while (!flag);
if (strcmp(passwd, "test") == 0) {
cout<<endl<<"ok"<<endl;
}
else {
cout<<endl<<"Error"<<endl;
}
system("pause");
return 0;
} |
|
Как я понимаю код хоть и написать не самым лучшим образом (возможно для облегчения обучения), но на мой взгляд должен быть работоспособен. В книге написано, что русские символы отображаются не корректно, но программа при вводе русских символов прекращает работу, хотя вроде как должна выполнять данную стоку:
C++ |
1
| cout<<endl<<"Error"<<endl; |
|