Algorithmique et Programmation C

Résolu/Fermé
CALiiMERO Messages postés 69 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 16 février 2014 - 1 nov. 2009 à 21:53
 gnurf - 1 nov. 2009 à 23:45
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... )
A voir également:

12 réponses

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
CALiiMERO Messages postés 69 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 16 février 2014 8
1 nov. 2009 à 22:20
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
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
CALiiMERO Messages postés 69 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 16 février 2014 8
1 nov. 2009 à 22:36
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CALiiMERO Messages postés 69 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 16 février 2014 8
1 nov. 2009 à 22:41
Ah non je retire ce que j'ai dis parce que le prix prend la nouvelle valeur...
0
CALiiMERO Messages postés 69 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 16 février 2014 8
1 nov. 2009 à 22:45
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
Oui, voila, ça marche comme ça, et ton code est optimisé.
0
CALiiMERO Messages postés 69 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 16 février 2014 8
1 nov. 2009 à 22:56
Merci pour votre Aide !!
0
CALiiMERO Messages postés 69 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 16 février 2014 8
1 nov. 2009 à 23:15
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
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
CALiiMERO Messages postés 69 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 16 février 2014 8
1 nov. 2009 à 23:39
Merci encore pour ton soutient et ton aide! j'ai tout compris maintenant. Bon boulot !
0
De rien, bon courage pour la suite!
0