[language C] mon programe s'éteint
Résolu
freuh
Messages postés
36
Date d'inscription
Statut
Membre
Dernière intervention
-
freuh Messages postés 36 Date d'inscription Statut Membre Dernière intervention -
freuh Messages postés 36 Date d'inscription Statut Membre Dernière intervention -
bonjour,
voila je débute réelement en programmation ainsi je lis un livre proposant des cours et des exercices ainsi j'ai fais ceci:
#include <stdio.h>
main ()
{ int val ;
int nb_neg = 0 , nb_pos = 0 ;
int somme_pos = 0 ,
somme_neg = 0 ;
float moyenne ;
do
{ printf ("un entier : ") ;
scanf ("%d", &val) ;
if (val > 0)
{ somme_pos = somme_pos + val ;
nb_pos = nb_pos + 1 ;
}
if (val < 0)
{ somme_neg = somme_neg + val ;
nb_neg = nb_neg + 1 ;
}
}
while (val != 0) ;
if ( nb_pos != 0)
{moyenne = somme_pos ;
moyenne = moyenne / nb_pos ;
printf ("moyenne des valeurs positives : %f \n", moyenne) ;
}
else printf ("aucune valeur positive\n") ;
if ( nb_neg != 0)
{moyenne = somme_neg ;
moyenne = moyenne / nb_neg ;
printf ("moyenne des valeurs negative : %f \n", moyenne) ;
}
else printf ("aucune valeur negative\n") ;
voila le résultat devrait me donner au moin deux phrases, or malheureusement mon programme s'étein une fois les conditions rempli , rien ne s'affiche et il s'éteint...
j'en est fais d'autre , voir plus imple, et le résultat est le même , il doit y avoir une manipe que je ne trouve .
merci de m'éclairer...
voila je débute réelement en programmation ainsi je lis un livre proposant des cours et des exercices ainsi j'ai fais ceci:
#include <stdio.h>
main ()
{ int val ;
int nb_neg = 0 , nb_pos = 0 ;
int somme_pos = 0 ,
somme_neg = 0 ;
float moyenne ;
do
{ printf ("un entier : ") ;
scanf ("%d", &val) ;
if (val > 0)
{ somme_pos = somme_pos + val ;
nb_pos = nb_pos + 1 ;
}
if (val < 0)
{ somme_neg = somme_neg + val ;
nb_neg = nb_neg + 1 ;
}
}
while (val != 0) ;
if ( nb_pos != 0)
{moyenne = somme_pos ;
moyenne = moyenne / nb_pos ;
printf ("moyenne des valeurs positives : %f \n", moyenne) ;
}
else printf ("aucune valeur positive\n") ;
if ( nb_neg != 0)
{moyenne = somme_neg ;
moyenne = moyenne / nb_neg ;
printf ("moyenne des valeurs negative : %f \n", moyenne) ;
}
else printf ("aucune valeur negative\n") ;
voila le résultat devrait me donner au moin deux phrases, or malheureusement mon programme s'étein une fois les conditions rempli , rien ne s'affiche et il s'éteint...
j'en est fais d'autre , voir plus imple, et le résultat est le même , il doit y avoir une manipe que je ne trouve .
merci de m'éclairer...
A voir également:
- [language C] mon programe s'éteint
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Symbole allumé éteint - Forum Facebook
- Mon casque jbl s'éteint tout seul - Forum Casque et écouteurs
- Photoshop french language pack ✓ - Forum Photoshop
- Ecran qui s'éteint mais ordinateur toujours en marche - Forum Matériel & Système
4 réponses
Salut,
system("PAUSE") permettra à ton programme d'être compiler que sous Windows
pour rendre ton code portable sur d'autres platformes utiliser plutôt getchar()
system("PAUSE") permettra à ton programme d'être compiler que sous Windows
pour rendre ton code portable sur d'autres platformes utiliser plutôt getchar()
#include <stdio.h> int main () { int val; int nb_neg = 0, nb_pos = 0; int somme_pos = 0, somme_neg = 0; float moyenne; do{ printf ("un entier : "); scanf ("%d", &val); if (val > 0){ somme_pos = somme_pos + val; nb_pos = nb_pos + 1; } if (val < 0){ somme_neg = somme_neg + val; nb_neg = nb_neg + 1; } } while (val != 0); getchar(); if (nb_pos != 0){ moyenne = somme_pos; moyenne = moyenne / nb_pos; printf ("moyenne des valeurs positives : %f \n", moyenne); } else printf ("aucune valeur positive\n"); if (nb_neg != 0) { moyenne = somme_neg; moyenne = moyenne / nb_neg; printf ("moyenne des valeurs negative : %f \n", moyenne); } else printf ("aucune valeur negative\n"); printf("Appuyez sur une touche pour quitter...\n"); getchar(); return 0; }
rajoute a la fin de ton programme "system("PAUSE");" cela aura pour effet de "figer" ta fenetre jusqu'a ce que tu appuies sur une touche
C'est normal car sous windows la fenetre de commande se ferme instantanement apres l'execution de ton programme et il faut donc que tu puisse voir tes résultats.
Pour cela tu rajoute simplement à la fin de ta fonction main la ligne suivante :
system("pause")
Ainsi on te demandera d'appuyer sur une touche à la fin de ton programme pour le quitter et tu pourras donc lire tes résultats.
Pour cela tu rajoute simplement à la fin de ta fonction main la ligne suivante :
system("pause")
Ainsi on te demandera d'appuyer sur une touche à la fin de ton programme pour le quitter et tu pourras donc lire tes résultats.