Написать программу на с++ - Компьютерные вопросы

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

Регистрация
20 Июн 2013
Сообщения
71
Репутация
0
Спасибо
0
Монет
0
Напишите функцию, принимающую любое значение. Если это целое число, то возвратить сумму его цифр. В противном случае возвращается фраза «Это не целое число».
 
Регистрация
19 Янв 2013
Сообщения
90
Репутация
4
Спасибо
0
Монет
0
#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
 
Регистрация
22 Июл 2013
Сообщения
77
Репутация
0
Спасибо
0
Монет
0
Зачем функции вообще что-то возвращать? Вот так вот нормально работает: #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
 
Регистрация
12 Май 2013
Сообщения
86
Репутация
0
Спасибо
0
Монет
0
Ты язык не перепутал? Такое легко провернуть на Python, JavaScript, PHP. Более того, сама эта задача взята из задачника Python.

Но пытаться сделать подобное на C++ - совершеннейшее извращение. И дело даже не в разных типах параметра, а в разных типах возвращаемого значения.
 
Регистрация
7 Дек 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
еще 1 переменную создадим инт
if
если число - оно же != 0
то это не целое число
иначе
в цикле (пока число больше или равно 10)
переменная +=число%10
число = число /10
вернуть переменную
 
Сверху Снизу