Algorithmique et Programmation C

Résolu
Bonjour,
Je voudrais savoir les fautes que j'ai commis dans cette excercice (en Algorithmique et la traduction en C) et la suite SVP.

Exercice :
Ecrire un programme qui calcule et affiche le montant net à payer d’un produit.
On donne :
- La quantité et le prix unitaire sont entrée au clavier.
- Le taux de T .V.A = 20%.
- Une remise sur le montant hors taxe de 5%.

Algorithme Produit

Variables : PU, qt, Prix_HT, Prix_TTC.

Debut
  Ecrire("Entrer le prix unitaire du produit : ") ;
  Lire (PU) ;
  Ecrire("Entrer la quantité du produit : ") ;
  Lire(qt) ;
  Prix_HT   <- (PU*qt)*(1-0.05) ;
  Prix_TTC <- Prix_HT*(1+0.2) ;
  Ecrire("Le montant net à payer est de : ",Prix_TTC, "€") ;
Fin


Traduction en Language C :

#include<stdio.h>
int PU,qt ;
printf("Entrer le prix unitaire du produit : ") ;
scanf("%d" ,&PU) ;
printf("Entrer la quantité du produit : ") ;
scanf("%d" ,&qt) ;


(J'ai un peu du mal pour la suite... )
Configuration: Internet

12 réponses

  1. De rien, bon courage pour la suite!
    0
    1. Merci encore pour ton soutient et ton aide! j'ai tout compris maintenant. Bon boulot !
      0
      1. Ah oui, je n'avais pas réagit avant, ça fait un bout que je n'ai pas fait de C.
        La syntaxe de ton printf n'est pas correcte, tu ne dois avoir qu'une seule chaîne de contrôle:
        printf("chaîne de contrôle ",expression-1, ..., expression-n);
        En fait tu dois mettre les %d (pour un entier), %lf (pour un flottant) à la place où tu souhaites qu'apparaisse ta valeur.
        Par exemple: printf("j'ai %d ans", an);
        Si la variable an vaut 5, on aura "j'ai 5 ans".

        Donc dans ton cas, la ligne correcte serait : printf("Le montant net à payer est de : %d €",Prix);

        Par contre ton prix ne sera sûrement pas un entier, donc définis le en double, et remplace les %d par des %lf.
        Un site bien pour apprendre les bases : http://www-roc.inria.fr/secret/Anne.Canteaut/COURS_C/chapitre1.html
        0
        1. Il y a une erreur dans cette ligne :

           printf("Le montant net à payer est de :","%d",Prix,"€");


          Quand j'ai compiler le programme et l'exécuter, il ne fait pas le calcule.
          0
          1. Merci pour votre Aide !!
            0
            1. Oui, voila, ça marche comme ça, et ton code est optimisé.
              0
              1. j'obtiens ça :

                #include<stdio.h>
                int Prix,qt ;
                printf("Entrer le prix unitaire du produit : ") ;
                scanf("%d" ,&Prix) ;
                printf("Entrer la quantité du produit : ") ;
                scanf("%d" ,&qt) ;
                Prix=(Prix*qt)*(1-0.05)*(1+0.2);
                printf("Le montant net à payer est de :","%d",Prix,"€");


                C'est correcte?
                0
                1. Ah non je retire ce que j'ai dis parce que le prix prend la nouvelle valeur...
                  0
                  1. Non mais je suis pas d'accord sur cette ligne :

                    Prix <- (Prix*qt)*(1-0.05)*(1+0.2) ; 


                    c'est pas logique je trouve, c'est comme si tu as mis : 5 = 5*8 et celà est faut!
                    0
                    1. Non, en fait je voyais plutôt
                      Variables : Prix, qt.
                      Debut
                      Ecrire("Entrer le prix unitaire du produit : ") ;
                      Lire (Prix) ;
                      Ecrire("Entrer la quantité du produit : ") ;
                      Lire(qt) ;
                      Prix <- (Prix*qt)*(1-0.05)*(1+0.2) ;
                      Ecrire("Le montant net à payer est de : ",Prix, "€") ;
                      Fin

                      Je suppose que tu débutes en C, donc saches que tu as droit de mettre des opérations du type :
                      x <- x+2;
                      Cela signifie que tu prends l'ancienne valeur de x, que tu lui ajoutes 2, et que le résultat de cette opération sera la nouvelle valeur de x. En C, tu écriras: x=x+2;
                      Comme ça tu n'utilises qu'une variable au lieu de deux ou trois.
                      0
                      1. C'est ce que vous voulez dire?

                        Algorithme Produit

                        Variables : PU, qt, Prix

                        Debut
                          Ecrire("Entrer le prix unitaire du produit : ") ;
                          Lire (PU) ;
                          Ecrire("Entrer la quantité du produit : ") ;
                          Lire(qt) ;
                          Prix <- (PU*qt)*(1-0.05)*(1+0.2) ;
                          Ecrire("Le montant net à payer est de : ",Prix, "€") ;
                        Fin
                        0
                        1. Tu as juste à traduire ton pseudo code (ce que tu appelles 'algorithme') en C pour la suite..
                          Par contre pourquoi utilises tu 3 variables?
                          Une seule variable suffit, la variable "prix". En transcrivant ton pseudo code en code on voit rapidement que deux opérations sont réalisées sur une seule variable, il n'est pas utile d'en utiliser 3.
                          0