Créer les tickets d’un stand de snacks en C est un projet pratique pour les personnes qui connaissent les bases de C et souhaitent construire un programme utile dans le terminal. Vous aiderez un stand à conserver chaque achat accepté et à produire un ticket texte complet, avec prix unitaires, sous-totaux par ligne et total calculés en centimes entiers.
Deux laboratoires guidés passent d’un exemple fonctionnel à un seul article à des enregistrements d’achats distincts, puis ajoutent la validation d’une saisie bornée et les contrôles de capacité. Un défi indépendant applique ces méthodes au catalogue Evening Bites : produits différents portant le même nom, article gratuit et achats répétés. Chaque unité fournit ses propres fichiers ; aucun fichier ni programme en cours d’un laboratoire précédent n’est nécessaire.
Ce que vous apprendrez
- Utiliser de petites structures et des tableaux C pour conserver l’identité des produits et l’ordre des achats distincts.
- Calculer prix, sous-totaux et total en centimes entiers et afficher deux décimales.
- Valider un texte décimal complet avec strtol, notamment les dépassements de capacité, caractères superflus et limites métier.
- Contrôler quantité et capacité avant de modifier le panier, en préservant les lignes acceptées après un rejet.
- Enregistrer et lire un ticket complet, et distinguer la validation des achats de l’annulation à la fin de l’entrée.
À qui s’adresse ce cours
Ce cours s’adresse aux personnes qui apprennent C et souhaitent réunir leurs connaissances de base dans une petite application. C Programming for Beginners constitue une préparation adaptée.
Prérequis : Variables, conditions, boucles, tableaux et fonctions C, ainsi que commandes élémentaires du terminal et navigation dans les répertoires. Les laboratoires expliquent les structures, les chaînes de caractères terminées, les adresses et paramètres de sortie nécessaires, ainsi que strtol avant leur utilisation. Une maîtrise préalable des pointeurs n’est pas requise.
Environnement d’apprentissage : LabEx fournit un compilateur C, des sources préparées et un terminal Workspace dans le navigateur. Aucune installation locale n’est nécessaire. Les invites du programme, le code source et le ticket restent en anglais.
Questions fréquentes
Que vais-je livrer ?
Vous conserverez un code source C compilable, un exécutable fonctionnel et un véritable fichier de ticket. Le ticket garde chaque achat accepté dans l’ordre, y compris les achats répétés, avec identifiant, nom, quantité, prix unitaire et sous-total, puis le total complet.
Faut-il connaître la mémoire dynamique ou l’analyse de fichiers ?
Non. Le projet utilise des enregistrements de taille fixe et une saisie texte limitée. Les définitions du catalogue et le pilote de saisie sont fournis. Vous réalisez la gestion des enregistrements, la validation et la sortie du ticket ; l’analyse CSV généraliste et l’allocation dynamique sont hors du cours.
S’agit-il d’un véritable système de paiement ?
Non. C’est un exercice avec un stand fictif, limité à six lignes d’achat et à des quantités de 1 à 20. Il ne traite ni paiements ni taxes. La commande done termine les achats ; la fin de fichier annule l’opération sans produire de ticket complet ni sauvegarder une transaction inachevée.

