С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как осуществить ввод только чисел и знаков операций? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти внутрение углы треугольника,заданного координатами своих вершин на площаде. http://www.cyberforum.ru/cpp-beginners/thread567684.html
Найти внутрение углы треугольника,заданного координатами своих вершин на площаде. Заранее спасибо!!!!
C++ Линейный алгоритм Велосипедист проехал расстояние S км двигаясь первую часть пути со скоростью V1 км/час . а другую часть пути со скоростью V2 км/час . Сколько времени двигался велосипедист ? Заранее спасибо ! http://www.cyberforum.ru/cpp-beginners/thread567683.html
C++ Найти площадь боковой поверхности куба и его объем
Дана длина ребра куба. Найти площадь боковой поверхности куба и его объем. задана довжина ребра куба.знайти площу бокової поверхні куба та його обем. ААААА ПОМОГИТЕ
Функция для проверки правильности написания адреса почты C++
Написать функцию проверки правильности написания адреса почты. Функция возвращает указатель на переданную в неё строку с адресом почты, если адрес почты написан правильно, иначе возвращает NULL....
C++ Структура, проверьте код http://www.cyberforum.ru/cpp-beginners/thread567673.html
посомтрите пожалуйста задание и программу, правильно ли все написано? #include "stdafx.h" #include <conio.h> #include <stdlib.h> #define st struct st #define list struct dek list { int...
C++ Определить разницу площадей круга и квадрата Задан радиус круга К. Определить разницу площадей круга и квадрата, вписанного в этот круг. Заданий радіус кола К Визначити різницю площ кола і квадрата,вписаного в це коло. подробнее

Показать сообщение отдельно
vve
0 / 0 / 0
Регистрация: 16.10.2015
Сообщений: 2
04.10.2012, 22:13
Цитата Сообщение от denys_l Посмотреть сообщение
Прохоренок, 1 глава, 32 страница. Там приведен пример ввода пароля и проверки допустимых символов
Почему-то программа из этого примера работает не корректно.
После ввода пароля и нажатия клавиши "Enter" не появляется никакого сообщения о результате ввода пароля ... правильный он или нет.
Работает только та часть, где идет проверка допустимых символов.
В чем проблема?
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
38
39
40
41
42
#include <iostream>
#include <conio.h> // для getch()
#include <cstring> // для strcmp()
 
int main()
{
    char passwd[17], ch;
    bool flag = false; 
    int i = 0; 
    std::cout << "Password: ";
    do
    {
        ch = _getch();
        if(i > 15 || ch == '\r' || ch == '\n')
        {
            flag == true;
            passwd[i] = '\0';
        } 
        else if( (ch > 47 && ch < 58) || (ch > 64 && ch < 91) || (ch > 96 && ch < 123) )
        {
            passwd[i] = ch;
            std::cout <<'*'; 
            ++i;
        }
        else
        {
            std::cout << std::endl << "Error" << std::endl;
            return 0;
        }
    }
    while(!flag);
 
    if(std::strcmp(passwd, "test") == 0)
    {
        std::cout << std::endl << "Ok" << std::endl;
    }
    else 
    {
        std::cout << std::endl << "Error" << std::endl;
    }
    return 0;
}
Добавлено через 5 часов 51 минуту
Ошибка обнаружилась. Опечатался в 16 строке.
Надо
C++
1
flag = true;
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.