Forum Clubic

C++ Effacer qu'une partie

Bonjour,

Je suis entrain de faire un petit exercice pour les cours,
je cherche une façon d’effacer qu’une partie de ce que j’ai à l’écrant.

Je m’explique, ce que je fais, c’est un menu à multi choix,

quand j’appuye sur 1, ça affiche une imformation ;
2 un autre, etc.

Donc, jusque la tout va bien. Mais ce que je voudrais faire, c’est que quand j’appuie sur 1, ca m’affiche l’option N°1, mais que quand j’appuye dur un autre nombre, ça efface ce qui s’est afficher en appuyant sur 1, mais que le reste soit toujours présent.

Pouvez-vous m’aider ?

Dite moi si je me suis mal expliquez :p.
Edité le 08/01/2008 à 11:46

je suppose que tu affiche tout ca dans une console?
Si oui il faudra tout effacer et tout reecrire. Tu peux faire une fonction qui t’affiche le menu. Puis quand tu affiche une option, ca efface l’ecran, apelle la fonction, puis affiche le choix de l’utilisateur.

Sans passer par ncurses, ça va être dur. Surtout si c’est pour Windows?

Y a peut-être une solution avec le caractère \b (je crois) et getchar().

Merci :slight_smile: j’aurais certainement d’autre question :stuck_out_tongue:
Edité le 07/01/2008 à 15:06

Crée un autre topic dans ce cas, ne soit pas timide.

Voila, c’est reparti :stuck_out_tongue:

Je voudrais savoir, comment que faire pour que, quand j’appuye sur une touche, elle s’enregistre dans une variable, sans que je n’aie besoin d’appuyer sur “Enter” ?
Edité le 07/01/2008 à 16:14

getchar(). Si tu passes par scanf ou puisque tu es en c++, par cin >> machin. Tu as certainement un équivalent; Faut voir avec KarlKox le javateux :wink:

Le problème de “cin>>” c’est que justement, il me demande d’appuyer sur “Enter”. C’est ce que je ne veux pas :slight_smile:

getchar() dans ce cas. Sauf qu’il ne faut pas mélanger C & C++, et surtout pas les IO.

Essaye peek() ou get():

www.cplusplus.com…
www.cplusplus.com…

Plutôt get() que peek() en fait.

Bon,

Voila, grace à beaucoup de temps, et de votre aide :stuck_out_tongue: j’y suis arriver. Je voulais quand même vous montrer le résulta :stuck_out_tongue: ( que le code :stuck_out_tongue: ).

/////////////////////////////////////////////////////////////////////////////////////////
// Entête
/////////////////////////////////////////////////////////////////////////////////////////
/***** Informations utiles *****/
	
//	Nom du programme			:	MenuMultichoix.cpp
//	Auteur				:	Thomas Kundig
//	Version				:	1.0
//	Révision(s)				:	-
//	Description				:	Menu multi choix.

/***** Librairies *****/
#include "stdafx.h"				// Spécifique à .net
#include <iostream>				// Entrées et sorties sur console
#include <conio.h>
using namespace std;


/////////////////////////////////////////////////////////////////////////////////////////
// Variable
/////////////////////////////////////////////////////////////////////////////////////////
char ChTest = 'a'; 
char ChChoix = 0 ;
int InVerification = 0 ;

/////////////////////////////////////////////////////////////////////////////////////////
// Programme principal (Fonction principale)
/////////////////////////////////////////////////////////////////////////////////////////
void main (void)
{
	do
	{
		ChChoix = 0 ;
cout<<"Menu praincipal"<<endl ;
cout<<"***************"<<endl ;
cout<<"[ 1 ]	Option 1"<<endl;
cout<<"[ 2 ]	Option 2"<<endl;
cout<<"[ 3 ]	Option 3"<<endl;
cout<<"[ 4 ]	Option 4"<<endl;
cout<<"[ 5 ]	Option 5"<<endl;
cout<<endl<<"[ ESC ]	Quitter"<<endl<<endl;

	switch(_getch())
	{
	case '1'		: cout<<"	Option 1"<<endl ;
					  break ;
	case '2'		: cout<<"	Option 2"<<endl ;
					  break ;
	case '3'		: cout<<"	Option 3"<<endl ;
					  break ;
	case '4'		: cout<<"	Option 4"<<endl ;
					  break ;
	case '5'		: cout<<"	Option 5"<<endl ;
					  break ;
	case 27			: InVerification = 2 ;
					  break ;
	default			: cout<<"	Vous avez fait un mauvais choix ! "<<endl ;
					  break ;
	}
	if (InVerification != 2) 
	{
		do 
		{
	
			InVerification = 0 ;
	
			cout<<"Appuyer [ r ] pour retourner au menu praincipal ou [ ESC ]pour quitter."<<endl;
			ChChoix = 0 ;
		switch (_getch() )	
		{ case 'r'		: ChChoix = 'r' ;
		 		   break ;

		case 27		: ChChoix = 27 ;
			    	  break ;
		default		: cout<<endl<<"	Vous avez appuie sur une mauvase touche. Veuillez 
                                                                                                                                reessayer."<<endl ;
						InVerification = 9909878 ;
						break ;
	}
	} while (InVerification == 9909878) ;
	system("cls") ;
		}
	else {} 
	}while (ChChoix == 'r');


}

Voila :stuck_out_tongue: pour l’instant, il n’a aucune utilité, mais il poura me servire dans d’autre programme :stuck_out_tongue:

Vous en pensez quoi ?

Merci et bonne journée :slight_smile:
Edité le 08/01/2008 à 10:59