Demander si on veut continuer ou arreter le programme

mohamed392 Messages postés 5 Statut Membre -  
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,

continuer ou aretter un programme


1 réponse

tinju95 Messages postés 222 Statut Membre 22
 
Si tu veux continuer à te servir du programme tu mets continuer (si tu continus il faudra que tu attends un peut) et si tu veux le quitter tu mets arrêter.
0
mohamed392 Messages postés 5 Statut Membre
 
oui mais comen c le code je demand
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
mohamed392,

Vu que ton post initial n'est pas clair, on ne peut pas faire une réponse précise. De plus, un minimum de politesse est requis sur le salon (heureusement qu'il y le "bonjour" automatique...).
Sinon en essayant de deviner ce que tu souhaites :
int continuer='O';
while(continuer=='O') {
     int c;
     /*ton code*/
     printf("Voulez-vous continuer (O/N) ? ");
     continuer=getchar();
     while( (c=getchar()) !='\n' && c != EOF );
}
0
Sugel Messages postés 4859 Statut Membre 727
 
J'allais dire que getchar() renvoie un unsigned char, mais...
mais non en fait :o

il renvoie bien un int !

Ce qui est étonnant vu son nom explicite;

EDIT: En fait, il revoie un unsigned char convertit en int.
https://stackoverflow.com/questions/7119470/int-c-getchar

On peut donc bien le caster vers un char dans la plupart des implémentations sans risque d'erreur.

EDIT 2, le retour:
"The reason why the return type is int is because the special value EOF is returned when the end of the input stream is reached. If the return type were char, then there would be no way to signal that the end of the stream was encountered (unless it took a pointer to a variable where this condition was recorded)."
En fait, si un int est retourné et non pas un char, c'est pour qu'il puisse y avoir un moyen de signaler l'arrêt du flux grâce à la valeur spéciale EOF.

Je m'endormirai un peu moins con ce soir.
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
Le hasard fait bien les choses ;-))).
0