[C] Mon programme s'éteint

Résolu/Fermé
jetair Messages postés 24 Date d'inscription lundi 7 mars 2011 Statut Membre Dernière intervention 2 juillet 2013 - 9 mars 2013 à 18:26
jetair Messages postés 24 Date d'inscription lundi 7 mars 2011 Statut Membre Dernière intervention 2 juillet 2013 - 10 mars 2013 à 19:48
Bonjour,

J'ai crée un programme C et j'aimerai l'envoyer a mes amis. Mais quand je le lance, après avoir entré quelques variables, il s'éteint.

Merci d'avance



3 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
9 mars 2013 à 18:37
system("pause"); à mettre juste avant le return 0; final fera l'affaire
1
jetair Messages postés 24 Date d'inscription lundi 7 mars 2011 Statut Membre Dernière intervention 2 juillet 2013 2
9 mars 2013 à 20:55
Parcontre, je rencontre un problème. Quand il m'affiche le "printf("")" que j'ai programmé, il me met Appuyez sur une touche pour continuer a la suite du printf("")
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
10 mars 2013 à 00:30
Bah c'est normal, c'est le system("pause"); qui te fait ça. Cela permet d'éviter que la fenêtre ne se referme.
Si tu n'aimes pas, tu as l'autre solution : getchar(); getchar() (à mettre deux fois).
0
walidovich_85 Messages postés 608 Date d'inscription mardi 12 janvier 2010 Statut Membre Dernière intervention 25 octobre 2015 73
9 mars 2013 à 18:28
bonsoir,

il faut introduire une pause dans ton programme, soit avec system('pause') ou getch()...

bonne chance
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
9 mars 2013 à 18:38
system('pause') ou getch()...
C'est "pause" entre guillemets qu'il faut mettre.
getch() n'est pas standard. Autant utiliser getchar(); Mais il faudra probablement l'utiliser deux fois.
0
Armulis Messages postés 1236 Date d'inscription vendredi 17 juin 2011 Statut Membre Dernière intervention 10 mai 2020 408
9 mars 2013 à 21:07
SI ça se trouve, ton programme est juste pas encore au point.
On peut le voir?
0
jetair Messages postés 24 Date d'inscription lundi 7 mars 2011 Statut Membre Dernière intervention 2 juillet 2013 2
9 mars 2013 à 21:11
C'est que du débutant:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
double arrondi = 0, nombre = 0;
printf("Nombre a arrondir:");
scanf("%lf", &nombre);
arrondi = ceil(nombre);
printf("L'arrondi de %f est %f", nombre, arrondi);
printf(".");
system("pause");
return 0;
}
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
10 mars 2013 à 00:32
Pour info, ton programme ne donne pas l'arrondi mais le nombre immédiatement supérieur (arrondi par excès).
Et il faut mettre un printf(".\n"); plutôt qu'un printf(".") avant le system("pause") (ou double getchar()); Ou alors, mets un fflush(stdout); L'idée est de forcer l'affichage du flux avant de quitter le programme.
0
jetair Messages postés 24 Date d'inscription lundi 7 mars 2011 Statut Membre Dernière intervention 2 juillet 2013 2
10 mars 2013 à 19:48
Merci!
0