Programme en C, marche pas... :-(

Bonjour,
Je comprend pas pourquoi mon programme ne marche, je voulais qu'il dise s'il a taper sur la bonne lettre ou pas... et il a l'air de totalement oublier le if regarder

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

int main()
{
double somme,note,moyenne,i; //déclaration des variables
char rep;

i=0; //mettre i à 0

do
{ printf("\nEntrez une note :");
scanf("%lf",&note);
i++;
somme=somme+note; //addition des notes
printf("Voulez vous continuez: O/oui N/non !?");
fflush(stdin);
scanf("%c",&rep);

if ((rep!='o')||(rep!='O')||(rep!='N')||(rep!='n'))
{ printf("la valeur va s'afficher appuyer sur une touche");
getch();
}
else
{ printf("Veuillez retaper O/Oui ou N/Non");
scanf("%c",&rep);
}
} while ((rep=='o')||(rep=='O'));

moyenne=somme/i; //calcul de la moyenne

printf("La moyenne est de : %.2lf",moyenne);

getch();
}

Voilà et j'ai beau chercher je comprend pas....
aidez moi ^^
Configuration: Windows XP
Firefox 2.0.0.12

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    La condition de ta boucle if ne doit pas être à base de "ET"?

    Electrodeb
    1. 1. Tavariable de cumul somme n'est pas initialisée. Lors de sa 1re utilisation, sa valeur sera n'importe quoi.
      2. Pour saisir un caractère de choix de menu, tu peux faire :

      rep = getch();
      switch (rep) {
      case 'n' :
      case 'N' :
      .....

      C'est plus clair

      3. à quoi sert ton gettch() en fin de boucle ?
      1. normal je me susi trompé ce n'étais pas des != c'est des == mais sa marche toujours pas... je le modifie sur mon message en fait on peu pas alors voilà c'est aps des différent mais c'est des égale dans mon if
        1. mon getch() de fin de boucle me sert à attendre avant de fermer le programme que je visualise tout, mais c'est quoi ces chose bizard en case ;) pourrais tu m'expliquer?