Programme caisse

@PITCH Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
@PITCH Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
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

Airox Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   13
 
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
@PITCH Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
le code fonctionne correctement et c'est ce que je recherchais. je te remercie sincèrement de m'avoir aider
0
Airox Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   13
 
Essaye de comprendre les fautes que tu as fait en faisant la comparaison entre les deux
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
quel est le soucis?
0
@PITCH Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
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
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
ligne 46 à 49, essaye :
              montant=  montant + (CAISSE[i][1])*(CAISSE[i][2]) ;
Cela ne te semble pas plus logique, et plus correct?
0
@PITCH Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Je viens de l'essayer mais le résultat est toujours le même. Est-ce que ça passe chez toi ???
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
qu’obtiens-tu comme résultat, et quelles données as-tu introduites?
0
@PITCH Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
les 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
@PITCH Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
si si je ne manquerais pas de faire la comparaison. cela m'aidera beaucoup pour d'autres exercices
0