Пожалуйста, очень прошу помощи. Я верю в умных людей.
Определить, являются ли введеные с клавиатуры символы правильной записью целого числа, и вычислить сумму цифр введенного числа. Ввод заканчивается точкой.
Я совсем уже запуталась. Ничего не получается. Буду благодарна, если мне кто-нибудь поможет.
Определить, являются ли введеные с клавиатуры символы правильной записью целого числа, и вычислить сумму цифр введенного числа. Ввод заканчивается точкой.
Я совсем уже запуталась. Ничего не получается. Буду благодарна, если мне кто-нибудь поможет.
Elijah.Ulesko а разве там не нужна логическая переменная?
но спасибо, большое спасибо ._.
Насчёт решения постараюсь чуточку проще. У нас есть 3 типа важных для нас символов: цифры, точка и всё остальное. Если мы вводим только первые 2 типа символов, то у нас могут быть 2 результата:
1). Мы вводим правильное число, согласно всем условиям. Допустим: "123.". Итого мы должны получить сумму, равную шести.
2). Мы вводим правильное число, ставим точку, и пишем ещё одно число. Допусти, так: "123.123". В данном случае мы читаем цифры до точки и останавливаемся, т.к. данные после точки нам уже не нужны, ибо это есть окончание ввода.
Если же мы будем использовать другие символы, то мы всяко не получим нормальную запись числа. Как пример, могут быть такие данные: "123q.", "0l0l0.", "это число =)." - все они будут ошибкой для нас. Поэтому, еслимы при считывании последовательности символов внезапно натыкаемся на любой другой символ, отличной от точки или цифр, то можем со спокойной совестью выходить из программы, т.к. дальше уже считывать смысла нет - ошибка уже есть.
Согласно всем этим мыслям и получаем алгоритм, который описан выше.
вы очень помогли. меня так позорно заглючило что-то..
очень-очень-очень благодарна
А насчёт "позорно заглючило" - в этом ничего позорного нет. Когда изучаешь что-то новое, нередки случаи, когда решение не сразу понятно.