C/C++

Написать программу на С++

Напишите функцию, принимающую любое значение. Если это целое число, то возвратить сумму его цифр. В противном случае возвращается фраза «Это не целое число».
Ты язык не перепутал? Такое легко провернуть на Python, JavaScript, PHP. Более того, сама эта задача взята из задачника Python.

Но пытаться сделать подобное на C++ - совершеннейшее извращение. И дело даже не в разных типах параметра, а в разных типах возвращаемого значения.
ВС
Вячеслав Семиненков
79 010
Лучший ответ
Александр Ситников про std::variant не слышали?
Нурсултан Оразымбетов Если шкoльник вместо чтeния книги по aлгopитмaм будет изoбpeтaть вeлocипeд caмocтoятeльнo и пытaтьcя пpидyмывaть aлгopитмы для peшeния зaдaч, чему он нayчитcя?
Нурсултан Оразымбетов Зaдaния дoлжны дaвaтьcя до или пocле пpoчтeния глaвы в yчeбникe?
Зачем функции вообще что-то возвращать? Вот так вот нормально работает:
 #include  
using namespace std;
void f(double x)
{
int n = x, s = 0;
if (x == n)
{
if (n < 0) n = -n;
while (n) { s += n % 10; n /= 10; }
cout
Eld (Fire)
Eld (Fire)
66 572
 #include  
#include
#include

using namespace std;
int check(string& str)
{
istringstream inp(str);
int num;
inp >> num;
if (inp.eof())
{
num = 0;
for (auto i : str) num += isdigit(i) ? i - '0' : 0;
}
else num = -1;
return num;
}

int main()
{
setlocale(0, "");
string str;
cout > str;
int res = check(str);
if (res != -1) cout
Альоша Гоменюк
Альоша Гоменюк
51 416
еще 1 переменную создадим инт
if
если число - оно же != 0
то это не целое число
иначе
в цикле (пока число больше или равно 10)
переменная +=число%10
число = число /10
вернуть переменную
Sergey Kichanov
Sergey Kichanov
26 109
  
#include

using namespace std;

string foo(string s) {
if (s.find('.')!=string::npos) {
return "Это не целое число";
}
int sum = 0;
for (auto &e : s) {
if (e >= '0' && e