"probleme" avc getch

Résolu/Fermé
CherryBlondy Messages postés 16 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 3 mars 2009 - 26 déc. 2008 à 12:46
CherryBlondy Messages postés 16 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 3 mars 2009 - 26 déc. 2008 à 13:12
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

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
26 déc. 2008 à 12:53
Salut,
Pourrais-tu poser ton code en entier (si ce n'est pas trop long) ?
0
CherryBlondy Messages postés 16 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 3 mars 2009
26 déc. 2008 à 13:04
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
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
26 déc. 2008 à 13:08
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").
0
CherryBlondy Messages postés 16 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 3 mars 2009
26 déc. 2008 à 13:12
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
0