Яблоки в корзине! Пример кода C
Язык C (Си, обеспечивает кроссплатформенность)
Задание
Написать программу, считывающую со стандартного потока ввода 2 целых неотрицательных числа - начальное количество яблок и декремент.
Программа должна вывести несколько грамматически корректных строк об убывании количества яблок, как в следующем примере:
Если введено 12 5
Программа выводит:
В корзине было 12 яблок, 5 яблок съели и осталось 7 яблок.
В корзине было 7 яблок, 5 яблок съели и осталось 2 яблока.
В корзине было 2 яблока, 2 яблока съели и осталось 0 яблок.
Т.е. С каждой строкой общее количество яблок в корзине уменьшается на значение декремента, но не может стать ниже нуля. Когда в корзине не остается яблок, программа должна завершить свою работу.
Решение
Рис.1 Результат решения "Яблоки в корзине"
На всю кажущуюся простоту, программа не так уж и проста…
Прежде всего, Программа обеспечивает корректный ввод чисел… Вам не удастся ввести отрицательное число или буквенные символы… Последует повторный запрос… и так до тех пор, пока удовлетворительные данные не будут введены пользователем.
Далее, за обеспечение нужных словоформ (яблоко, яблока, яблок и т.д.) отвечает отдельная функция… Конечно, функция проста…, но ее применение значительно упрощает код.
Как видите, нет проблем с кодировкой символов… Русские и английские символы отображаются одинаково корректно, а в консоли (866), в отличии от win1251, это не всегда получается просто.
Ну, и обмануть машину в арифметике Вам, наверное, тоже не удастся…
Скачать ехе-файл для тестирования…
Условия получения кода? Показать?
Другие примеры на языках «C»,«C++»,«C#»
Предложение
Готовый код с комментариями! Если нужно на другой язык переписать – обращайтесь…
Если у Вас остались вопросы, то задать их Вы можете, нажав на эту кнопочку ...