Как выйти из ввода символом "|"
*Делаю упр. по книге Страуструпа и мне нужно выйти из ввода как-то, он предлагает символом |. Пробовал через
if(num == "|") break;
#include <iostream>
#include <vector>
// 5.11 #8 #9
int sumN(int n, std::vector<int> numbers)
{
int sum = 0;
for (int i = 0; i < n; i++)
{
sum += numbers[i];
}
return sum;
}
int main()
{
setlocale(LC_ALL, "rus");
std::cout << "Сумма первых N чисел" << std::endl;
std::cout << "Введите числа:\n";
int num;
std::vector<int> numbers;
do
{
std::cin >> num;
numbers.push_back(num);
} while (std::cin.get()!='|');
int n;
std::cout << "\nСколько первых чисел нужно просумировать (N)\n";
std::cin >> n;
std::cout << "\nСумма первых " << n << " чисел ( ";
for (int i = 0; i < n; i++) std::cout << numbers[i] << ' ';
std::cout << ") равна " << sumN(n, numbers) << std::endl;
return 0;
}```
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
можно так наверное сделать
while (true)
{
// считываем ввод как строку
std::string text;
std::cin >> text;
// если введена строка-прерыватель - выходим
if (text == "|")
break;
// преобразуем строку в число и добавляем в массив
numbers.push_back(std::atoi(num));
}