Blog ENI : Toute la veille numérique !
💥 Un livre PAPIER acheté
= La version EN LIGNE offerte pendant 1 an !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Développement informatique
  3. Algorithmique
Extrait - Développement informatique Apprenez à concevoir avant de programmer
Extraits du livre
Développement informatique Apprenez à concevoir avant de programmer
3 avis
Revenir à la page d'achat du livre

Algorithmique - Données de phase, sauts de page

Objectifs du chapitre

Les programmes à réaliser dans ce chapitre nécessitent de tester des données qui ne sont pas présentes dans le ou les fichiers d’entrée. Ce sont des données calculées au cours de l’exécution du programme. On les nomme données de phase. Certains sauts de page nécessitent de tester un compteur de lignes. Ce compteur de lignes est un cas particulier de donnée de phase.

État des chiffres d’affaires par client et secteur

1. Sujet

Le programme à réaliser consiste à éditer un état statistique à partir d’un fichier de produits.

a. État de sortie

images/01112a.png

b. Fichier d’entrée : produitsCA

Description du fichier produitsCA

Un enregistrement du fichier produitsCA contient :

  • noSec : numéro de secteur

  • noCli : numéro de client

  • noPro : numéro de produit

  • qte : quantité

  • PU : prix unitaire

images/01112b.png

Structure correspondante :


typedef struct 
{ 
    char  noSec[4]; 
    char  noCli[5]; 
    char  noPro[4]; 
    int   qte; 
    float PU; 
} PRODUIT;
 

Organisation du fichier : séquentielle

Critères de tri :

  • noSec (N° de secteur)

  • noCli (N° de client)

Il y a un enregistrement par produit.

Ce fichier est fourni. Son chemin d’accès est : C:\C\fichiers\produitsCA

c. Traitement

Pour un client : ca = Somme des qte * PU (ca : chiffre d’affaires).

Une remise de 10 % est accordée à tout client pour lequel le CA est supérieur ou égal à 1 000.

On totalise par secteur les chiffres d’affaires et les remises.

Le changement de page est réalisé après 20 lignes (en-tête non compris). Il n’y a pas de changement avant le total secteur éventuellement affiché en 21e ligne.

d. Les sauts de page

Les sauts de page sont liés à des problèmes de présentation : format du papier, zones préimprimées… Ils ne changent le programme qu’au moment de l’impression, c’est-à-dire au moment où s’exécutent les ordres d’écriture.

Il est plus simple de s’y intéresser une fois les ordres d’impression écrits.

En conséquence : faire le programme sans se soucier des sauts de page. Les ajouter après.

2. Décompositions

État

images/01112c.png

L’état se présente comme un ensemble de données concernant un secteur, autant de fois qu’il y a de secteurs (ensembles grisés).

images/01112d.png

Chaque secteur contient un numéro de secteur, un ensemble de données concernant un client, autant de fois qu’il y a de clients (ensembles grisés), un total CA et un total REMISE.

images/01112e.png

Chaque client contient un numéro de client, un CA et une remise présente...

Travail pratique : édition de factures

1. Sujet

a. But du programme

Il s’agit d’éditer les factures des clients et de faire la mise à jour du fichier client.

b. Schéma du traitement

  • Le fichier comm contient des enregistrements de commandes de clients. Ces commandes sont dites "normales".

  • Le fichier commd contient également des enregistrements de commandes de clients. Ces commandes sont dites "de dépannage".

  • Le fichier client contient des informations sur les clients. Pour chaque client ayant une facture, il faut y mettre à jour un solde en fonction du montant de la facture. 

images/01113a.png

On édite une facture par client ayant au moins une commande normale et éventuellement des commandes de dépannage.

c. Impression

images/impressionP207.PNG

d. Lignes d’impression

images/01113c.png
images/01113d.png

e. Caractéristiques de l’état

  • Saut de page : une fois par client et par page pleine.

  • Dans le cas d’un saut de page pour une page pleine :

  • En fin de page :

  • Laisser les montants remise, HT et TVA à blanc.

  • Imprimer ./. à l’emplacement NET À PAYER.

  • Sur la page suivante :

  • Réafficher les en-têtes avec le numéro de page incrémenté (+1).

  • Rappeler le numéro de commande et la date de la commande.

  • Une seule facture par client.

  • On édite d’abord les commandes normales, puis les commandes de dépannage.

  • On édite une ligne produit toutes les deux lignes.

f. Fichier client

Description du fichier client

Un enregistrement du fichier client contient :

  • noCli : numéro de client (identifiant)

  • nom : nom (prénom) du client

  • adresse : adresse du client

  • cPost : code postal

  • ville : ville

  • noRep : numero de représentant

  • codPays : code pays

  • codSit : code situation (D : débit, C : crédit)

  • solde : montant du solde 

Ce fichier est fourni. Son chemin d’accès est : C:\C\fichiers\client

Il contient :

images/01113g.png

Le solde du client est toujours un nombre positif. Le code situation indique si le client est créditeur (C) ou débiteur (D).

Programme d’accès au fichier client

Le fichier d’en-têtes de la bibliothèque d’accès au fichier client est : client.h. Son contenu est :


/* ========================================================================== */ 
/* Structure CLIENT              ...