Criar recibos de uma barraca de lanches em C é um projeto prático para quem conhece os fundamentos de C e quer desenvolver um programa útil de terminal. Você ajudará uma barraca a preservar cada compra aprovada e produzir um recibo de texto completo, com preços unitários, subtotais por linha e total calculados em centavos inteiros.
Dois laboratórios guiados partem de um exemplo funcional com um item, passam por registros de compra separados e acrescentam validação de entrada limitada e verificações de capacidade. Um desafio independente aplica esses métodos ao catálogo Evening Bites, com produtos distintos de mesmo nome, um item gratuito e compras repetidas. Cada unidade fornece seus próprios arquivos; não são necessários arquivos nem programas em execução de um laboratório anterior.
O que você aprenderá
- Usar pequenas estruturas e arrays de C para manter a identidade dos produtos e a ordem das compras separadas.
- Calcular preços, subtotais e totais em centavos inteiros e exibir duas casas decimais.
- Validar texto decimal completo com strtol, incluindo estouro na conversão, caracteres indevidos no final e limites do negócio.
- Verificar quantidade e capacidade antes de alterar a cesta, preservando as linhas aprovadas após uma rejeição.
- Salvar e ler um recibo completo e distinguir a finalização da compra do cancelamento ao terminar a entrada.
Para quem é este curso
Este curso é indicado para estudantes de C prontos para combinar conhecimentos introdutórios em uma pequena aplicação. C Programming for Beginners oferece uma base adequada.
Pré-requisitos: Variáveis, condições, laços, arrays e funções de C, além de comandos básicos do terminal e navegação entre diretórios. Os laboratórios apresentam estruturas, strings terminadas, os endereços e parâmetros de saída necessários e strtol antes de utilizá-los. Não é preciso dominar ponteiros antecipadamente.
Ambiente de aprendizagem: A LabEx fornece um compilador C, arquivos-fonte preparados e um terminal Workspace no navegador. Nenhuma instalação local é necessária. Os prompts do programa, o código-fonte e a saída do recibo permanecem em inglês.
Perguntas frequentes
O que vou entregar?
Você manterá código-fonte C compilável, um executável funcional e um arquivo de recibo real. O recibo preserva cada compra aprovada em ordem, inclusive compras repetidas, com ID, nome, quantidade, preço unitário e subtotal, seguidos do total completo.
Preciso de experiência com memória dinâmica ou análise de arquivos?
Não. O projeto usa registros de tamanho fixo e entrada de texto limitada. As definições do catálogo e o driver de entrada são fornecidos. Você implementa o tratamento dos registros, a validação e a saída do recibo; análise genérica de CSV e alocação dinâmica ficam fora do curso.
É um sistema de pagamento real?
Não. É um exercício com uma barraca fictícia, limitado a seis linhas de compra e quantidades de 1 a 20. Ele não processa pagamentos nem impostos. O comando done finaliza a compra; o fim de arquivo cancela sem produzir um recibo completo nem salvar uma transação inacabada.

