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

Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры) - C++

Восстановить пароль Регистрация
 
derzila
 Аватар для derzila
6 / 6 / 1
Регистрация: 23.04.2013
Сообщений: 42
24.05.2013, 14:36     Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры) #1
Данная программа высчитывает вес, исходя из заданной длины и диаметра арматуры. Диаметр арматуры расположен в промежутке четных чисел от 6 до 40. При вводе иного диаметра программа выдает сообщение "Неверный диаметр арматуры".
Вопрос: Как включить цикл в данную программу? Что бы после ответа "неверный диаметр арматуры" она возвращала к сообщению "Введите диаметр арматуры".
PS. Я вводил умножение для определенного диаметра отдельно, можно ли упростить данный цикл?

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
#include <iostream>
using namespace std;
 
bool isGoodDiameter( int d )
{
    if( d<6 || d>40 ) return false;
    return !(d%2);
}
 
int main()
{
    cout << "Vvedite dlinu armaturi: ";
    int l;                                     //длина арматуры
    cin >> l;
 
    cout << "Vvedite diametr armaturi: ";
    int d;                                    //диаметр арматуры
    cin >> d;
 
    if( !isGoodDiameter( d ) )
    {
        cout << "\nNeverniy diametr armaturi\n";
    }
    else
    {
        if ((d > 5) && (d < 7))
        cout << "\nVes armaturi " << 0.222*l << " kg";
        else
        {
            if ((d > 7) && (d < 9))
            cout << "\nVes armaturi " << 0.395*l << " kg";
            else
            {
                if ((d > 9) && (d < 11))
                cout << "\nVes armaturi " << 0.617*l << " kg";
                else
                {
                    if ((d > 11) && (d < 13))
                    cout << "\nVes armaturi " << 0.888*l << " kg";
                    else
                    {
                       if ((d > 13) && (d < 15))
                       cout << "\nVes armaturi " << 1.210*l << " kg";
                        else
                    {
                       if ((d > 15) && (d < 17))
                       cout << "\nVes armaturi " << 1.580*l << " kg";
                       else
                    {
                       if ((d > 17) && (d < 19))
                       cout << "\nVes armaturi " << 2*l << " kg";
                    }
                }
            }
        }
    }
        }
    }
    cout << "\n\nEnter any key to continue...\n";
    cin.get();
    return 0;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2013, 14:36     Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры)
Посмотрите здесь:

Использование замкнутого цикла C++
Использование цикла FOR.. C++
Использование операторов цикла C++
Использование операторов цикла C++
Программа, которая вводит текст, удаляет в нем все слова заданной длины, а оставшиеся слова выводит в алфавитн C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kondor1995
2 / 2 / 0
Регистрация: 21.05.2013
Сообщений: 33
24.05.2013, 15:28     Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры) #2
C++
1
2
    int d;                                    //диаметр арматуры
    cin >> d;
После этого этого вставляешь
C++
1
d = diametr( int d );
А вот функция
C++
1
2
3
4
5
6
7
int diametr( int d ){
    while(true){
        if( d >= 6 || d <= 40 ) return d;
        cout << "Diametr is wrong. Enter enother"; //Sorry, for my english
        cin >> d;
    }
}
derzila
 Аватар для derzila
6 / 6 / 1
Регистрация: 23.04.2013
Сообщений: 42
24.05.2013, 15:39  [ТС]     Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры) #3
Цитата Сообщение от kondor1995 Посмотреть сообщение
C++
1
d = diametr( int d );
Компилятор выдает ошибку в этой строке, если есть возможность можешь вставить данную функцию в исходный код? Заранее спасибо.
vetal0007
27 / 27 / 0
Регистрация: 11.02.2012
Сообщений: 299
24.05.2013, 16:18     Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры) #4
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
bool isGoodDiameter( int d )
{
    if( d<6 || d>40 ) return false;
    return !(d%2);
}
 
int diametr( int d ){
    while(true){
        if( d <= 6 || d >= 40 ) return d;
        cout << "Neverniy diametr armaturi. Vvedite drugoy\n";
        cin >>d;
    }
}
 
