RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 calcule de moyen

Forum : C
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ C

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGES : [1] [2] [3]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM C

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
nowix
Nouveau membre
Inscrit : 02/10/2007
Messages : 14
Message
#143814
Posté le 08/10/07 à 18:40

/*librairies*/ #include<stdio.h> #include<stdlib.h> /*constante */ #define taillemax1 10 #define taillemax2 10 #define taillemax3 10 int main (void) { /*variable */ int nbnote, i, j, numeroeleve , stop,indiceaffichage; float notetableau[taillemax1][taillemax2]; float moyentableau[taillemax3]; double moyenne; double indicearrete ; /* ----debut du programme---- */ /* initialise i et j */ i = 0; j = 0; do { /* ----saisi note ----*/ do { printf ("saisir une note \n"); scanf ("%f", &notetableau[i][j]); indicearrete = notetableau[i][j] ; i = i + 1; } while(indicearrete!=-1); /* Calcule Moyen */ moyenne = 0; for (i = 0; i < nbnote; i = i + 1) { moyenne = moyenne + notetableau[i][j]; } i=i-1 ; moyenne=moyenne+1 ; moyentableau[j] = moyenne / i; j = j + 1; printf ("arrete oui=0 non=1 \nreponse :"); scanf ("%d", &stop); /* on initialise i pour la boucle */ i=0; } while (stop != 0 ); printf (" \n \n "); /* -----affichage moyen ----*/ /* initialisation */ indiceaffichage=j; numeroeleve=0 ; j=0 ; while (indiceaffichage != numeroeleve) { printf ("-eleve %d m :%f \n", j, moyentableau[j]); numeroeleve = numeroeleve + 1; j=j+1 ; } /* ----fin du programme---- */ system ("pause"); return (0); }



j ai essay quelque conseil , mais sa bloque , et je comprend pas pourquoi.Car j ai juste supprime 2 ligne et modifier une ligne et le calcule de moyen ne se passe plus.

merci

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

nowix
Nouveau membre
Inscrit : 02/10/2007
Messages : 14
Message
#143870
Posté le 09/10/07 à 19:19
j aumerai aussi remplacer mon oui=1 non 0 par un oui:o ou non:n mais sa marche pas pourtant j ai aps redefinie ma variable par un char

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

rainbow
Modérateur :
- PHP
Chef de projet(s) :
- IA savane
- Team MoteurProg

Avatar de rainbow
Inscrit : 26/05/2006
Messages : 1115
Message
#143877
Posté le 09/10/07 à 21:08
qu'elle est le bout qui ne passe pas ?
ba justement, si tu transformes oui=1 et non=0 par oui='o' et non='n', tu dois modifier le type de la variable qui doit être char.
__________________________
............ Curtis: RTS 3D ..............
......Image
........... TeamMoteurProg...........

How to ask Questions ou Comment poser une question

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Agahaz
Superviseur :
- Réseaux
Modérateur :
- XP / 2000 / .
- Xhtml/Css
- Visual basic
Avatar de Agahaz
Inscrit : 23/06/2005
Messages : 765
Message
#143878
Posté le 09/10/07 à 21:13
Dans ton calcul de moyenne, tu fais une division par 0 ! Il faut que tu initialise i à si tu veux que ça passe.

caractère ==> char
Il faudra aussi que tu mettes le o et le n entre apostrophes (non pas entre guillemets), car un seul caractère.
while( rep != 'n' ); par exemple
__________________________
FAQ Réseau
N'oubliez pas le tag [Résolu]Image (en haut à droite du titre du sujet)
Site perso sur les éoliennes et la programmation
Radio métal

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE ALLER VOIR SON SITE

nowix
Nouveau membre
Inscrit : 02/10/2007
Messages : 14
Message
#143879
Posté le 09/10/07 à 21:33
code source dit :
/* Calcule Moyen */
moyenne = 0;

for (i = 0; i < nbnote; i = i + 1)
{
moyenne = moyenne + notetableau[i][j];
}

moyenne=moyenne+1 ;
moyentableau[j] = moyenne / i;
j = j + 1;

printf ("arrete oui='o' non='n' \nreponse :");
scanf ("%d", &stop);


}

/*librairie s*/ #include<stdio.h> #include<stdlib.h> /*constante */ #define taillemax1 10 #define taillemax2 10 #define taillemax3 10 int main (void) { /*variable */ int nbnote, i, j, numeroeleve ,indiceaffichage; float notetableau[taillemax1][taillemax2]; float moyentableau[taillemax3]; double moyenne; double indicearrete; char stop ; /* ----debut du programme---- */ /* initialise i et j */ i = 0; j = 0; do { /* ----saisi note ----*/ do { printf ("saisir une note \n"); scanf ("%f", &notetableau[i][j]); indicearrete = notetableau[i][j] ; i = i + 1; } while(indicearrete!=-1); indicearrete=0 ; /* Calcule Moyen */ moyenne = 0; for (i = 0; i < nbnote; i = i + 1) { moyenne = moyenne + notetableau[i][j]; } moyenne=moyenne+1 ; moyentableau[j] = moyenne / i; j = j + 1; printf ("arrete oui='o' non='n' \nreponse :"); scanf ("%d", &stop); /* on initialise i pour la boucle */ i=0; } while (stop != 'o' ); printf (" \n \n "); /* -----affichage moyen ----*/ /* initialisation */ indiceaffichage=j; numeroeleve=0 ; j=0 ; while (indiceaffichage != numeroeleve) { printf ("-eleve %d m :%f \n", j, moyentableau[j]); numeroeleve = numeroeleve + 1; j=j+1 ; } /* ----fin du programme---- */ system ("pause"); return (0); }





