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

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

Войти
Регистрация
Восстановить пароль
 
user-men
22 / 22 / 8
Регистрация: 17.02.2014
Сообщений: 307
#1

более компактный код - C++

11.03.2014, 00:19. Просмотров 235. Ответов 1
Метки нет (Все метки)

нужна замыниты вес то что я написал в функции void n() на более компактный код (суть кода выравнивать столбик

более компактный код

)
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
//Calculator
#include<iostream>
#include<conio.h>
 
using namespace std;
struct XY
{
    int x;
    int y;
    int sum;
    char z;
    char n[4];
}number,in;
void Add_Numbers();
void n();
 
void Input_Output()
{
    cout << "Calculator\n";
    cin >> number.x>>number.z>>number.y;
    system("cls");
}
 
int main(void)
{
    Input_Output();
    switch (number.z)
    {
    case '+':Add_Numbers(); break;
    }
    _getch();
}
 
void Add_Numbers()
{
    number.sum = number.x + number.y;
    in.sum = number.y - number.x;
    n();
    cout << number.z << in.n << number.x << "\n " << number.y << "\n " << number.n << " \n " << number.sum;
}
 
 
 
 
 
void n()
{
    if (number.sum < 9 && number.sum >0)
    {
        number.n[0] = '_';
    }
    if (number.sum < 99 && number.sum>9)
    {
        number.n[0] = '_';
        number.n[1] = '_';
    }
    if (number.sum < 999 && number.sum>99)
    {
        number.n[0] = '_';
        number.n[1] = '_';
        number.n[2] = '_';
    }
    if (number.sum < 9999 && number.sum>999)
    {
        number.n[0] = '_';
        number.n[1] = '_';
        number.n[2] = '_';
        number.n[3] = '_';
    }
    if (number.sum < 99999 && number.sum>9999)
    {
        number.n[0] = '_';
        number.n[1] = '_';
        number.n[2] = '_';
        number.n[3] = '_';
        number.n[4] = '_';
    }
    ///////////////////////////////////////////
 
    if (number.x < 9 && number.x >0)
    {
        if (in.sum < 99 && in.sum>9)
        {
            in.n[0] = ' ';
        }
        if (in.sum < 999 && in.sum>99)
        {
            in.n[0] = ' ';
            in.n[1] = ' ';
        }
        if (in.sum < 9999 && in.sum>999)
        {
            in.n[0] = ' ';
            in.n[1] = ' ';
            in.n[2] = ' ';
        }
        if (in.sum < 99999 && in.sum>9999)
        {
            in.n[0] = ' ';
            in.n[1] = ' ';
            in.n[2] = ' ';
            in.n[3] = ' ';
        }
    }
 
    if (number.x < 99 && number.x >9)
    {
        if (in.sum < 999 && in.sum>99)
        {
            in.n[0] = ' ';
        }
        if (in.sum < 9999 && in.sum>999)
        {
            in.n[0] = ' ';
            in.n[1] = ' ';
        }
        if (in.sum < 99999 && in.sum>9999)
        {
            in.n[0] = ' ';
            in.n[1] = ' ';
            in.n[2] = ' ';
        }
    }
 
    if (number.x < 999 && number.x >99)
    {
            if (in.sum < 9999 && in.sum>999)
            {
                in.n[0] = ' ';
            }
            if (in.sum < 99999 && in.sum>9999)
            {
                in.n[0] = ' ';
                in.n[1] = ' ';
            }
    }
 
    if (number.x < 9999 && number.x >999)
    {
            in.n[0] = ' ';
    }
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2014, 00:19     более компактный код
Посмотрите здесь:

Как сделать компактный код ? - C++
Ребят, дайте советы по тому как сделать свой код компактнее, красивее и читабельней. Вот пример моего стиля программирования : ...

Код более понятней сделать - C++
Помагите сделать код более понятней и читаемым #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; template &lt;class Type&gt;...

Компактный инструмент для создания DLL - C++
Народ привет. Есть небольшой код. Надо сделать DLL . Самое маленькое что нашел - Borland C++ . А есть еще что поменьше ?

Можно ли написать этот код более компактно? - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; void main() { int x, y; cout &lt;&lt; &quot;input x = &quot;; cin &gt;&gt; x; cout...

Как сделать данный код более логичным и читаемым? - C++
Здравствуйте. Есть код, который, очевидно, выглядит не совсем логично. Полагаю, что запись в файл нужно сделать отдельной функцией, но вот...

Можно ли написать более оптимальный код, используя цикл while? - C++
собственно сабж. #include &lt;iostream&gt; using namespace std; int main() { int x, y, s, step = 1; cout &lt;&lt;...

Необходимо преобразовать код в более простой - без функций, процедур и конструктора. - C++
Всем доброго вечера. Долгое время работал над программой, в плане её понимания. Попытался переработать в более простой вид - без функций,...

Можно ли написать более оптимальный или простой код, используя цикл for? - C++
собственно сабж. #include &lt;iostream&gt; using namespace std; int main() { int sum, count, ost; for (count = 0;...

Более 80 литер - C++
Напишите программу печати всех вводимых строк, содержащих более 80 литер.

Дописать условие и не более - C++
Определить значение функции = f (x) на промежутке с шагом h используя для вычисления значения функции под программу-функцию. y =...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
11.03.2014, 01:00     более компактный код #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
void Add_Numbers() {
    number.sum = number.x + number.y;
    in.sum = number.y - number.x;
    std::cout << std::setw( 8 ) << number.x << '\n'
              << "+\n" 
              << std::setw( 8 ) << number.y << '\n' 
              << std::setw( 9 ) << std::setfill( '_' ) << "\n" 
              << std::setw( 8 ) << std::setfill( ' ' ) << number.sum << '\n'<< std::endl;
}
Ответ Создать тему
Опции темы

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