BG Development


  Reply to this topicStart new topicStart Poll

> Помощ C++ STOI.
iFURY
Публикувано на: 18-07-2020, 13:24
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 4
Регистриран на: 18.07.20



Здравейте, уча C++ виртуално в SoftUni и имам следния проблем с една проста задачка, която не мога да реша. Проблема според мен е когато се опитвам да променя стринг към инт. Това е съобщението което получавам:
terminate called after throwing an instance of 'std::invalid_argument'
what(): stoi

А това е кодът който пиша:

int main() {


string steps = "";
int sumSteps = 0;



while(steps != "Going Home"){
getline(cin, steps);

int stoiSteps = stoi(steps);
sumSteps = sumSteps + stoiSteps;

if(sumSteps >= 10000){
cout << "Goal reached! Good job!";
break;
}


}
int moreSteps = sumSteps - 10000;
if(steps == "Going Home"){
cout << moreSteps << " more steps to reach goal.";
}






return 0;


}
PMEmail Poster
Top
Gamma Goblin
Публикувано на: 18-07-2020, 13:27
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3978
Регистриран на: 21.02.18



най-вероятно си подал на stoi() стринг, който не е валидна репрезентация на число


--------------------
Форумът се премести на нов адрес: https://bgdev-free.asm32.info/
PMEmail PosterUsers Website
Top
iFURY
Публикувано на: 18-07-2020, 13:27
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 4
Регистриран на: 18.07.20



Съжалявам за 2-те теми, не зная какво се обърка. icon_lol.gif. Докладвах втората, за да се изтрие.
PMEmail Poster
Top
iFURY
Публикувано на: 18-07-2020, 13:30
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 4
Регистриран на: 18.07.20



QUOTE (Gamma Goblin @ 18-07-2020, 13:27)
най-вероятно си подал на stoi() стринг, който не е валидна репрезентация на число

В случая стрин-а е steps които ще е числа. Превръщам стринга в инт, за да мога да събера тези числа. Но когато се опитам да въведа в стринг-а букви, ми дава грешката която написах в темата.
PMEmail Poster
Top
DarkOne
Публикувано на: 18-07-2020, 14:38
Quote Post


Group Icon
Име: Александър Петков
Група: Администратор
Ранг: Почетен член

Мнения: 3518
Регистриран на: 30.01.04



http://www.cplusplus.com/reference/string/stoi/

Прочети секцията Exceptions. Накратко - това е очакваното поведение, ако не си подал число.

Това мнение е било редактирано от DarkOne на 18-07-2020, 14:39


--------------------
The man who learns only what others know
is as ignorant as if he learns nothing.
The treasures of knowledge are the most rare,
and guarded most harshly.
-- Chronicle of the First Age
PMICQ
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0