ma variable i ne doit pas etre egale a zero sinon je divise par zero ,et elle initialise au debut par le for.

dexieme probleme c quoi la commande pour un char ?

printf ("arrete oui='o' non='n' \nreponse :");
scanf ("%d", &stop);

%d c double ^^

merci

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

nowix
Nouveau membre
Inscrit : 02/10/2007
Messages : 14
Message
#143881
Posté le 09/10/07 à 21:45

/*librairies*/ #include<stdio.h> #include<stdlib.h> /*constante */ #define taillemax1 10 #define taillemax2 10 #define taillemax3 10 int main (void) { /*variable */ int nbnote, i, j, numeroeleve ,indiceaffichage; float notetableau[taillemax1][taillemax2]; float moyentableau[taillemax3]; double moyenne; double indicearrete; char stop ; /* ----debut du programme---- */ /* initialise i et j */ i = 0; j = 0; do { /* ----saisi note ----*/ nbnote=0 ; i = 0; do { printf ("saisir une note \n"); scanf ("%f", &notetableau[i][j]); indicearrete = notetableau[i][j] ; i = i + 1; nbnote=nbnote+1 ; } while(indicearrete!=-1); indicearrete=0 ; /* Calcule Moyen */ moyenne = 0; for (i = 0; i < nbnote; i = i + 1) { moyenne = moyenne + notetableau[i][j]; } nbnote=nbnote-1; moyenne=moyenne+1 ; moyentableau[j] = moyenne / nbnote; j = j + 1; printf ("arrete oui='o' non='n' \nreponse :"); scanf ("%d", &stop); /* on initialise i pour la boucle */ i=0; } while (stop != 'o' ); printf (" \n \n "); /* -----affichage moyen ----*/ /* initialisation */ indiceaffichage=j; numeroeleve=0 ; j=0 ; while (indiceaffichage != numeroeleve) { printf ("-eleve %d m :%f \n", j, moyentableau[j]); numeroeleve = numeroeleve + 1; j=j+1 ; } /* ----fin du programme---- */ system ("pause"); return (0); }



je les refait j ai un probleme en moin je crois mais j ai une boucle qui bug , a essay ^^

car la boucle repart a zero mais elle fefile sur saisir note et normalement si aucune note est saisi et doit pas s ecrire a l infinie non?

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

rainbow
Modérateur :
- PHP
Chef de projet(s) :
- IA savane
- Team MoteurProg

Avatar de rainbow
Inscrit : 26/05/2006
Messages : 1115
Message
#143904
Posté le 10/10/07 à 14:20
déjà si tu as un char, tu dois utiliser la fonction scanf() avec le format %c Smiley

sinon, n'hésites pas à utiliser la dé/incrémentation a++ et a-- c'est plus rapide que a=a+1 et a=a-1 ;)

ciao

rainbow
__________________________
............ Curtis: RTS 3D ..............
......Image
........... TeamMoteurProg...........

How to ask Questions ou Comment poser une question

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

nowix
Nouveau membre
Inscrit : 02/10/2007
Messages : 14
Message
#143918
Posté le 10/10/07 à 16:57
j ai une erreur de boucle , car apres avoir valide par oui ou non , sa defile pourtant j ai bien reinitialiser ma boucle par nbnote=0!


merci



/*librairies*/ #include<stdio.h> #include<stdlib.h> /*constante */ #define taillemax1 10 #define taillemax2 10 #define taillemax3 10 int main (void) { /*variable */ int nbnote, i, j, numeroeleve ,indiceaffichage; float notetableau[taillemax1][taillemax2]; float moyentableau[taillemax3]; double moyenne; double indicearrete; char stop ; /* ----debut du programme---- */ /* initialise i et j */ i = 0; j = 0; do { /* ----saisi note ----*/ nbnote=0 ; i = 0; do { printf ("saisir une note \n"); scanf ("%f", &notetableau[i][j]); indicearrete = notetableau[i][j] ; i = i + 1; nbnote=nbnote+1 ; } while(indicearrete!=-1); indicearrete=0 ; /* Calcule Moyen */ moyenne = 0; for (i = 0; i < nbnote; i = i + 1) { moyenne = moyenne + notetableau[i][j]; } nbnote=nbnote-1; moyenne=moyenne+1 ; moyentableau[j] = moyenne / nbnote; j = j + 1; printf ("arrete oui='o' non='n' \nreponse :"); scanf ("%c", &stop); /* on initialise i pour la boucle */ i=0; } while (stop != 'o' ); printf (" \n \n "); /* -----affichage moyen ----*/ /* initialisation */ indiceaffichage=j; numeroeleve=0 ; j=0 ; while (indiceaffichage != numeroeleve) { printf ("-eleve %d m :%f \n", j, moyentableau[j]); numeroeleve = numeroeleve + 1; j=j+1 ; } /* ----fin du programme---- */ system ("pause"); return (0); }

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

rainbow
Modérateur :
- PHP
Chef de projet(s) :
- IA savane
- Team MoteurProg

Avatar de rainbow
Inscrit : 26/05/2006
Messages : 1115
Message
#143923
Posté le 10/10/07 à 17:31
qu'est-ce qui défile ?

P.S. Le i=0; en fin de ta boucle est inutile ;)
__________________________
............ Curtis: RTS 3D ..............
......Image
........... TeamMoteurProg...........

How to ask Questions ou Comment poser une question

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

nowix
Nouveau membre
Inscrit : 02/10/2007
Messages : 14
Message
#143928
Posté le 10/10/07 à 19:17
essay tu verra je peux pas prendre de screen car sa va tros vite apres erreur^^

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM C



    PAGES : [1] [2] [3]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.