"probleme" avc getch [Résolu/Fermé]

Signaler
Messages postés
16
Date d'inscription
samedi 6 décembre 2008
Statut
Membre
Dernière intervention
3 mars 2009
-
Messages postés
16
Date d'inscription
samedi 6 décembre 2008
Statut
Membre
Dernière intervention
3 mars 2009
-
Bonjour à tous =)

Je me tourne une nouvelle fois vers vous pour un p'tit prob de programation...

Dans mon programme, pour une plus grande lisibilité j'ai decié de faire defiler plusieurs "écrans". Pour passer à un écran suivant je demande à l'utilisateur d'appuyer sur n'importe quelle touche et après je nettoie l'écran. Voici mon code :

//Passer à l'écran suivant
printf("\n\n\n\n\t Appuyez sur n'importe quelle touche pour continuer...\n");
getch();

//Nettoyer l'écran
system("cls");

En soit il ne me pose pas de problème, il marche même très bien. Mais voilà tout à la fi de mon code il me reaffiche "Appuyer sur n'importe quelle touche pour continuer..." Je parle de la toute toute fin juste avant que le programme ne se ferme. J'aimerais comprendre pourquoi et surtout comment contourner ce p'tit problème =)

Mici d'avance pour vor réponse

Joyeux noël à tous (même si c'est passé)

PS: j'ai essayé avec getchar j'ai eu la même chose

4 réponses

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 758
Salut,
Pourrais-tu poser ton code en entier (si ce n'est pas trop long) ?
Messages postés
16
Date d'inscription
samedi 6 décembre 2008
Statut
Membre
Dernière intervention
3 mars 2009

Bien sur =) le voici :

Ceci dit javais déjà noté ce problème mais comem disons que j'ai finit le jeu est qu'il fait plus de 1000l ignes... disont que c'est pas très ciblé comme problème je sais pas si je suis clair amis bon voisi le code :

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
#include <conio.h>

//declaration des variables

char terrain[12][8];

int main()
{
//Affichage du titre
printf("\n\n\n\t ** ** *** ****** ******** ******** ******** \n");
printf("\t *** *** ** ** ** ** ** ** ** ** \n");
printf("\t **** **** ** ** ** ** ** ** ** \n");
printf("\t ** *** ** ** ** ****** ** ****** ******** \n");
printf("\t ** ** ********* ** ** ** ** ** \n");
printf("\t ** ** ** ** ** ** ** ** ** ** \n");
printf("\t ** ** ** ** ****** ** ******** ** ** \n\n");
printf("\t\t\t** ** **** ** ** ******** \n");
printf("\t\t\t*** *** ** *** ** ** ** \n");
printf("\t\t\t**** **** ** **** ** ** ** \n");
printf("\t\t\t** *** ** ** ** ** ** ** ** \n");
printf("\t\t\t** ** ** ** **** ** ** \n");
printf("\t\t\t** ** ** ** *** ** ** \n");
printf("\t\t\t** ** **** ** ** ******** \n");

//Passer à l'écran suivant
printf("\n\n\n\n\t Appuyez sur n'importe quelle touche pour continuer...\n");
getch();

//Nettoyer l'écran
system("cls");

system("PAUSE");
return 0;
}

Voilà =) si ça peut vous aider à mieux comprendre mon problème
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 758
Oui, ça aide à comprendre ^^.

Mais voilà tout à la fi de mon code il me reaffiche "Appuyer sur n'importe quelle touche pour continuer..."
C'est normal, tout à la fin de ton programme tu as : system("pause"); qui te fait apparaître ("Appuyer sur ..."), et qui te ferme le programme juste après.
Si tu ne veux que la fenêtre se ferme directement, t'enlèves cette instruction. Mais rajoute quand même un getchar();
sinon la fenêtre se fermera aussitôt et tu verras pas l'effet de ton : system("cls").
Messages postés
16
Date d'inscription
samedi 6 décembre 2008
Statut
Membre
Dernière intervention
3 mars 2009

Merci beaucoup !

En faites j'avais pas vu que j'avais ecrit exactement la même phrase (je me disais bien qu'elle était jolie et qu'elle me disait quelques chose) ça m'a indué en erreur XD

merci beaucoup =)
bonne fêtes à tous