Аватар для derzila
7 / 7 / 1
Регистрация: 23.04.2013
Сообщений: 42

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

24.05.2013, 14:36. Показов 985. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Данная программа высчитывает вес, исходя из заданной длины и диаметра арматуры. Диаметр арматуры расположен в промежутке четных чисел от 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;
    }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.05.2013, 14:36
Ответы с готовыми решениями:

По заданным параметрам (диаметра и длины) найти вес арматуры
Здравствуйте! Требуется создать код обрабатывающий значения приведенных в задачах и их вычисление. Задача №1. По заданным...

Программа которая высчитывает оптимальный вес
Разработать программу с помощью, которой пользователь, введя свой рост и фактический вес, мог бы определить худой он или полный, и на...

Вычислить площадь круга, исходя из введѐнного диаметра
Помогите пожалуйста, не могу разобраться. Как на асемблере можно вычислить площадь круга, исходя из введенного диаметра. Знаю, это просто,...

12
2 / 2 / 1
Регистрация: 21.05.2013
Сообщений: 39
24.05.2013, 15:28
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;
    }
}
0
 Аватар для derzila
7 / 7 / 1
Регистрация: 23.04.2013
Сообщений: 42
24.05.2013, 15:39  [ТС]
Цитата Сообщение от kondor1995 Посмотреть сообщение
C++
1
d = diametr( int d );
Компилятор выдает ошибку в этой строке, если есть возможность можешь вставить данную функцию в исходный код? Заранее спасибо.
0
29 / 29 / 3
Регистрация: 11.02.2012
Сообщений: 339
24.05.2013, 16:18
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;
    }
0
 Аватар для derzila
7 / 7 / 1
Регистрация: 23.04.2013
Сообщений: 42
24.05.2013, 16:38  [ТС]
Спасибо большое, использую code::blocks, в библиотеке нету файла "stdafx.h".. ( Каким образом можно пополнить библиотеку?
0
29 / 29 / 3
Регистрация: 11.02.2012
Сообщений: 339
24.05.2013, 17:04
Ты какой компилятор используешь?

Добавлено через 12 минут
Короче, выставь в свойствах проекта "Не использовать предварительно скомпилированные заголовки"
В 2012 => Проект=>Свойства=>С/С++=>Предварительно скомпилированные заголовки
1
Заблокирован
24.05.2013, 17:13
Цитата Сообщение от derzila Посмотреть сообщение
Спасибо большое, использую code::blocks, в библиотеке нету файла "stdafx.h".. ( Каким образом можно пополнить библиотеку?
нету да и нету. stdafx.h -- заголовок, включаемый только в MSVS, это "плюшка" для "удобства разработки". codeblocks поставляется с компиляторами (или без, в таком случае можно докачать отдельно и указать в среде пути к компилятору и отладчику) GCC.
0
 Аватар для derzila
7 / 7 / 1
Регистрация: 23.04.2013
Сообщений: 42
24.05.2013, 21:10  [ТС]
Цитата Сообщение от BAADF00D Посмотреть сообщение
нету да и нету. stdafx.h -- заголовок, включаемый только в MSVS, это "плюшка" для "удобства разработки". codeblocks поставляется с компиляторами (или без, в таком случае можно докачать отдельно и указать в среде пути к компилятору и отладчику) GCC.
Я совсем новичок в этом деле, не подскажете где можно докачать?
0
29 / 29 / 3
Регистрация: 11.02.2012
Сообщений: 339
24.05.2013, 21:25
Опять же в каком компиляторе ты работаешь?
0
Заблокирован
24.05.2013, 21:36
Цитата Сообщение от derzila Посмотреть сообщение
Я совсем новичок в этом деле, не подскажете где можно докачать?
MinGW -- порт GCC для windows. http://sourceforge.net/
0
 Аватар для derzila
7 / 7 / 1
Регистрация: 23.04.2013
Сообщений: 42
24.05.2013, 21:58  [ТС]
Цитата Сообщение от vetal0007 Посмотреть сообщение
Опять же в каком компиляторе ты работаешь?
использую code::blocks
0
2 / 2 / 1
Регистрация: 21.05.2013
Сообщений: 39
24.05.2013, 22:07
Цитата Сообщение от kondor1995 Посмотреть сообщение
C++
1
2
    int d;                                    //диаметр арматуры
    cin >> d;
После этого этого вставляешь
C++
1
d = diametr( int d );
Блин, я ересь написал))
C++
1
d = diametr(d);
должно работать)
0
Заблокирован
24.05.2013, 22:07
Компилятор & IDE в чем разница?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.05.2013, 22:07
Помогаю со студенческими работами здесь

Поиск цикла заданной длины в неориентированном графе
Всем привет! Есть такая задача: дана система двусторонних дорог. Найти замкнутый путь длиной не более 100км, проходящий через каждую...

Подсчет длины в зависимости от диаметра и материала
Скажу сразу, в экселе не силен( Буду очень признателен за помощь! Есть большая таблица на 10 тысяч объектов. В пример же я скинул очень...

Расчет площади, длины, диаметра окружности
Здравствуйте, Всем, изучаю C++ по Дейтелу, недавно начал. Решил составить программку из первого урока, пользуясь теми средствами, которые в...

Требуется изготовить соленоид данной длины и диаметра.
Требуется изготовить соленоид длиной 20 см и диаметром 5 см, создающий на своей оси магнитную индукцию 1,26 мТл. Для обмотки использовать...

Вычисление диаметра, длины окружности и площади круга по радиусу
Коротко задание: написать программу на Си вычисляющую диаметр,длину и площадь окружности. Пользователем осуществляется ввод радиуса. Ниже...


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

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

Новые блоги и статьи
Реализация Domain-Driven Design с Java
Javaican 20.05.2025
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную. . .
Возможности и нововведения C# 14
stackOverflow 20.05.2025
Выход версии C# 14, который ожидается вместе с . NET 10, приносит ряд интересных нововведений, действительно упрощающих жизнь разработчиков. Вы уже хотите опробовать эти новшества? Не проблема! Просто. . .
Собеседование по Node.js - вопросы и ответы
Reangularity 20.05.2025
Каждому разработчику рано или поздно приходится сталкиватся с техническими собеседованиями - этим стрессовым испытанием, где решается судьба карьерного роста и зарплатных ожиданий. В этой статье я. . .
Cython и C (СИ) расширения Python для максимальной производительности
py-thonny 20.05.2025
Python невероятно дружелюбен к начинающим и одновременно мощный для профи. Но стоит лишь заикнуться о высокопроизводительных вычислениях — и энтузиазм быстро улетучивается. Да, Питон медлительнее. . .
Безопасное программирование в Java и предотвращение уязвимостей (SQL-инъекции, XSS и др.)
Javaican 19.05.2025
Самые распространёные векторы атак на Java-приложения за последний год выглядят как классический "топ-3 хакерских фаворитов": SQL-инъекции (31%), межсайтовый скриптинг или XSS (28%) и CSRF-атаки. . .
Введение в Q# - язык квантовых вычислений от Microsoft
EggHead 19.05.2025
Microsoft вошла в гонку технологических гигантов с собственным языком программирования Q#, специально созданным для разработки квантовых алгоритмов. Но прежде чем погружаться в синтаксические дебри. . .
Безопасность Kubernetes с Falco и обнаружение вторжений
Mr. Docker 18.05.2025
Переход организаций к микросервисной архитектуре и контейнерным технологиям сопровождается лавинообразным ростом векторов атак — от тривиальных попыток взлома до многоступенчатых кибератак, способных. . .
Аугментация изображений с Python
AI_Generated 18.05.2025
Собрать достаточно большой датасет для обучения нейронной сети — та ещё головная боль. Часами вручную размечать картинки, скармливать их ненасытным алгоритмам и молиться, чтобы модель не сдулась при. . .
Исключения в Java: советы, примеры кода и многое другое
Javaican 18.05.2025
Исключения — это объекты, созданные когда программа сталкивается с непредвиденной ситуацией: файл не найден, сетевое соединение разорвано, деление на ноль. . . Список можно продолжать до бесконечности. . . .
Как сделать SSO (Single Sign-On) в C# приложении
stackOverflow 18.05.2025
SSO — это механизм, позволяющий пользователю пройти аутентификацию один раз и получить доступ к нескольким приложениям без повторного ввода учетных данных. Вы наверняка сталкивались с ним, когда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru