Algorithmique et Programmation C
Résolu
CALiiMERO
Messages postés
69
Date d'inscription
Statut
Membre
Dernière intervention
-
gnurf -
gnurf -
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.
Traduction en Language C :
(J'ai un peu du mal pour la suite... )
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:
- Algorithmique et Programmation C
- Application de programmation - Guide
- Videosurveillance algorithmique - Accueil - Protection
- Programmation envoi sms - Guide
- Programmation vb - Télécharger - Langages
- Ecrire un algorithme qui permet de resoudre ax²+bx+c=0 pdf - Forum Programmation
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.
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.
C'est ce que vous voulez dire?
Algorithme Produit
Variables : PU, qt, Prix
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
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.
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.
Non mais je suis pas d'accord sur cette ligne :
c'est pas logique je trouve, c'est comme si tu as mis : 5 = 5*8 et celà est faut!
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!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'obtiens ça :
C'est correcte?
#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?
Il y a une erreur dans cette ligne :
Quand j'ai compiler le programme et l'exécuter, il ne fait pas le calcule.
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.
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
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