«Создание чеков для закусочной на C» — практический проект для тех, кто знает основы C и хочет написать полезную терминальную программу. Вы поможете закусочной сохранить каждую принятую покупку и сформировать полный текстовый чек с ценами за единицу, суммами строк и итогом, рассчитанными в целых центах.
Две пошаговые лабораторные работы ведут от рабочего примера с одним товаром к отдельным записям покупок, а затем к проверке ограниченного ввода и вместимости массива. Самостоятельное задание переносит эти методы на каталог Evening Bites с разными товарами под одним названием, бесплатным товаром и повторными покупками. Каждая работа предоставляет собственные файлы; файлы или запущенная программа из предыдущей работы не нужны.
Чему вы научитесь
- Использовать небольшие структуры и массивы C для сохранения идентичности товаров и порядка отдельных покупок.
- Вычислять цены, суммы строк и итог в целых центах и отображать два знака после десятичной точки.
- Проверять полный десятичный текст с помощью strtol, включая переполнение, лишние символы в конце и допустимые значения.
- Проверять количество и вместимость до изменения корзины, сохраняя принятые строки после отказа.
- Сохранять и читать полный чек, различать завершение покупки и отмену при окончании ввода.
Для кого этот курс
Курс предназначен для изучающих C, которые готовы объединить начальные знания в небольшом приложении. C Programming for Beginners даёт подходящую основу.
Предварительные требования: Переменные, условия, циклы, массивы и функции C, а также базовые команды терминала и переходы между каталогами. Структуры, строки с завершающим символом, необходимые адреса и выходные параметры, а также strtol объясняются до использования. Предварительное свободное владение указателями не требуется.
Учебная среда: LabEx предоставляет компилятор C, подготовленные исходные файлы и терминал Workspace в браузере. Локальная установка не нужна. Подсказки программы, исходный код и текст чека остаются на английском языке.
Часто задаваемые вопросы
Что я сдам?
Вы сохраните компилируемый исходный код C, рабочий исполняемый файл и настоящий файл чека. Чек содержит каждую принятую покупку по порядку, включая повторные, с ID товара, названием, количеством, ценой за единицу и суммой строки, а затем полный итог.
Нужен ли опыт динамического выделения памяти или разбора файлов?
Нет. Проект использует записи фиксированного размера и ограниченный текстовый ввод. Определения каталога и драйвер ввода предоставлены. Вы реализуете обработку записей, проверку и вывод чека; универсальный разбор CSV и динамическое выделение памяти не входят в курс.
Это настоящая платёжная система?
Нет. Это упражнение с вымышленной закусочной, ограниченное шестью строками покупок и количеством от 1 до 20. Оно не обрабатывает платежи и налоги. Команда done завершает покупку, а конец файла отменяет её без полного чека и без сохранения незавершённой транзакции.

