Débutant demande conseil

Le
HB
Bonjour,

je début dans dans la programmation, j'ai fait un petit exercice et je ne
comprends pas pourquoi il ne fonctionne pas correctement. le programme a
était écrit avec Code Block.

Normalement il devrait donner la remise de 1% si montant entre 2000 et 5000
et 2% si supèrieur à 5000, ainsi que le prix net à payer. Mais a chaque fois
il me donne la remise de 1% et de 2% quelque soit le motant.

Si vous pouviez m'expliquer pourqoui mon programme réagis ainsi :

merci

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

int main()
{

float ttc,remise,prix;
float un = 1;
float deux = 2;
printf("Entrez le prix d'achat TTC");
scanf (" %f", &ttc);
if ((ttc> 00) && (ttc<P00));
{
remise = ttc*un/100;
prix = ttc- remise;
printf("la remises commercial est de %10.3f le net a payer est de
%10.3f", remise, prix);
}
if (ttc > 5000);
{
remise = ttc*deux/100;
prix = ttc - remise;
printf ("la remise commercial est de %10.3f le net a payer est de
%10.3f", remise, prix);
}
return 0;
}
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
espie
Le #16798541
In article HB
Bonjour,

je début dans dans la programmation, j'ai fait un petit exercice et je ne
comprends pas pourquoi il ne fonctionne pas correctement. le programme a
était écrit avec Code Block.

Normalement il devrait donner la remise de 1% si montant entre 2000 et 5000
et 2% si supèrieur à 5000, ainsi que le prix net à payer. Mais a chaque fois
il me donne la remise de 1% et de 2% quelque soit le motant.

Si vous pouviez m'expliquer pourqoui mon programme réagis ainsi :

merci

#include #include


Si tu veux faire du C++, achete-toi un bouquin de C++... les et consort, c'est du C, et ca n'est meme pas dans la norme.

int main()
{

float ttc,remise,prix;
float un = 1;
float deux = 2;
printf("Entrez le prix d'achat TTCn");
scanf (" %f", &ttc);
if ((ttc> 00) && (ttc<P00));



Un ; en trop -> instruction vide. Le bloc qui suit est
toujours effectue...

{
remise = ttc*un/100;
prix = ttc- remise;
printf("nla remises commercial est de %10.3f le net a payer est de
%10.3fn", remise, prix);
}
if (ttc > 5000);
{
remise = ttc*deux/100;
prix = ttc - remise;
printf ("nla remise commercial est de %10.3f le net a payer est de
%10.3fn", remise, prix);
}
return 0;
}



Je ne sais pas ce que vaut CodeBlock, mais c'est tres surprenant qu'il
ne t'affiche pas au moins un avertissement en voyant un test qui
controle une instruction vide sur la meme ligne, surtout avec un bloc
d'instruction sans raison juste derriere...
Wykaaa
Le #16799551
Marc Espie a écrit :
In article HB
Bonjour,

je début dans dans la programmation, j'ai fait un petit exercice et je ne
comprends pas pourquoi il ne fonctionne pas correctement. le programme a
était écrit avec Code Block.

Normalement il devrait donner la remise de 1% si montant entre 2000 et 5000
et 2% si supèrieur à 5000, ainsi que le prix net à payer. Mais a chaque fois
il me donne la remise de 1% et de 2% quelque soit le motant.

Si vous pouviez m'expliquer pourqoui mon programme réagis ainsi :

merci

#include #include


Si tu veux faire du C++, achete-toi un bouquin de C++... les et consort, c'est du C, et ca n'est meme pas dans la norme.

int main()
{

float ttc,remise,prix;
float un = 1;
float deux = 2;
printf("Entrez le prix d'achat TTCn");
scanf (" %f", &ttc);
if ((ttc> 00) && (ttc<P00));



Un ; en trop -> instruction vide. Le bloc qui suit est
toujours effectue...

{
remise = ttc*un/100;
prix = ttc- remise;
printf("nla remises commercial est de %10.3f le net a payer est de
%10.3fn", remise, prix);
}
if (ttc > 5000);





Là aussi, il faut enlever le ;
{
remise = ttc*deux/100;
prix = ttc - remise;
printf ("nla remise commercial est de %10.3f le net a payer est de
%10.3fn", remise, prix);
}
return 0;
}



Je ne sais pas ce que vaut CodeBlock, mais c'est tres surprenant qu'il
ne t'affiche pas au moins un avertissement en voyant un test qui
controle une instruction vide sur la meme ligne, surtout avec un bloc
d'instruction sans raison juste derriere...


HB
Le #16804261
Je m'excuse j'étais sur le mauvais groupe, mais j'ai trouvé l'erreur

Merci
"Wykaaa" 48cae62c$0$875$
Marc Espie a écrit :
In article HB
Bonjour,

je début dans dans la programmation, j'ai fait un petit exercice et je
ne comprends pas pourquoi il ne fonctionne pas correctement. le
programme a était écrit avec Code Block.

Normalement il devrait donner la remise de 1% si montant entre 2000 et
5000 et 2% si supèrieur à 5000, ainsi que le prix net à payer. Mais a
chaque fois il me donne la remise de 1% et de 2% quelque soit le motant.

Si vous pouviez m'expliquer pourqoui mon programme réagis ainsi :

merci

#include #include


Si tu veux faire du C++, achete-toi un bouquin de C++... les et consort, c'est du C, et ca n'est meme pas dans la norme.

int main()
{

float ttc,remise,prix;
float un = 1;
float deux = 2;
printf("Entrez le prix d'achat TTCn");
scanf (" %f", &ttc);
if ((ttc> 00) && (ttc<P00));



Un ; en trop -> instruction vide. Le bloc qui suit est
toujours effectue...

{
remise = ttc*un/100;
prix = ttc- remise;
printf("nla remises commercial est de %10.3f le net a payer est de
%10.3fn", remise, prix);
}
if (ttc > 5000);





Là aussi, il faut enlever le ;
{
remise = ttc*deux/100;
prix = ttc - remise;
printf ("nla remise commercial est de %10.3f le net a payer est
de %10.3fn", remise, prix);
}
return 0;
}



Je ne sais pas ce que vaut CodeBlock, mais c'est tres surprenant qu'il
ne t'affiche pas au moins un avertissement en voyant un test qui
controle une instruction vide sur la meme ligne, surtout avec un bloc
d'instruction sans raison juste derriere...




Publicité
Poster une réponse
Anonyme