Programme caisse

salut a tous. j'ai un soucis avec mon code et j'aimerais bien recevoir une aide de votre part.
le problème est que je doit créer un programme en c qui permet de calculer et d'afficher le prix total des articles ( quelques soit le nombre d'articles) .
pour etre plus explicite ce programme est un peu comme celui des caisses des supermarchés. l'utilisateur doit pouvoir rentrer le prix de l'article ensuite la quantité et la machine lui retourne le prix total (TVA inclut) .
je joins mon code et j'espère recevoir une correction de ce code de votre part. merci

#include <stdio.h>
#include <stdlib.h>
#include <time.h>



int main()

{

    printf("=== CAISSE ===\n\n");
    printf("Le but de ce programme est de faire le recu d'un client !\n\n");

   float TVA=0.18;
   int CAISSE[50][2];
    int continu[1];
    int i=0, j=0 ;
    int montant=0 , Mtva=0 , Mtotal=0;


     printf("bienvenue a la caisse \n\n");

      for( i=0 ; i<50 ; i++)
      {
          printf("entrer les info du produit %d \n\n", i+1);
            for ( j=0 ; j<2 ;j++)
            {
                scanf("%d" , &CAISSE[i][j]);
            }
          printf("voulez vous enregistrer un autre produit \n\n ");
            printf("1: OUI \n\n ");
            printf("0: NON \n\n ");
            scanf("%d" , &continu[0]);

            if (continu[0]==1)
            {
                continue;
            }
            else
                { break;
                 }
      }

     for(i=0 ; i<50 ; i++)
     {
         for(j=0 ; j<2 ;j++)
         {
             montant=  (CAISSE[i][j])*(CAISSE[i][j]) ;
         }
     }
     //calcul de ta TVA

     Mtva=(montant*TVA);
     Mtotal= montant+Mtva ;
     // afficher ce montant

     printf("TVA=%f", TVA );
     printf("\n\n");
     printf("MONTANT TVA = %d", Mtva);
      printf("\n\n");
     printf("MONTANT TOTAL = %d",Mtotal);

     return 0;
}

3 réponses

  1. Voilà une petite correction comme tu me l'as gentiment demandé ;)

    Si tu as des questions sur le code n'hésite pas!

    #include <stdio.h>
    #include <stdlib.h>
    
    #define maxArticle 50
    
    int main()
    
    {
    
        float TVA=0.18, Mtva=0, Mtotal=0;
        int CAISSE[maxArticle][1];
        int continu=1;
        int i=0, j=0 ;
        int montant=0;
    
        for(i=0;i<maxArticle;i++)
        {
            for(j=0;j<2;j++)
            {
                CAISSE[i][j]=0;
            }
        }
    
        printf("=== CAISSE ===\n\n");
        printf("Le but de ce programme est de faire le recu d'un client !\n\n");
    
        printf("Bienvenue a la caisse \n\n");
    
        i=0;
        while(i<maxArticle)
        {
            printf("\nEntrer les infos du produit %d \n\n", i+1);
            printf("Prix du produit: ");
            scanf("%d", &CAISSE[i][0]);
            printf("Quantite: ");
            scanf("%d", &CAISSE[i][1]);
    
            montant=montant+(CAISSE[i][0])*(CAISSE[i][1]) ;
    
            printf("\nNouveau produit\n1 = Oui\n2 = Non\n");
            scanf("%d", &continu);
    
            if(continu!=1)
            {
                i=maxArticle;
            }
            i++;
        }
    
        //calcul de ta TVA
    
        Mtva=(montant*TVA);
    
        Mtotal= montant+Mtva ;
        // afficher ce montant
        printf("MONTANT SANS TVA=%d", montant);
        printf("\n");
        printf("TVA=%f", TVA );
        printf("\n");
        printf("MONTANT TVA = %f", Mtva);
        printf("\n");
        printf("MONTANT TOTAL = %f",Mtotal);
    
        return 0;
    }
    
    1
    1. le code fonctionne correctement et c'est ce que je recherchais. je te remercie sincèrement de m'avoir aider
      0
    2. Essaye de comprendre les fautes que tu as fait en faisant la comparaison entre les deux
      0
  2. Contributeur
    quel est le soucis?
    0
    1. Le soucis se trouve lors de l,affichage du montant total. Quand Je calcul théoriquement je ne trouve pas le même résultat que la machine. Tu peux essayé pour voir
      0
    2. Contributeur
      ligne 46 à 49, essaye :
                    montant=  montant + (CAISSE[i][1])*(CAISSE[i][2]) ;
      Cela ne te semble pas plus logique, et plus correct?
      0
    3. @yg_beJe viens de l'essayer mais le résultat est toujours le même. Est-ce que ça passe chez toi ???
      0
    4. Contributeur
      qu’obtiens-tu comme résultat, et quelles données as-tu introduites?
      0
    5. @yg_beles resultats ne sont pas les memes. je tape 1000 a la premiere ligne et 2 a la seconde ligne et je trouve un resultat mais quand je ferme le programme et que je le relance avec le memes valeurs c'est a dire 1000 et 2 il ne me donne pas le meme resultat. chaque fois que je relance le programme avec les memes valeurs ce nest pas le meme resultat quil me donne
      0
  3. si si je ne manquerais pas de faire la comparaison. cela m'aidera beaucoup pour d'autres exercices
    0