Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Некоректности в булевом выражении - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дан целочисленный массив, нужно исключить из него все нули http://www.cyberforum.ru/cpp-beginners/thread93105.html
Дан целочисленный массив, нужно исключить из него все нули. Если нулей нет-написать "сжатие невозможно". Составить динамический массив и ввод элементов я смогу. А как реализовать поиск 0 и их...
C++ Вычислить процент от общего количества Помогите пожалуйста разобратся с этой прогой: Написать прогамму, которая обрабатывает результаты экзамена. Для каждой оценки программа должна вычислить процент от общего количества оценок.... http://www.cyberforum.ru/cpp-beginners/thread93095.html
C++ Шахматная доска и строка
Есть 3 задачки, немного не соображу как их решить. Помогите горе-программисту :) 1) Поле шахматной доски определяется парой натуральных чисел, первое из которых задаст номервертикали, а второе-...
Матрица и элементы C++
Помогите решить задачу: Сформиромать матрицу С (N,M) элементами которой являются случайные числа, равномерно распределённые в интервале (-4.0, 8.2). Переставляя её строки и столбцы, добиться того,...
C++ Многомерные массивы. Операции с элементами массивов http://www.cyberforum.ru/cpp-beginners/thread93075.html
В данной действительной квадратной матрице порядка n найти сумму элементов строки, в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент единствен.
C++ Определить наименьшее время, которое должно пройти до того момента, когда часовая и минутная стрелки совпадут 1) Даны целые числа M и N (0<M<=12, 0<=N<=60), указывающие момент времени: «M часов, N минут». Определить наименьшее время (число полных минут), которое должно пройти до того момента, когда часовая и... подробнее

Показать сообщение отдельно
Critical
3 / 3 / 0
Регистрация: 06.02.2010
Сообщений: 14

Некоректности в булевом выражении - C++

06.02.2010, 22:46. Просмотров 346. Ответов 6
Метки (Все метки)

Я недавно начал изучать C++ и я немного преуспел (для начинающего), но тут меня кое-что конкретно тормознуло. Тормозом оказалась проблемка в этом коде:
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
#include <iostream>
#include <stdio.h>
using namespace std;
 
void HackAlert()
{
    string answer;
    cout << "Are you a hacker? (Y or N)" << endl;
    cin >> answer;
    if (answer == "N")
       {
       cout << "Huh... I was afraid." << endl;
       }
    else
    {
         cout << "You are an idiot" << endl;
    }
getchar();
}
int main()
{
    string password;
    cout << "Enter the password:" << endl;
    cin >> password;
    if (password == "I am a hero") ///Проблемка именно тут!!!
       {
       cout << "The password is correct!" << endl;
       }
    else
         {
         cout << "Password is incorrect!" << endl;
         HackAlert();
         }
getchar();
return 0;
}
Прошу всех, кто может откомпилировать и запустить. Дело в том, что при задании "password" и последующей проверке (если "password" ИСТИНА или переменная хоть где то содержит "I am a hero") оно просто игнорирует "else" и выполняет все команды в нем и когда он запускает "HackAlert" он даэе НЕ ТРЕБУЕТ ВВЕСТИ "answer".

Чем все это объясняется?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru