Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2011, 14:19   #1
atemiks
 
Регистрация: 05.08.2011
Сообщений: 7
По умолчанию Циклы калькулятор

Здравствуйте.
Есть такая задача:
Нужно написать программу, которая запрашивает ввод целых чисел и сообщает накопительную сумму всех ранее введенных чисел(причем сообщает сразу, то есть вводим число 1 - выводит 1, вводим еще число 9 - выводит 10 и т.д), и заканчивается после ввода нуля(0).

Написал два кода решения этой задачи:

Первый:
Код:
#include <iostream>

using namespace std;
int main() {
    
    int number = 0;
    int allnumber = 0;
    
    cin >> number;
    
    while (number != '0') {
        allnumber  += number;
        cout << allnumber << "\n";
        cin >> number;
    };
    cout << "All number : " << allnumber << "\n";
    return 0;
}
В этом коде программы работает суммирование чисел, но не завершается программа после ввода нуля(0)

И второй код

Код:
#include <iostream>

using namespace std;
int main() {
    
    char number = 0;
    int allnumber = 0;
    
    cin >> number;
    
    while (number != '0') {
        allnumber  += number;
        cout << allnumber << "\n";
        cin >> number;
    };
    cout << "All number : " << allnumber << "\n";
    return 0;
}
В этом коде работает завершение после ввода нуля(0), но подсчет введенных чисел не правильный, по результатом выполнения выводятся числа 49, 99, 150 ...

Так же пробовал написать вместо
Код:
int allnumber = 0;
написать
Код:
char allnumber = 0;
но в итоге выводятся не цифры, а буквы.

Прошу помочь
atemiks вне форума Ответить с цитированием
Старый 23.08.2011, 14:30   #2
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

в первом варианте, в while кавычки убрать
number инициализировать 1

Код:
#include <iostream>

using namespace std;
int main() {
    
    int number = 1;
    int allnumber = 0;
    
    while (number != 0) {
        cin >> number;
        allnumber  += number;
        cout << allnumber << "\n";

    };
    cout << "All number : " << allnumber << "\n";
    return 0;
}

Последний раз редактировалось f.hump; 23.08.2011 в 14:34.
f.hump вне форума Ответить с цитированием
Старый 23.08.2011, 14:51   #3
atemiks
 
Регистрация: 05.08.2011
Сообщений: 7
По умолчанию

f.hump , спасибо большое, помогло
atemiks вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
синусы и ко. циклы, вроде циклы Scorch92 Паскаль, Turbo Pascal, PascalABC.NET 2 22.12.2010 19:26
калькулятор sergeyvl JavaScript, Ajax 10 22.08.2010 12:22
калькулятор Екатерина1995 Общие вопросы по Java, Java SE, Kotlin 4 29.05.2010 22:06
Калькулятор Likin91 Общие вопросы Delphi 3 26.05.2010 19:06
Циклы - вложенны циклы? tigga Microsoft Office Excel 5 19.02.2010 23:36