我想编写一个程序来终止一个具有特定字符的循环,例如“Q”或“//”,但似乎无法弄明白。这是具体细节
“计算一组小数的平均值的程序 用户提供的号码。该程序将要求用户输入 一次编号一个,当用户输入q时,它停止并吐出总和“
但是这需要用户输入整数,如果我输入“Q”或“//”,程序会中断并吐出垃圾。我该怎么做?
我遇到的问题是如何在不要求两个不同输入的情况下执行此操作
SELECT tmdb_movies.movie_title
,GROUP_CONCAT(DISTINCT(recommendations.recommendations_title)) as recommendations_title
,GROUP_CONCAT(DISTINCT(recommendations.recommendations_vote_average)) as recommendations_vote_average
FROM tmdb_movies
LEFT JOIN cast ON cast.cast_tmdb_id=tmdb_movies.tmdb_id
LEFT JOIN recommendations ON recommendations.recommendations_tmdb_id=tmdb_movies.tmdb_id
Where tmdb_movies.tmdb_id= 1
GROUP BY tmdb_movies.movie_title
答案 0 :(得分:3)
假设您的作业确实是您所描述的,那么您需要读取一个字符串,然后转换为double。
这样的事情会起作用:
std::string s;
std::cin >> s;
if (s == "Q" || s == "//") { ... do stuff ... }
else
{
std::stringstream ss(s);
double d;
if (!(ss >> d))
{
std::cout << s << " doesn't appear to be a number..." << std::endl;
}
... do whatever with d ...
}
我不会为你编写代码,只是提供一些代码片段来帮助你。