Aider a completer ce programme

Fermé
chkanda Messages postés 10 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 19 mai 2015 - 10 mai 2015 à 16:40
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 11 mai 2015 à 20:55
Bonjour,

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

main()
{
float R1,R2,R3,Rserie,Rparallele,se1;
R1=10;
R2=10000;
R3=100000;
Rserie=R1+R2+R3;
Rparallele=(R1*R2*R3)/(R1R1+R1R3+R2R3);
/* Utiliser une variable Sel pour sectionner le type de la Req (sel=1 : Rsér, sel=0 : Rpar).
Afficher les résultats avec 2 chiffres après la virgule.

5 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
10 mai 2015 à 16:52
Bonjour,

Pour qu'on puisse t'aider, il faudrait que tu nous dises là où tu bloques précisément plutôt que de donner l'énoncé brut de fonderie.
Donc déjà, tu peux terminer la fonction (au moins mettre le return 0; final), l'accolade fermante...

Note :
1/ R1R2 est considéré par le compilateur comme la variable du même nom. Si tu veux qu'il l'interprète comme le produit de R1 par R3, il faut utiliser l'opérateur *, soit : R1*R3. Idem pour les autres.
2/ R1R1 : ne serait-ce pas plutôt R1 et R2 ?
3/ Tu n'as pas besoin du header math.h
4/ le bon prototype du main() est : int main(void)
5/ Utilise la balise "<code>" pour poster ton code. Exemple :
<code c>ici tu mets ton code</code>

Cdlt,
0
chkanda Messages postés 10 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 19 mai 2015
10 mai 2015 à 17:07
merci infiniment pour vos réponses plutôt conseil.
ou je suis bloqué.
c'est comment programmer la variable Sel pour sectionner le type de la Req (sel=1 : Rsér, sel=0 : Rpar).
merci d'avance
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
10 mai 2015 à 17:55
Pour ça, il suffit de faire un scanf() pour que l'utilisateur attribue une valeur à sel.
Puis après, avec un if, tu initialises Req à Rser ou à Rpar.

Cdlt,
0
Bonjour > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
10 mai 2015 à 22:41
#include<studio. h>
main ()
{
float R1,R2,R3;
RS=R1+R2+R3;
RP=(R1*R2*R3)/(R1R2*R1R3*R2R3);
Scanf ("% f", se1);
If
La suite sur.
0
chkanda > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
10 mai 2015 à 22:43
#include<studio. h>
main ()
{
float R1,R2,R3;
RS=R1+R2+R3;
RP=(R1*R2*R3)/(R1R2*R1R3*R2R3);
Scanf ("% f", se1);
If
La suite svp
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
10 mai 2015 à 22:53
Ce n'est pas main() mais int main(void)...
Ensuite, c'est un scanf("%f",&...); pas de S majuscule, et pas d'espace entre le % et le f.
Je n'ai pas dit de remplacer les + par des * mais de remplacer R1R3 par R1*R3;
Il n'y a pas de float RS, ni de RP...
Les bases ne sont pas maîtrisées. Je te conseille de les revoir avant de t'attaquer à ce problème : https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/14118-un-monde-de-variables
0
chkanda Messages postés 10 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 19 mai 2015
11 mai 2015 à 19:12
#include<studio. h>

int main (viod)

{
float R1,R2,R3,Rs,Rp,Req,Se1;
R1=10;
R2=10000;
R3=100000;

Rs=R1*R2*R3;
Rp=(R1*R2*R3)/(R1*R2+R1*R3+R2*R3);

pritf("entrer 0 pour avoir la resistance serie\n entrer 1 pour avoir la resistance parallele \n")
scanf("%f",&Se1);

if(Se1==0){ Req=Rs; }
if(Se1==1){ Req=Rp; }

printf("la resistance equivalente est %f\n",Req)


}
0
chkanda Messages postés 10 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 19 mai 2015
11 mai 2015 à 19:13
est ce que ce programme est juste
et est ce qu'on peut l'améliorer ?
0
chkanda Messages postés 10 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 19 mai 2015
11 mai 2015 à 19:17
voila l'exercice :

Ecrire un programme qui affiche la résistance équivalente à trois
résistances R1, R2, R3, Dans un premier temps, les résistances seront données par R1= 100?, R2=10 K?, et R3= 100 K?:
- Si les résistances sont branchées en série: Rsér = R1+R2+R3
- Si les résistances sont branchées en parallèle: 1/Rpar = 1/R1 + 1/R2 + 1/R3
Utiliser une variable Sel pour sectionner le type de la Req (sel=1 : Rsér, sel=0 : Rpar).
Afficher les résultats avec 2 chiffres après la virgule.
Reprendre l'exercice en saisissant avec le clavier de ces 3 valeurs des résistances.
0

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

Posez votre question
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
Modifié par fiddy le 11/05/2015 à 20:56
Comme déjà dit :
Utilise la balise "<code>" pour poster ton code. Exemple :
<code c>ici tu mets ton code</code>, sinon c'est illisible.

Ensuite, installe un compilateur et teste ton code avant de poster. Car là, il y a plein de coquilles.
Tu as mis : viod au lieu de void, studio. h au lieu de stdio.h, etc.

Côté fonctionnelle, la formule de calcule des résistances séries n'est pas le produit des résistances mais la somme. Il manque des scanf() pour R1, R2 et R3;

Il manque toujours le return 0;

Voilà, tu as tout à portée de main pour faire un programme compilable. A toi de le tester et d'essayer de corriger les coquilles (oubli de ';', etc.).
Ensuite, poste le programme avec la balise "code" avec les erreurs du compilateur si tu n'arrives vraiment pas à corriger.

Google is your friend
0