int main()
{
    cout << "Vvedite dlinu armaturi: ";
    int l;                                     //длина арматуры
    cin >> l;
 
    cout << "Vvedite diametr armaturi: ";
    int d;                                    //диаметр арматуры
    cin >> d;
    d = diametr( d );
 
    if( !isGoodDiameter( d ) )
    {
        cout << "\nNeverniy diametr armaturi\n";
    }
    else
    {
        if ((d > 5) && (d < 7))
        cout << "\nVes armaturi " << 0.222*l << " kg";
        else
        {
            if ((d > 7) && (d < 9))
            cout << "\nVes armaturi " << 0.395*l << " kg";
            else
            {
                if ((d > 9) && (d < 11))
                cout << "\nVes armaturi " << 0.617*l << " kg";
                else
                {
                    if ((d > 11) && (d < 13))
                    cout << "\nVes armaturi " << 0.888*l << " kg";
                    else
                    {
                       if ((d > 13) && (d < 15))
                       cout << "\nVes armaturi " << 1.210*l << " kg";
                        else
                    {
                       if ((d > 15) && (d < 17))
                       cout << "\nVes armaturi " << 1.580*l << " kg";
                       else
                    {
                       if ((d > 17) && (d < 19))
                       cout << "\nVes armaturi " << 2*l << " kg";
                    }
                }
            }
        }
    }
        }
    }
    cout << "\n\nEnter any key to continue...\n";
    cin.get();
    system ("pause");
    return 0;
    }
derzila
 Аватар для derzila
6 / 6 / 1
Регистрация: 23.04.2013
Сообщений: 42
24.05.2013, 16:38  [ТС]     Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры) #5
Спасибо большое, использую code::blocks, в библиотеке нету файла "stdafx.h".. ( Каким образом можно пополнить библиотеку?
vetal0007
27 / 27 / 0
Регистрация: 11.02.2012
Сообщений: 299
24.05.2013, 17:04     Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры) #6
Ты какой компилятор используешь?

Добавлено через 12 минут
Короче, выставь в свойствах проекта "Не использовать предварительно скомпилированные заголовки"
В 2012 => Проект=>Свойства=>С/С++=>Предварительно скомпилированные заголовки
BAADF00D
Заблокирован
24.05.2013, 17:13     Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры) #7
Цитата Сообщение от derzila Посмотреть сообщение
Спасибо большое, использую code::blocks, в библиотеке нету файла "stdafx.h".. ( Каким образом можно пополнить библиотеку?
нету да и нету. stdafx.h -- заголовок, включаемый только в MSVS, это "плюшка" для "удобства разработки". codeblocks поставляется с компиляторами (или без, в таком случае можно докачать отдельно и указать в среде пути к компилятору и отладчику) GCC.
derzila
 Аватар для derzila
6 / 6 / 1
Регистрация: 23.04.2013
Сообщений: 42
24.05.2013, 21:10  [ТС]     Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры) #8
Цитата Сообщение от BAADF00D Посмотреть сообщение
нету да и нету. stdafx.h -- заголовок, включаемый только в MSVS, это "плюшка" для "удобства разработки". codeblocks поставляется с компиляторами (или без, в таком случае можно докачать отдельно и указать в среде пути к компилятору и отладчику) GCC.
Я совсем новичок в этом деле, не подскажете где можно докачать?
vetal0007
27 / 27 / 0
Регистрация: 11.02.2012
Сообщений: 299
24.05.2013, 21:25     Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры) #9
Опять же в каком компиляторе ты работаешь?
BAADF00D
Заблокирован
24.05.2013, 21:36     Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры) #10
Цитата Сообщение от derzila Посмотреть сообщение
Я совсем новичок в этом деле, не подскажете где можно докачать?
MinGW -- порт GCC для windows. http://sourceforge.net/
derzila
 Аватар для derzila
6 / 6 / 1
Регистрация: 23.04.2013
Сообщений: 42
24.05.2013, 21:58  [ТС]     Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры) #11
Цитата Сообщение от vetal0007 Посмотреть сообщение
Опять же в каком компиляторе ты работаешь?
использую code::blocks
kondor1995
2 / 2 / 0
Регистрация: 21.05.2013
Сообщений: 33
24.05.2013, 22:07     Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры) #12
Цитата Сообщение от kondor1995 Посмотреть сообщение
C++
1
2
    int d;                                    //диаметр арматуры
    cin >> d;
После этого этого вставляешь
C++
1
d = diametr( int d );
Блин, я ересь написал))
C++
1
d = diametr(d);
должно работать)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2013, 22:07     Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры)
Еще ссылки по теме:

C++ Выравнивание строк до заданной длины
Программа должна показать все комбинации заданной суммы чисел заданной точности C++
C++ Расчет площади, длины, диаметра окружности

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

Или воспользуйтесь поиском по форуму:
BAADF00D
Заблокирован
24.05.2013, 22:07     Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры) #13
Компилятор & IDE в чем разница?
Yandex
Объявления
24.05.2013, 22:07     Использование цикла do ( программа высчитывает вес, исходя из заданной длины и диаметра арматуры)
Ответ Создать тему
Опции темы

Текущее время: 00:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru