Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 07.08.2022
Сообщений: 6
1

Почему программа не принимает значение 0?

09.08.2022, 16:04. Показов 809. Ответов 6
Метки с++ (Все метки)

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
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
#include <iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
 
    
    void displayExplanatoin(void)
    {
        cout << " Эта программа суммирует "
            << "последовательность чисел. \n Ввод каждой "
            << "последовательности завершается "
            << "вводом отрицательного числа \n"
            << "Чтобы завершить ввод последовательностей,"
            << "нужно ввести\nдва отрицательных числа подряд\n";
        return;
    }
    int sumSequence (void)
    { 
        int accumulator = 0;
    for (;;)
    {
        int Value = 0;
            cout<< "Введите очередное занчение";
            cin>> Value;
            if (Value < 0)
            {
                break;
            }
            accumulator += Value;
    }
    return accumulator;
 
    }
     
    int main(int nNumberofArgs, char* pszArgs[])
    {   setlocale(LC_ALL, "Russian");
    
        displayExplanatoin();
        for (;;)
        {
            cout << "Введите следующую последовательность:"
                << endl;
            int accumulatedValue = sumSequence();
            if (accumulatedValue == 0)
            {
                break;
            }
            cout << "Общая сумма равна: "
                << accumulatedValue
                << "\n"
                << endl;
 
        }
 
    cin.ignore(10, '\n');
    cin.get();
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.08.2022, 16:04
Ответы с готовыми решениями:

Почему класс не принимает значение string?
Класс не принимает тип string, почему? #pragma once namespace D { class Pract {...

Объяснить почему переменная принимает данное значение
int v = 5; int a = 0; a = ++v + 10 + 1 + ++v * 2; cout &lt;&lt; &quot;a = &quot; &lt;&lt; a &lt;&lt; endl; кто сможет...

Почему переменная b не принимает значение?
#define _CRT_SECURE_NO_WARNINGS #include&lt;stdio.h&gt; #include&lt;math.h&gt; double inline...

Почему программа не принимает другой Excel файл?
Все привет у меня есть вот такой класс class ExcelData { static private...

Почему ячейка массива не принимает присваиваемое ей значение?
Привет. Объясните нубу. Почему ячейка массива не принимает присваиваемое ей значение? ...

6
Эксперт .NET
10574 / 6498 / 1506
Регистрация: 25.05.2015
Сообщений: 19,686
Записей в блоге: 14
09.08.2022, 16:12 2
А если ввести
-1
1
0
0
0 / 0 / 0
Регистрация: 07.08.2022
Сообщений: 6
09.08.2022, 16:18  [ТС] 3
Вводишь
-1
1
И консоль закрывается
0
Эксперт .NET
10574 / 6498 / 1506
Регистрация: 25.05.2015
Сообщений: 19,686
Записей в блоге: 14
09.08.2022, 16:19 4
Что вы от программы ожидаете? Текстом опишите.
0
0 / 0 / 0
Регистрация: 07.08.2022
Сообщений: 6
09.08.2022, 16:30  [ТС] 5
Я по книге занимаюсь, в ней написано
Если значение переменной accumulator равно 0, выполняется команда break, осуществляющая выход из внешнего цикла.
Но переменная не принимает значение 0
Либо просто не понимая смысл этой программы
0
Эксперт .NET
10574 / 6498 / 1506
Регистрация: 25.05.2015
Сообщений: 19,686
Записей в блоге: 14
09.08.2022, 16:34 6
Лучший ответ Сообщение было отмечено kepchik8 как решение

Решение

Два вложенных цикла.
В первом вводятся числа и суммируются. Он завершается при вводе отрицательного числа.
Во втором повторяется первый цикл, если результат суммирования не равен 0,иначе выход.
1 2 3
Приведёт к повтору.
1 1 -2
к выходу.
1
Вездепух
Эксперт CЭксперт С++
11697 / 6376 / 1724
Регистрация: 18.10.2014
Сообщений: 16,080
09.08.2022, 18:01 7
Цитата Сообщение от kepchik8 Посмотреть сообщение
Почему программа не принимает значение 0?
Что значит "не принимает значение 0"?

Цитата Сообщение от kepchik8 Посмотреть сообщение
Если значение переменной accumulator равно 0, выполняется команда break, осуществляющая выход из внешнего цикла.
Так и есть.

Цитата Сообщение от kepchik8 Посмотреть сообщение
Но переменная не принимает значение 0
Это утверждение из разряда "сегодня не воскресенье". И что?

В чем проблема? Значение переменной зависит от того, что вы вводите. Где тестовый ввод, который вы использовали? Где описание того, почему вы ожидали, что переменная примет значение 0 на этом вводе? Где все это?

Цитата Сообщение от kepchik8 Посмотреть сообщение
Либо просто не понимая смысл этой программы
Откуда нам знать, как вы понимаете смысл этой программы? Где описание вашего понимания смысла этой программы?
0
09.08.2022, 18:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.08.2022, 18:01
Помогаю со студенческими работами здесь

Почему выражение MyWorkbook = Application.ActiveWorkbook.ActiveSheet принимает значение Nothing
Хочу спросить почему выражение типа: Dim MyWorkbook As Worksheet MyWorkbook =...

Почему ch принимает значение 'c' ? И как вообще можно прилепить 3 значения к одной переменной ? СИМВОЛЫ
using System; namespace Форум_Помощь { class Program { static void Main() ...

Программа принимает значение индентификатора team только после второго нажатия enter
Вот фрагмент программы: char team; do { cin &gt;&gt; team; switch (team) { case '+':...

Почему программа выводит значение 0?
#include &lt;iostream&gt; //Включение библиотек #include &lt;math.h&gt; using namespace std;...

Почему программа округляет значение переменной?
Почему программа округляет значение переменной p? Как это исправить? IDE: CODE::BLOCKS 16.01


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

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