2019 Correction Serie 3 SMI S3-1
2019 Correction Serie 3 SMI S3-1
2019 Correction Serie 3 SMI S3-1
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
struct Article
int id;
char nom[20];
float prix;
int quantite;
};
Article articles[100];
// déclarations de nbrArticleExist comme variable globale pour mémoriser le
nombre d'article saisi avec une initialisation à 0
int nbrArticleExist=0;
int ChercherArticle(int rec); //fonction qui vérifie l'existence d'un article et qui
retourne sa position
void AfficherMenu()
int choix;
clrscr();
do{
scanf("%d",&choix);
} while(choix<1 || choix>4);
switch(choix)
case 1: AjouterArticle();
break;
case 2: ModifierArticle();
break;
case 3: SupprimerArticle();
break;
case 4: AfficheArticles();
break;
}
// Affichage de tous les articles saisis avec un retour au menu
void AfficheArticles()
int i;
if(nbrArticleExist==0)
Else
clrscr();
for(i=0;i<nbrArticleExist;i++)
printf("*******************\n");
getch();
clrscr();
AfficherMenu();
}
//ajout d'un article avec un Id automatique en prenant en considération la
nouvelle taille de notre tableau de structure et un retour au menu à la fin de
l'ajout
void AjouterArticle()
int id;
clrscr();
nbrArticleExist++;
clrscr();
AfficherMenu();
}
//la recherche d'un article pour verifier son existance avec un valeur
retournée qui represente la position
int pos=-1,i;
for(i=0;i<nbrArticleExist;i++)
if(articles[i].id==rec)
pos=i;
return pos;
}
//suppression d'un article à partir de son id en prenant en considération la
nouvelle taille du tableau structure et aussi son existence avant la
suppression
void SupprimerArticle()
int ids,r,i;
clrscr();
r=ChercherArticle(ids);
if(r==-1)
Else
for(i=0;i<nbrArticleExist-1;i++)
articles[i].id=articles[i+1].id;
articles[i].prix=articles[i+1].prix;
articles[i].quantite=articles[i+1].quantite;
strcpy(articles[i].nom,articles[i+1].nom);
nbrArticleExist--;
clrscr();
AfficherMenu();
}
//modification d'un article à partir de son id en prenant en considération son
existence avant de procéder a la modification
void ModifierArticle()
int idm,r;
clrscr();
r=ChercherArticle(idm);
if(r==-1)
Else
printf("*******************\n");
clrscr();
AfficherMenu();
}
//la fonction principale du programme
main()
AfficherMenu();
getch();