1 / 1 / 0
Регистрация: 11.03.2018
Сообщений: 112
1

Как можно упростить код?

16.10.2020, 17:43. Показов 942. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!Такой вопрос - можно ли упростить следующий код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if ((hour < 10) && (min < 10) && (sec < 10))
                cout << "0" << hour << ":" << "0" << min << ":" << "0" << sec << endl;
 
                if ((hour < 10) && (min < 10) && (sec >= 10))
                    cout << "0" << hour << ":" << "0" << min << ":" << sec << endl;
 
                if ((hour < 10) && (min >= 10) && (sec < 10))
                    cout << "0" << hour << ":" << min << ":" << "0" << sec << endl;
 
                if ((hour < 10) && (min >= 10) && (sec >= 10))
                    cout << "0" << hour << ":"<< min << ":"<< sec << endl;
 
                if ((hour >= 10) && (min < 10) && (sec >= 10))
                    cout << hour << ":" << "0" << min << ":" << sec << endl;
 
                if ((hour >= 10) && (min < 10) && (sec < 10))
                    cout << hour << ":" << "0" << min << ":" << "0" << sec << endl;
 
                if ((hour >= 10) && (min >= 10) && (sec < 10))
                    cout << hour << ":" << min << ":" << "0" << sec << endl;
 
                if ((hour >= 10) && (min >= 10) && (sec >= 10))
                    cout << hour << ":" << min << ":" << sec << endl;
Смысл программы в том,что вводится количество секунд,а затем конвертируется в чч:мм:сс
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <iostream>
using namespace std;
 
int main()
{
    int timesec; //переменная,отвечающая за число вводимых секунд
    int timecheck = 1; //переменная,отвечающая за знак вводимого количества секунд
    int hour; //переменная,отвечающая за кол-во часов
    int min; //переменная,отвечающая за кол-во минут
    int sec; //переменная,отвечающая за кол-во секунд
    int wish = 1; //переменная,отвечающая за ответ в цикле(да/нет)
    string no; //переменная,отвечающая за ввод да/нет
    cout << "Time formatter" << endl;
        while (wish == 1) //цикл,отвечающий за зацикливание калькулятора
        {
            cout << "input the number of seconds > ";
            while (!(cin >> timesec) || (cin.peek() != '\n') || timesec <0 || timesec > 999999999) //цикл,отвечающий за проверку вводимых типов данных
            {
                cin.clear();
                while (cin.get() != '\n');
                cout << "Error!\n" << "Try again.Enter the number of seconds > ";
 
            }
                hour = timesec / 3600;
                min = (timesec - hour * 3600) / 60;
                sec = timesec - hour * 3600 - min * 60;
                hour = (timesec / 3600) % 24;
 
                if ((hour < 10) && (min < 10) && (sec < 10))
                cout << "0" << hour << ":" << "0" << min << ":" << "0" << sec << endl;
 
                if ((hour < 10) && (min < 10) && (sec >= 10))
                    cout << "0" << hour << ":" << "0" << min << ":" << sec << endl;
 
                if ((hour < 10) && (min >= 10) && (sec < 10))
                    cout << "0" << hour << ":" << min << ":" << "0" << sec << endl;
 
                if ((hour < 10) && (min >= 10) && (sec >= 10))
                    cout << "0" << hour << ":"<< min << ":"<< sec << endl;
 
                if ((hour >= 10) && (min < 10) && (sec >= 10))
                    cout << hour << ":" << "0" << min << ":" << sec << endl;
 
                if ((hour >= 10) && (min < 10) && (sec < 10))
                    cout << hour << ":" << "0" << min << ":" << "0" << sec << endl;
 
                if ((hour >= 10) && (min >= 10) && (sec < 10))
                    cout << hour << ":" << min << ":" << "0" << sec << endl;
 
                if ((hour >= 10) && (min >= 10) && (sec >= 10))
                    cout << hour << ":" << min << ":" << sec << endl;
 
                cout << "Continue? (Y/N) > ";
 
                while (!(cin >> no) || (cin.peek() != '\n')) //цикл,отвечающий за проверку вводимых типов данных
                {
                    cin.clear();
                    while (cin.get() != '\n');
                    cout << "Continue? (Y/N) > ";
 
                }
 
                if (no == "N" || no == "NO" || no == "no" || no == "n" || no == "No" || no == "nO") //if,отвечающий за остановку цикла
                    return 0;
                if (no == "Y" || no == "y" || no == "Yes" || no == "YEs" || no == "YeS" || no == "yES" || no == "yEs" || no == "yeS" || no == "yes") // if,отвечающий за продолжение цикла
                    wish = 1;
 
                else //else,выводящий на цикл,который отвечает за момент,когда пользователь не ввел Y/N
                {
                    wish = 2;
 
                    while (wish == 2) //цикл,который отвечает за момент,когда пользователь не ввел Y/N
                    {
                        cout << "Write Y/N > ";
                        while (!(cin >> no) || (cin.peek() != '\n')) //цикл,отвечающий за проверку вводимых типов данных
                        {
                            cin.clear();
                            while (cin.get() != '\n');
                            cout << "Write Y/N > ";
 
                        }
 
                        if (no == "N" || no == "NO" || no == "no" || no == "n" || no == "No" || no == "nO")
                            return 0;
                        if (no == "Y" || no == "y" || no == "Yes" || no == "YEs" || no == "YeS" || no == "yES" || no == "yEs" || no == "yeS" || no == "yes")
                            wish = 1;
                    }
                }
            
        }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2020, 17:43
Ответы с готовыми решениями:

Подскажите, как можно упростить/укоротить код - мини-калькулятора?
Дорогие форумчане! Посоветуйте как можно укоротить, точнее упростить нижеследующий код: ...

можно ли упростить этот код ,код не мой просто нужно чтобы он был проще)
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;string&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt;...

Можно ли упростить код?
Есть последовательность тестов, можно ли сделать так, что бы каждый раз не писать if(бла бла бла)...

Записать целое число буквами (можно ли упростить код?)
Здравствуйте помогите упростить код. Условие: Напишите программу которая вводит целое число, не...

1
Модератор
Эксперт С++
13496 / 10751 / 6406
Регистрация: 18.12.2011
Сообщений: 28,687
16.10.2020, 18:21 2
Лучший ответ Сообщение было отмечено Tretlenz как решение

Решение

C++
1
2
3
4
5
6
7
8
9
if (hour < 10)
   cout << "0";
cout<<hour;
if (min < 10)
   cout << "0";
 cout<< min; 
 if (sec < 10))
   cout<< "0" ;
cout<< sec << endl;
1
16.10.2020, 18:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2020, 18:21
Помогаю со студенческими работами здесь

Как упростить код
Все работает, все компилируется... Можно как нибудь упростить код, сделать его более грамотным с...

Как можно упростить условие?
if ((student.exam == 3 &amp;&amp; sum == 14) || (student.exam == 4 &amp;&amp; sum / 4 == 19) || (student.exam == 5...

Как лучше упростить код?
Задача такая : Найти все простые числа в интервале от 1 до 100. # include &lt;iostream&gt; using...

Как можно упростить программу?(или подкорректировать)
(ссылка на задание) Вот мое решение : Код: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include...

Как уменьшить объем программы упростить код
Здравствуйте, вопрос такой, можно ли как то упростить данный код программы cделать меньшим по...

Подскажите как можно упростить присвоение числе переменным?!
// 400.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru