Probléme avec le ''if'' du langage C

Résolu
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.

2 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    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 !");
    }
    1
    1. BaBeL
       
      il m'affiche le même résultat :S
      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();
      }
      0
  2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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,
    0
    1. BaBeL
       
      merci pour la remarque
      j'ai trouvé le problème
      merci infiniment :)
      0