Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 04.12.2017
Сообщений: 18

Подсчитать сумму четных чисел, среди целых чисел, вводимых пользователем, пока не будет введен 0

04.12.2017, 16:51. Показов 6249. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет,дали тут задание,вот как звучит задание - "Подсчитывать сумму четных чисел, среди целых чисел, вводимых пользователем, пока не будет введен число 0."

Вот как я ее написал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
using namespace std;
int main()
{
setlocale(LC_CTYPE, "rus");
int j = 0, k;
cout << "Введите числа:";
do{
cin >> k;
if (k % 2 == 0) 
{
if (k - (int)k == 0) {
j += k;
}
else(cout << "Число не целое"<<endl);
}
else(cout << "Число не четное"<<endl);
} while (k != 0);
cout << "Сумма четных, целых чисел равна:"<<j<<endl;
}
Однако если ввести например число 2.4 то оно округлит до 2,подскажите пожалуйста как исправить,что бы при вводе не целого числа выдавалась ошибка,спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.12.2017, 16:51
Ответы с готовыми решениями:

С клавиатуры вводятся числа, пока не будет введен 0. Подсчитать сумму всех нечетных положительных чисел;
Как сделать так, чтобы с клавиатуры вводятся числа, пока не будет введен 0. А затем подсчитать сумму всех нечетных введенных положительных...

Суммирование вводимых с клавиатуры чисел до тех пор, пока не будет введен ноль
Записать словесный алгоритм, считывающий и суммирующий вводимые с клавиатуры числа до тех пор, пока не будет введён ноль.

Определить сумму нечетных чисел числовой последовательности из n целых чисел, вводимых пользователем
#include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; int main() { int n; cout &lt;&lt; &quot;Enter the number of...

12
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
04.12.2017, 17:13
Цитата Сообщение от qixx Посмотреть сообщение
как исправить,что бы при вводе не целого числа выдавалась ошибка
видимо использовать тип float (или double) заместо целочисленного int.
0
0 / 0 / 0
Регистрация: 04.12.2017
Сообщений: 18
23.12.2017, 12:21  [ТС]
Всем привет,написал программу по одну условию,но так как я новичок в этом деле мог что то упустить или не правильно написать,прошу умельцев посмотреть код и подсказать ошибки.

Условие -
Подсчитать сумму четных чисел, среди целых чисел, вводимых пользователем, пока не будет введен 0.
Код -
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
using namespace std;
int main()
{
setlocale(LC_CTYPE, "rus");
int j = 0, k;
cout << "Введите числа:";
do{
cin >> k;
if (k % 2 == 0) 
{
if (k - (int)k == 0) {
j += k;
}
else(cout << "Число не целое"<<endl);
}
else(cout << "Число не четное"<<endl);
} while (k != 0);
cout << "Сумма четных, целых чисел равна:"<<j<<endl;
}
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
23.12.2017, 16:48
qixx, такое действие: k - (int)k = не всегда даёт тот результат, на который рассчитываешь - не
советовал бы использовать его в коде. А по программке вот:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int i=0, n=1;
while (n!=0)
{
cout <<"Enter integer number: "; cin >> n;
if (n%10%2==0) i++;
}
cout <<"i="<<i-1;
 system("pause");
 return 0;
}
Если нужно, чтобы 0 тоже считало поменяй вывод на i.

Только это, если пользователь вводит только целые числа. Если нужно не только целые, сообщи.

