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

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

Войти
Регистрация
Восстановить пароль
 
iNsomNia7
2 / 2 / 0
Регистрация: 19.11.2012
Сообщений: 32
#1

Проверка на ввод отрицательного значения - C++

27.03.2013, 03:49. Просмотров 698. Ответов 2
Метки нет (Все метки)

Задача заключается в том, чтобы время в формате X часов Y минут Z секунд перевести в N секунд с помощью функции hms_to_secs;


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
43
44
45
46
47
48
//5.cpp
#include <iostream>
#include <conio.h>
using namespace std;
 unsigned long hms_to_secs(unsigned int hours, unsigned int min, unsigned int secs);
 
 void main()
 {
     unsigned int hours, min, secs;
     char dir = 'a';
     do
     {
         do
         {
             cout << "\nEnter number of hours: ";
             cin >> hours;
         }while(hours < 0);
         do
         {
             cout << "\nEnter number of mins: ";
             cin >> min;
         }while(min < 0);
         do
         {
             cout << "\nEnter number of secs: ";
             cin >> secs;
         }while(secs < 0);
 
         cout << hours << " hours " << min << " mins " << secs << " secs " << " is equal to " << hms_to_secs(hours, min, secs) << " secs";
 
         do
         {
             cout << "\nContinue?(y/n)";
             dir = getche();
         }while(dir != 'y' && dir != 'n');
 
     }while(dir != 'n'); 
 
     cout << endl;
     system("pause");
 
 }
 
 //-------------------------------------------------------------------------------------
 unsigned long hms_to_secs(unsigned int hours, unsigned int mins, unsigned int secs)
 {
     return (hours * 3600 + mins * 60 + secs);
 }
Проблема заключается в том, что при вводе отрицательного значения, программа должна вновь запрашивать значение, а она просто работает дальше..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2013, 03:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверка на ввод отрицательного значения (C++):

Проверка на ввод правильного значения - C++
Здравствуйте. Как сделать проверку на ввод правильного значения? У меня есть заранее известное значение &quot;name&quot;. Как сделать так, чтобы при...

Ввод чисел до первого отрицательного - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main() { int *arr=new int; //...

Присвоение отрицательного значения беззнаковому типу - C++
С клавиатуры (через &lt;iostream&gt;) считывается число в unsigned long long переменную. Как распознать, что введено отрицательное число? После...

Напишите программу, которая выдает запрос на ввод значения часов и значения минут. - C++
Условие: Напишите программу, которая выдает запрос на ввод значения часов и значения минут. Функция main() должна передать эти два...

Найти значения наибольшего отрицательного и наименьшего положительного элементов матрицы - C++
• Найти значения наибольшего отрицательного и наименьшего положительного элементов

В массиве определить сумму и количество элементов расположенных до первого отрицательного значения - C++
Ввести целочисленный массив, состоящий из 10 элементов. определить сумму и количество элементов, расположенных до первого отрицательного...

2
UnsKneD
алкокодер
154 / 150 / 11
Регистрация: 27.12.2012
Сообщений: 548
27.03.2013, 04:19 #2
Цитата Сообщение от iNsomNia7 Посмотреть сообщение
unsigned int hours, min, secs;
Используйте просто int
1
Ded_Vasilij
231 / 213 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
27.03.2013, 08:04 #3
можно например использовать такую процедуру
i
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
nt Readint()
{
    unsigned int a;
    cin >> a;
    if (!cin)
    {
        cin.clear();
        while (cin.peek() !='\n')
            cin.ignore();
        cin.ignore();
    }
    return a;
}
пишем
C++
1
int x = Readint();
и запрос на ввод будет продолжаться до тех пор, пока не будет введено положительное число, символы тоже ловит
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2013, 08:04
Привет! Вот еще темы с ответами:

Сделать так, чтобы при вводе отрицательного значения программа выводила errror - C++
Цикл WHILE. В этом коде нужно сделать так чтобы при вводе отрицательного значения программа выводила errror. Как это сделать ? Вот код. ...

Определить порядковые номера и значения первого положительного и п оследнего отрицательного элементов массива Z. - C++
http://www.cyberforum.ru/attachment.php?attachmentid=29664&amp;stc=1&amp;d=1272928037

Ввод и вывод массива целых чисел Вычислить сумму модулей элементов массива,располроженных после первого отрицательного - C++
Очень срочно,помогите пожалуйста,чем быстрее - тем лучше=) Ввод и вывод массива целых чисел.задания оформить в виде функции,глобальные...

Ввод и вывод массива целых чисел Вычислить сумму модулей элементов массива,располроженных после первого отрицательного - C++
Очень срочно,помогите пожалуйста,чем быстрее - тем лучше=) Ввод и вывод массива целых чисел.задания оформить в виде функции,глобальные...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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