Probléme avec le ''if'' du langage C
Résolu
BaBeL
-
BaBeL -
BaBeL -
Bonjour,
je voudrait bien savoir où est le probleme dans ce programme C , je veux qu'il affiche juste un résultat , même en écrivant if il me donne les 2 , mais moi je veux qu'une seul
P.S : quand j'écrit else a la place de if
le compilateur dev C ++ , il m'écrit " 17 C:\Tc\BIN\EXE2.CPP expected ';' before "else" "
#include<stdio.h>
#include<conio.h>
main()
{
float a,b,c,choix,s,O,N,k,s2;
printf("Donner la 1ere resistance ",a);
scanf("%f",&a);
printf("Donner la 2eme resistance ",b);
scanf("%f",&b);
printf("Donner la 3eme resistance ",c);
scanf("%f",&c);
printf("Si le Branchement est en Série Appuyer sur O , Si le Branchement est en Parallèle Appuyez Sur N",choix);
scanf("%f",&choix);
if ( choix == O );
s=a+b+c; {
printf(" Le Totale des résistances est : %f",s); }
if ( choix==N );
k=(1/b)+(1/c)+(1/a);
s2=1/k; {
printf(" Le Totale des résistances est : %f",s2); }
getch();
}
edit : titre.
je voudrait bien savoir où est le probleme dans ce programme C , je veux qu'il affiche juste un résultat , même en écrivant if il me donne les 2 , mais moi je veux qu'une seul
P.S : quand j'écrit else a la place de if
le compilateur dev C ++ , il m'écrit " 17 C:\Tc\BIN\EXE2.CPP expected ';' before "else" "
#include<stdio.h>
#include<conio.h>
main()
{
float a,b,c,choix,s,O,N,k,s2;
printf("Donner la 1ere resistance ",a);
scanf("%f",&a);
printf("Donner la 2eme resistance ",b);
scanf("%f",&b);
printf("Donner la 3eme resistance ",c);
scanf("%f",&c);
printf("Si le Branchement est en Série Appuyer sur O , Si le Branchement est en Parallèle Appuyez Sur N",choix);
scanf("%f",&choix);
if ( choix == O );
s=a+b+c; {
printf(" Le Totale des résistances est : %f",s); }
if ( choix==N );
k=(1/b)+(1/c)+(1/a);
s2=1/k; {
printf(" Le Totale des résistances est : %f",s2); }
getch();
}
edit : titre.
A voir également:
- Probléme avec le ''if'' du langage C
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage visual basic - Télécharger - Langages
- Langage basic gratuit - Télécharger - Édition & Programmation
2 réponses
Il ne faut pas mettre de ";" après un if, mais directement les instructions "then"
if (1==2) { printf("1==2 : Chouette je vais révolutionner les maths !"); } else { printf("1!=2 : Mon prof de maths disait donc vrai !"); }
Pas mal d'erreur.
if ( choix == O );
Ceci veut dire : est-ce que la variable choix est égale à la variable O ?
Il faut donc enlever le point-virgule comme déjà signalé plus haut et en plus dans ton cas : if (choix=='O');
Tu souhaites savoir si l'utilisateur à taper sur la lettre O non ?
Dans ce cas, il faudra également rebaptiser ta variable choix en char.
Et les variables O, N sont inutiles puisque ce ne sont pas des variables.
Cdlt,
if ( choix == O );
Ceci veut dire : est-ce que la variable choix est égale à la variable O ?
Il faut donc enlever le point-virgule comme déjà signalé plus haut et en plus dans ton cas : if (choix=='O');
Tu souhaites savoir si l'utilisateur à taper sur la lettre O non ?
Dans ce cas, il faudra également rebaptiser ta variable choix en char.
Et les variables O, N sont inutiles puisque ce ne sont pas des variables.
Cdlt,
le 2eme résultat seuelement
#include<stdio.h>
#include<conio.h>
main()
{
float a,b,c,choix,s,k,s2;
printf("Donner la 1ere resistance ",a);
scanf("%f",&a);
printf("Donner la 2eme resistance ",b);
scanf("%f",&b);
printf("Donner la 3eme resistance ",c);
scanf("%f",&c);
printf("Si le Branchement est en S'rie Appuyer sur 1 , Si le Branchement est en\nParall'le Appuyez Sur n'importe quel touche",choix);
scanf("%f",&choix);
s=a+b+c;
k=(1/b)+(1/c)+(1/a);
s2=1/k;
if ( choix == 1 ) {
printf(" lsdsqjfqsfsq %f",s); }
else {
printf(" dsjdqsjdqsfq %f",s2); }
getch();
}