Я только начал изучать c ++, и у меня есть эта маленькая проблема.Я пытаюсь поместить столько целых чисел, сколько я ввожу в вектор, и останавливаюсь, когда я больше не вводю целое число.
Для этого я использую
while(std::cin>>x) v.push_back(x);
Это то, что я изучаю в своем учебнике, проблема в том, что всякий раз, когда я помещаю любой символ, не являющийся int, программа останавливается, даже если есть другойпозже в моем коде.
#include <iostream>
#include <vector>
#include <algorithm>
#include <math.h>
int main(){
try{
int x,n;
int sum=0;
std::vector<int> v;
std::cout << "Introduce your numbers" << '\n';
while(std::cin>>x) v.push_back(x);
std::cout << "How many of them you want to add?" << '\n';
std::cin >> n;
if(n>v.size()) throw std::runtime_error("Not enough numbers in
the vector");
for(int i=0; i<n;i++){
sum+=v[i];
}
std::cout<<sum;
return 0;
}
catch(std::exception &exp){
std::cout << "runtime_error" <<exp.what()<< '\n';
return 1;
}
}