Добавлено через 41 минуту
%10 - убери, закралось случайно из другого кода, не заметил сразу
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
23.12.2017, 16:57
Чегой-то я не понял.
Каким образом после кода
C++
1
2
int k;
cin >> k;
может не выполняться условие
C++
1
(k - (int)k==0)
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
23.12.2017, 17:58
Цитата Сообщение от Байт Посмотреть сообщение
Чегой-то я не понял.
у меня была ситуация когда a-int(a) работала не так, как планировалось. сведущие форумчане сообщили,
что это связано со спецификой хранения вещественного числа.
скобки находились впрочем около аргумента, так что когда скобки ограничивают int возможно ситуация другая.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
23.12.2017, 18:06
Цитата Сообщение от Yetty Посмотреть сообщение
это связано со спецификой хранения вещественного числа.
А при чем здесь вещественные числа?
Для вещественного a типа double-float , да, могут быть всякие сюрпризы, связанные со знаком, с превышением интервала представимости. Тут надо или внимательно документацию читать, а если ее нет, экпериментировать.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
23.12.2017, 18:25
Цитата Сообщение от Байт Посмотреть сообщение
А при чем здесь вещественные числа?
при том что условие задачи:
Цитата Сообщение от qixx Посмотреть сообщение
Подсчитать сумму четных чисел, среди целых чисел, вводимых пользователем, пока не будет введен 0.
можно трактовать так: пользователь вводит только целые числа
а можно и так: пользователь вводит не только целые числа
поэтому в первом же посте я просил уточнить
Цитата Сообщение от Yetty Посмотреть сообщение
Если нужно не только целые, сообщи.
0
0 / 0 / 0
Регистрация: 04.12.2017
Сообщений: 18
24.12.2017, 00:08  [ТС]
Помойму ты не так понял задачу,надо не кол-во чисел,а их сумма,и да,надо только целые и четные.
0
 Аватар для Herji
299 / 208 / 174
Регистрация: 11.05.2016
Сообщений: 655
24.12.2017, 00:22
Цитата Сообщение от qixx Посмотреть сообщение
Помойму ты не так понял задачу,надо не кол-во чисел,а их сумма,и да,надо только целые и четные.
C++
1
2
3
    int n;
    int sum = 0;
    while(std::cin >> n && n) if(!(n%2)) sum+=n;
0
0 / 0 / 0
Регистрация: 04.12.2017
Сообщений: 18
24.12.2017, 00:49  [ТС]
А после while что?Подскажи пожалуйста
0
 Аватар для Herji
299 / 208 / 174
Регистрация: 11.05.2016
Сообщений: 655
24.12.2017, 00:52
Цитата Сообщение от qixx Посмотреть сообщение
А после while что?Подскажи пожалуйста
C++
1
std::cout << "Сумма четных, целых чисел равна: "<< sum;
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
24.12.2017, 01:06
Лучший ответ Сообщение было отмечено qixx как решение

Решение

Цитата Сообщение от qixx Посмотреть сообщение
Помойму ты не так понял задачу,надо не кол-во чисел,а их сумма,и да,надо только целые и четные.
признаю. вот для суммы:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n=1, sum=0;
while (n!=0)
{
cout <<"Enter integer number: "; cin >> n;
if (n%2==0) sum+=n;
}
cout <<"sum="<<sum;
system("pause");
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.12.2017, 01:06
Помогаю со студенческими работами здесь

Вводите числа с клавиатуры, пока не будет введен ноль. Посчитать количество и сумму чисел
Вводите числа с клавиатуры, пока не будет введен ноль. Посчитать количество и сумму чисел.

Запрашивая у пользователя произвольные числа,пока не будет введен 0, вычислить сумму этих чисел и их среднее арифметическое
Запрашивая у пользователя произвольные числа,пока не будет введен 0, вычислив сумму этих чисел и их среднее арифметическое.

Записать в файл 5 введенных пользователем целых чисел, подсчитать сумму всех чисел в файле
Написать программу, которая записывает в файл 5 введенных пользователем целых чисел, а затем подсчитывает сумму всех чисел в файле. В файле...

Сформировать массив из целых чисел от 2 до N, подсчитать сумму квадpатов четных и сумму квадратов нечетных чисел
Сформировать в программе массив из целых чисел от 2 до N. Подсчитать сумму квадpатов четных и сумму квадратов нечетных чисел. pascal:)

Вычислите сумму целых чисел, вводимых с клавиатуры , пока сумма не станет больше 100
Вычислите сумму целых чисел, вводимых с клавиатуры , пока сумма не станет больше 100 .


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru