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

lolseb Messages postés 77 Statut Membre -  
lolseb Messages postés 77 Statut Membre -
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 ^^

4 réponses

electrodeb Messages postés 84 Statut Membre 17
 
Bonjour,

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

Electrodeb
0
tatou_38 Messages postés 1954 Date d'inscription   Statut Membre Dernière intervention   121
 
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 ?
0
lolseb Messages postés 77 Statut Membre
 
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
0
lolseb Messages postés 77 Statut Membre
 
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?
0