Inclusion des bibliothèques
#include <stdio.h>
#include <stdlib.h>
À quoi ça sert ?
• #include permet d’importer des bibliothèques standard.
• <stdio.h> : nécessaire pour
o printf() → afficher à l’écran
o fopen(), fscanf(), fclose() → gérer les fichiers
• <stdlib.h> : contient des fonctions générales (ici pas indispensable, mais souvent utilisée par
habitude).
Syntaxe
#include <nom_bibliotheque>
Fonction principale main
int main() {
Rôle
• main() est le point de départ du programme.
• int signifie que la fonction renvoie un nombre entier à la fin.
Déclaration des variables
FILE *fichier;
int chiffre, total = 0;
int max, min;
int jourMax = 1, jourMin = 1, jour = 1;
Explication variable par variable
Variable Rôle
FILE *fichier pointeur vers le fichier [Link]
chiffre stocke chaque valeur lue dans le fichier
total somme totale des ventes
max plus grande valeur trouvée
Variable Rôle
min plus petite valeur trouvée
jourMax numéro du jour le plus rentable
jourMin numéro du jour le moins rentable
jour compteur de jours
Syntaxe
type nom_variable;
ou
type nom = valeur_initiale;
Ouverture du fichier
fichier = fopen("[Link]", "r");
Rôle
• Ouvre le fichier [Link]
• "r" signifie lecture (read)
Vérification d’erreur
if (fichier == NULL) {
printf("Erreur : impossible d'ouvrir le fichier.\n");
return 1;
Si le fichier n’existe pas ou ne peut pas être ouvert :
• fopen() renvoie NULL
• le programme affiche un message
• return 1; arrête le programme avec une erreur
Lecture du premier nombre (initialisation)
if (fscanf(fichier, "%d", &chiffre) != 1) {
printf("Erreur : fichier vide ou format incorrect.\n");
fclose(fichier);
return 1;
}
Pourquoi lire un premier chiffre ?
• Pour initialiser max et min
• On évite des comparaisons incorrectes
Syntaxe importante
fscanf(fichier, "%d", &chiffre);
Élément Rôle
fichier le fichier à lire
"%d" format entier
&chiffre adresse mémoire de la variable
Initialisation des valeurs
total = chiffre;
max = chiffre;
min = chiffre;
Le premier chiffre devient :
• le total initial
• le maximum
• le minimum
Lecture du reste du fichier (boucle while)
while (fscanf(fichier, "%d", &chiffre) == 1) {
Rôle
• Lit les chiffres jusqu’à la fin du fichier
• Continue tant que la lecture réussit
Incrémentation du jour
jour++;
Chaque chiffre correspond à un jour supplémentaire
Calcul du total
total += chiffre;
Équivalent à :
total = total + chiffre;
Recherche du maximum
if (chiffre > max) {
max = chiffre;
jourMax = jour;
Si une valeur est plus grande que le maximum actuel :
• on met à jour max
• on mémorise le jour correspondant
Recherche du minimum
if (chiffre < min) {
min = chiffre;
jourMin = jour;
Même logique que pour le maximum.
Fermeture du fichier
fclose(fichier);
Important
• Libère la mémoire
• Bonne pratique obligatoire
Affichage des résultats
printf("Chiffre d'affaires total : %d\n", total);
printf("Jour le plus rentable : Jour %d avec %d\n", jourMax, max);
printf("Jour le moins rentable : Jour %d avec %d\n", jourMin, min);
Syntaxe de printf
printf("texte %d", variable);
%d affiche un entier
Fin du programme
return 0;
Signification
• return 0; → programme terminé sans erreur
• } ferme la fonction main
Résumé logique du programme
1. Ouvre le fichier [Link]
2. Lit les ventes jour par jour
3. Calcule :
o le total
o le jour le plus rentable
o le jour le moins rentable
4. Affiche les résultats