1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Gestion de stock en C#

abdelouafiJan 14, 2017

    1. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      267
      Likes Received:
      8
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      On veut développer une petite une application pour gérer le stock d'une entreprise. On suppose pour l'instant qu'un article est caractérisé par le libellé, le prix, la quantité et le prix d'achat (ou de vente). On considère une collection contenant tous nos articles.

      Questions:
      1. Développez une classe appelée article contenant les informations suivantes :
      • Déclaration des attributs.
      • Le constructeur.
      • La méthode ToString().
      Dans la classe Program :

      Créer le stock d'articles en utilisant les collections.

      Créer un menu présentant les fonctionnalités suivantes :

      1. Rechercher un article selon sa référence.
      2. Ajout d'un un article .
      3. La suppression d'un article recherché par référence.
      4. Modification d'un article.
      5. Rechercher un article par nom.
      6. Rechercher un article par intervalle de prix de vente.
      7. Afficher tous les articles.
      8. Quitter
       
      Loading...
      La classe Article:
      Code:
      class Article
          {
              private int numero;
              private string nom;
              private double prix;
              private int quantite;
              public int Numero
              {
                  get { return numero; }
                  set { numero = value; }
              }
             
              public string Nom
              {
                  get { return nom; }
                  set { nom = value; }
              }
             
              public double Prix
              {
                  get { return prix; }
                  set { prix = value; }
              }
             
              public int Quantite
              {
                  get { return quantite; }
                  set { quantite = value; }
              }
              public Article() { }
              public Article(int n, string no, double p, int q)
              {
                  numero = n;
                  nom = no;
                  prix = p;
                  quantite = q;
              }
              public override string ToString()
              {
                  return "\r\nNuméro: " + numero + "\r\nNom: " + nom + "\r\nPrix: " + prix + "\r\nQuantité: " + quantite;
              }
          }
      

      La classe Program:

      Code:
      class Program
          {
              static int Rechercher(List<Article>L,int r)             //fonction qui permet de vérifier l'existence d'un article
              {
                  int p=-1;
                  for(int i=0;i<L.Count;i++)
                  {
                      if(L[i].Numero==r)
                      {
                          p=i;
                          break;
                      }
                  }
                  return p;
              }
              static void Main(string[] args)
              {
                  int choix,num,quantite,p;
                  double prix;
                  string nom;
                  List<Article> Stock = new List<Article>();
                  do
                  {
                      Console.Out.WriteLine("*******************************Menu*****************************");
                      Console.Out.WriteLine("1-Rechercher un article par numéro");
                      Console.Out.WriteLine("2-Ajouter un article");
                      Console.Out.WriteLine("3-Supprimer un article par numéro");
                      Console.Out.WriteLine("4-Modifier un article par numéro");
                      Console.Out.WriteLine("5-Rechercher un article par nom");
                      Console.Out.WriteLine("6-Rechercher un article par intervalle de prix de vente");
                      Console.Out.WriteLine("7-Afficher tous les articles");
                      Console.Out.WriteLine("8-Quitter");
                      Console.Out.Write("Donner votre choix: ");
                      choix = int.Parse(Console.In.ReadLine());
                      switch (choix)
                      {
                          case 1:
                              Console.Out.Write("Donner le numéro de l'article à rechercher: ");
                              num = int.Parse(Console.In.ReadLine());
                              p = Rechercher(Stock, num);
                              if (p == -1)
                              {
                                  Console.Out.WriteLine("article est introuvable");
                              }
                              else
                              {
                                  Console.Out.WriteLine(Stock[p]);
                              }
                              break;
                          case 2:
                              Console.Out.Write("Donner le numéro de l'article à ajouter: ");
                              num = int.Parse(Console.In.ReadLine());
                              p = Rechercher(Stock, num);
                              if (p != -1)
                              {
                                  Console.Out.WriteLine("Article existe dèjà");
                              }
                              else
                              {
                                  Console.Out.Write("Donner le nom : ");
                                  nom = Console.In.ReadLine();
                                  Console.Out.Write("Donner le prix: ");
                                  prix = double.Parse(Console.In.ReadLine());
                                  Console.Out.Write("Donner la quantité: ");
                                  quantite = int.Parse(Console.In.ReadLine());
                                  Stock.Add(new Article(num, nom, prix, quantite));
                                  Console.Out.WriteLine("Article Ajouté avec succès");
                              }
                              break;
                          case 3:
                              Console.Out.Write("Donner le numéro de l'article à supprimer:");
                              num = int.Parse(Console.In.ReadLine());
                              p = Rechercher(Stock, num);
                              if (p == -1)
                              {
                                  Console.Out.WriteLine("Article introuvable");
                              }
                              else
                              {
                                  //Stock.Remove(Stock[p]);
                                  Stock.RemoveAt(p);
                                  Console.Out.WriteLine("Article supprimé avec succès");
                              }
                              break;
                          case 4:
                              Console.Out.Write("Entrer le numéro de l'article à modifier: ");
                              num = int.Parse(Console.In.ReadLine());
                              p = Rechercher(Stock, num);
                              if (p == -1)
                              {
                                  Console.Out.WriteLine("Article introuvable");
                              }
                              else
                              {   //Proposer un sous menu pour choisir l'attribut à modifier
                                  int c;
                                  do
                                  {
                                      Console.Out.WriteLine("*****Options*****");
                                      Console.Out.WriteLine("1-Modifier le nom");
                                      Console.Out.WriteLine("2-Modifier le prix");
                                      Console.Out.WriteLine("3-Modifier la quantité");
                                      Console.Out.WriteLine("4-Terminer");
                                      Console.Out.Write("Donner votre choix: ");
                                      c = int.Parse(Console.In.ReadLine());
                                      switch (c)
                                      {
                                          case 1:
                                              Console.Out.Write("Donner le nouveau nom: ");
                                              Stock[p].Nom = Console.In.ReadLine();
                                              Console.Out.WriteLine("Nom modifié avec succès");
                                              break;
                                          case 2:
                                              Console.Out.Write("Donner le prix: ");
                                              Stock[p].Prix = double.Parse(Console.In.ReadLine());
                                              Console.Out.WriteLine("Prix modifié avec succès");
                                              break;
                                          case 3:
                                              Console.Out.Write("Donner la quantité: ");
                                              Stock[p].Quantite = int.Parse(Console.In.ReadLine());
                                              Console.Out.WriteLine("Quantité modifiée avec succès");
                                              break;
                                          case 4:
                                              Console.Out.WriteLine("Modifications terminées");
                                              break;
                                          default:
                                              Console.Out.WriteLine("Choix invalide");
                                              break;
                                      }
                                  }
                                  while (c != 4);
                              }
                              break;
                          case 5:
                              Console.Out.Write("Donner le nom de l'article à rechercher: ");
                              nom = Console.In.ReadLine();
                              int comp = 0;
                              for (int i = 0; i < Stock.Count; i++)
                              {
                                  if (Stock[i].Nom.ToLower() == nom.ToLower())
                                  {
                                      Console.Out.Write(Stock[i].ToString());
                                      comp++;
                                  }
                              }
                              if (comp == 0)
                              {
                                  Console.Out.WriteLine("Aucun résultat");
                              }
                              break;
                          case 6:
                              double min, max; int cpt = 0;
                              Console.Out.Write("Donner le prix min :");
                              min = double.Parse(Console.In.ReadLine());
                              Console.Out.Write("Donner le prix max: ");
                              max = double.Parse(Console.In.ReadLine());
                              if (min < 0 || max < 0 || min > max)
                              {
                                  Console.Out.WriteLine("Intervalle invalide");
                              }
                              else
                              {
                                  for (int i = 0; i < Stock.Count; i++)
                                  {
                                      if (Stock[i].Prix >= min && Stock[i].Prix <= max)
                                      {
                                          cpt++;
                                          Console.Out.WriteLine(Stock[i]);
                                      }
                                  }
                                  if (cpt == 0)
                                  {
                                      Console.Out.WriteLine("Aucun résultat");
                                  }
                              }
                              break;
                          case 7:
                              foreach (Article a in Stock)
                              {
                                  Console.Out.WriteLine(a);
                              }
                              if (Stock.Count == 0)
                              {
                                  Console.Out.WriteLine("Aucun résultat");
                              }
                              break;
                          case 8:
                              Console.Out.WriteLine("Fin du programme");
                              break;
                          default:
                              Console.Out.WriteLine("Choix invalide");
                              break;
                      }
                  } while (choix != 8);
                  Console.ReadKey();
                 
              }
          }
      
      

Share This Page

Share