CodeBlocks: exos langage C

Fermé
Utilisateur anonyme - 27 sept. 2012 à 18:57
 Utilisateur anonyme - 5 oct. 2012 à 17:30
Bonjour à tous, il m'a été demandé pour le cours de programmation de réaliser deux programmes, le hic c'est que je bloque comme tout débutant...
Je poste ce message en dernier recours, enfin bref
Voici tout de même mes deux énoncés>>>>

1°) Rédiger un programme qui permet d'encoder le prix Hors TVA d'un article (sous forme d'un réel), le Taux TVAC (sous forme d'un entier) et la quantité vendue (aussi sous forme d'entier) puis qui affiche, sous forme de facture, ces mêmes renseignements en y ajoutant le prix Total TVAC

Voici ce que j'ai réalisé :


#include<stdio.h>
#include<conio.h>

main()

{float a=0;
int b=0,c=0;
printf("Veuillez introduire le prix HTVAC : ");
scanf("%f",&a);
printf("Entrez maintenant un taux de TVA : ");
scanf("%d",&b);
printf("Pour finir, tapez votre quantite vendue : ");
scanf("%d",&c);
printf("\n\nVoici votre facture :");
printf(">>>>>>>>>>>>>>>>>>>>>>>");
printf("\n\n\n     PRIX HTVAC      + %fEuro",a);
printf("\n\n     TAUX TVA        + %dEuro",b);
printf("\n\nQUANTITE VENDUE      + %dEuro",c);
printf("\n________________________________________________\n");
printf("\n\tTOTAL  \t     + %.fEuro\n",a,b,a*1+b/100*c);
getch();
}


Le total TVAC= prixHTVA *(1+TauxTVA/100)*quantité pourtant mon calcul ne fonctionne pas... étrange


2°)Rédiger un programme qui permet d'entrer un nombre de degrés (réel) au clavier représentant un angle. Le programme transformera ce nombre en radians et calculera le sinus et le cosinus de l'angle, affichant à l'écran tous les résultats. Les fonctions sin() et cos() définies dans math.h, calculent respectivement le sin et le cos d'un angle donné en radians).

Ici, j'ai entamé mon programme mais je suis perdu

#include <stdio.h>
#include <math.h>

main()

{float NbreDegre;
printf("Veuillez entrez votre angle en degre :");
scanf("%f",&NbreDegre);
getch();
}


En plus mon float NbreDegre ne peut pas dépasser plus de 2 décimales et ici il sera représenté en hexadécimale, complètement incohérent je sais mais j'ai peu d'informations sur la procédure à faire pour y arriver. Si quelqu'un peut m'expliquer en détail comment il s'y prendrait ce serait sympa, merci.

6 réponses

p3t3r42 Messages postés 74 Date d'inscription mardi 18 janvier 2011 Statut Membre Dernière intervention 2 février 2014 28
29 sept. 2012 à 16:08
Ce code me parait correct dans l'ensemble, mais il y a quelques détails qui font défaut :
Les fonctions sinus et cosinus s'écrive ainsi :
sin(angle); et cos(angle);

La constant pi est enregistrée dans "math.h" sous la forme :
#define M_PI 3.141592653..."

Elle peut donc être directement utilisée dans la formule :
(NbreDegre/180)*M_PI

Il manque une paranthèse fermée à la fin des 2 derniers "printf".

Ce qui donne par exemple :
printf("En voici son Cosinus : %f\n", cos((NbreDegre/180)*nbrePI));

Etant donné que les valeurs du sinus et du cosinus sont directement affichées dans ce programme, il n'est plus nécessaire de créer les variables "a" et "b".
2
p3t3r42 Messages postés 74 Date d'inscription mardi 18 janvier 2011 Statut Membre Dernière intervention 2 février 2014 28
27 sept. 2012 à 19:22
Salut, =D

Pour le 1er exo :
Le problème est là :
printf("\n\tTOTAL  \t     + %.fEuro\n",a,b,a*1+b/100*c);

la chaîne de caractères ne contient qu'un "%.f" et pourtant tu mets 3 nombres en paramètres. Dans ton cas, le programme affichait, pour le total, la valeur de "a". De plus, il manque les parenthèses dans la formule... En gros cette ligne devrait ressembler plutôt à :
printf("\n\tTOTAL  \t     + %.fEuro\n", a*(1+b/100)*c);


Autre détail :
b/100
fera toujours zéro car b et 100 sont du type int donc le résultat sera aussi du type int et il sera tronqué à l'unité. Solution : remplacer le type int de "b" par float ou caster l'opération :
a*(1.0 + (float)b/100.0) *c


Pour l'exo suivant :
tu es bien parti, il faut ensuite effectuer les opérations avec la variable "NbreDegres". Je conseillerais de créer trois autres variables pour stocker les résultats de la conversion, du sinus et du cosinus. Attention, les fonctions sinus et cosinus prennent en paramètre un angle en radians !
J'essai de ne pas trop t'en dire pour que tu réfléchisses toi même sur les détails...

Allez, au boulot ! ;)
0
Utilisateur anonyme
28 sept. 2012 à 16:04
Ok je vais voir cela, merci beaucoup
0
Utilisateur anonyme
28 sept. 2012 à 20:30
J'ai réussi mon exo n°1, par contre et vous allez p-e m'en vouloir, je bloque sur l'exo 2, l'énoncé est deja noté au-dessus avec une partie du code que j'ai un peu rectifié. Cela donne :

                
0

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

Posez votre question
Utilisateur anonyme
28 sept. 2012 à 20:32

#include <stdio.h>
#include <math.h>
#define nbrePI 3,14159265
main()
{
float NbreDegre,b=0,c=0;    //*b=0 et c=0 pour mes variables sin et cos
printf("Veuillez entrez votre angle en degre : ");
scanf("%f",&NbreDegre);
printf("\nVotre angle mesure en radians : %f\n",(NbreDegre/180)*nbrePI);
printf("Voici votre sinus de l'angle radian en question : %f", float Sinus((NbreDegre/180)*nbrePI);     //*(NbreDegre/180)*nbrePI qui représente mon angle en radian
printf("En voici son Cosinus : %f",float cosinus((NbreDegre/180)*nbrePI);
getch();
}
0
Utilisateur anonyme
5 oct. 2012 à 17:30
Merci bcp pour vos aides, contrairement à d'autres qui nous prennent pour des crétins sans arrêt car eux ont déjà atteint le niveau pour programmer facilement.

Je tiens à dire, et ils se reconnaitront que tout le monde passe par là y compris eux mais ils l'ont p-e oublié.

Merci p3t3r42 pour ta réponse ^^
0