Petit soucis lors de l affichage du resultat

anonymes987031 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
NHenry Messages postés 15221 Date d'inscription   Statut Modérateur Dernière intervention   -
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
 
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 15221 Date d'inscription   Statut Modérateur Dernière intervention   366
 
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
 
Salut,

C'est pas du C# ce code.
0
NHenry Messages postés 15221 Date d'inscription   Statut Modérateur Dernière intervention   366 > Utilisateur anonyme
 
Merci, corrigé.
0