Petit soucis lors de l affichage du resultat

Fermé
anonymes987031 Messages postés 15 Date d'inscription jeudi 13 octobre 2016 Statut Membre Dernière intervention 26 novembre 2017 - Modifié par baladur13 le 16/10/2016 à 11:55
NHenry Messages postés 15163 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 1 novembre 2024 - 16 oct. 2016 à 15:32
salut a tous, j ai un petit soucis avec cette exercice :

les factures concernant les réparations des habitations se voient appliquer un taux de TVA variables:
dans les maison de + de 15 ans , on applique un taux de 6%.
dans les maison plus récentes , on applique un taux de 21%.
ecrire un programme qui calcules le prix total d une facture dont on connait le prix HT et l age de la maison.

voici ce que j ai deja ecrit et je ne voit pas où est mon probléme merci de votre aide.
#include <stdio.h>
#include <stdlib.h>

void main()
{
    float prix,tva1,tva2,age;
    prix=age=0;
    tva1= prix*0.06;
    tva2=prix*0.21;

    printf("\n entrer le prix de la maison HT svp:");
    scanf("%d",&prix);

    printf("\n entrer l'age de la maison svp:");
    scanf("%d",&age);

    if ( age > 15)
    {
        printf("le prix total de la maison est\n:%2.f",tva1);
    }
    else
    {
        printf(" le prix total de la maison est\n:%2.f",tva2);
    }
}


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

Utilisateur anonyme
16 oct. 2016 à 12:39
Bonjour

Tu a visiblement mal compris en quoi consistait une instruction d'affectation ( variable = expression )

Quand tu écris
tva1= prix*0.06;
, cela ne crée absolument pas une relation entre les variables prix et tval1. Cela calcule ce qui est à droite du =, ici la valeur de prix*0.06, et ça met le résultat dans la variable qui est à gauche du =, c'est à dire tva1. Mais si tu changes prix ensuite, ça ne change pas tva1.
Je pense qu'à partir de là, la correction est évidente, je te laisse chercher un peu.
0
NHenry Messages postés 15163 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 1 novembre 2024 345
Modifié par NHenry le 16/10/2016 à 12:46
J'ajouterai même :

prix=age=0;
Age==0 et prix==-1
Il te faut séparer les 2 assignations.

float prix,tva1,tva2,age;
scanf("%d",&prix);

%d c'est pour les entiers, pas pour les flottants (%f).

Question logique :
tva1= prix*0.06;
printf("le prix total de la maison est\n:%2.f",tva1);

tva1 est le prix de la TVA, pas le prix total.
0
Utilisateur anonyme
16 oct. 2016 à 15:26
Salut,

C'est pas du C# ce code.
0
NHenry Messages postés 15163 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 1 novembre 2024 345 > Utilisateur anonyme
16 oct. 2016 à 15:32
Merci, corrigé.
0