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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
#1

if/else if коряво работает - C++

28.11.2012, 16:27. Просмотров 275. Ответов 6
Метки нет (Все метки)

Здарвствуйте, что-то неправило работает программа.
думалось, что если времмы в формате hh:mm:ss введено корректно пишетса что правелон
а если там какието заоблочные цифры, то выдаёт что неверный формат, а у меня всегда правильно пишет.
C++
1
2
3
4
5
6
7
8
9
10
11
...
     if(00 <= hh <= 23 && 00 <= mm <= 59 && 00 <= ss <= 59)
      {
            cout << " Correct " << endl;
      }
      
      else if( 23 < hh < 00 && 59 < mm < 00 && 59 < ss < 00 )
      {
           cout << " not true format "<< endl;
      }
 ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2012, 16:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос if/else if коряво работает (C++):

Коряво работает сброс рандома - C++
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;cstdlib&gt; using namespace std; //функция модуль double aabs(double a, double...

Коряво работает асинхронная передача и прием - C#
Пишу клиент серверный чат.. все почти работает правильно... основная проблема в том что, если сервер посылает сообщение, то оно приходит...

Коряво работает перебор писем в OutLook - VBA
Помогите пожалуйста ! Есть скрипт, который помечает все непрочитанные письма в общей папке Outlook как прочитанные. Sub AO31() ...

коряво выводит сайт - HTML, CSS
Здраствуйте.. такая проблема выводит неправильно таблицу с названиями уроков....дизайн как бы лломается .... подскажите что исправить?...

Коряво заносит в бд дату - PHP
Привет всем. У меня почему то при выборе некоторых месяцев (к примеру декабрь) и соответствующей ему день 31 после занесения в бд...

Коряво отображаются числа - Delphi БД
Всем доброго время суток. У меня создана база в Access. В базе имеется поле типа одинарное с плавающей точкой. Добавлю в это поле данные...

6
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
28.11.2012, 16:33 #2
C++
1
if(00 <= hh <= 23)
- это неправильная запись. Надо:
C++
1
if(hh >= 0 && hh <= 23)
1
Vourhey
Почетный модератор
6482 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
28.11.2012, 16:33 #3
Цитата Сообщение от mster-doc Посмотреть сообщение
00 <= hh <= 23
Фигасе =)))) Что такое 00? почему 00? И перепиши каждое условие, через &&
1
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,386
Завершенные тесты: 1
28.11.2012, 16:36 #4
Цитата Сообщение от mster-doc Посмотреть сообщение
00 <= hh <= 23
Так писать нельзя. Это логическая ошибка. Сначала сравнивается 0 c hh, если hh больше или равно нулю, то результат равен 1, и эта единица сравнивается с 23. Это условие всегда истинно, так как результат первой операции может быть равен только единице ( true ) или 0 ( false ). А 0 и 1 меньше 23.
C++
1
0 <= hh && hh <= 23
Точно так же исправьте в остальных частях.
1
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
28.11.2012, 16:47  [ТС] #5
а как тогда сделать что бы компьютер различал 2:2:2 от 2:02:02

Добавлено через 7 минут
C++
1
2
3
4
5
6
7
8
9
      if(00 <= hh && hh <= 23 && 00 <= mm && mm <= 59 && 00 <= ss && ss <= 59)
      {
            cout << " Correct " << endl;
      }
      
      else if( 23 < hh && hh < 00 && 59 < mm && mm < 00 && 59 < ss && ss < 00 )
      {
           cout << " not true format "<< endl;
      }
теперь она не нишет ничего (ни правильно, ни неправильно) если я ставлю например 99 часов
0
Vourhey
Почетный модератор
6482 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
28.11.2012, 16:51 #6
Зачем тебе else if? Если хотя бы одно из первых условий не выполнится - данные уже не валидны, нафига еще какие-то проверки делать?
0
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
28.11.2012, 16:51 #7
C++
1
2
3
4
if(hh >= 0 && hh <= 23 && mm >= 0 && mm <= 59 && ss >= 0 && ss <= 59)
    cout << " Correct " << endl;
else 
    cout << " not true format " << endl;
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2012, 16:51
Привет! Вот еще темы с ответами:

Элемент Switch отображается коряво - Программирование Android
Возникла проблема: элемент Switch в xml файле на некоторых смартфонах отображается нормально (в выключенном состоянии переключатель...

Windows 7 коряво воспроизводит звук - Windows 7
У меня на ноуте 4 колонки. Прикол в том, что 7 видит их не как одну целую аудиосистему, а как 2 пары колонок. Как следствие она...

Коряво отображается сайт в IE8 - HTML, CSS
Всем доброго вечера! Сайт http://aquasilver.ru/ в Chrome и IE9 отображается нормально, а в IE8 коряво. Подскажите, пожалуйста, где...

Коряво выводиться любой слайдер на joomla - Joomla
Поменял около 10 слайдеров и не один не выводится так как в демо. Пробовал менять настройки, менять позиции, все бесполезно. Шаблон...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
28.11.2012, 16:51
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru