c est un menu optimisé pour un ecran de 80 colonnes par 24 lignes ( type terminal vt100/vt102 ) tournant sous linux
Source / Exemple :
#include <stdlib.h>
#include <iostream>
#include <unistd.h>
#include <string.h>
using namespace std;
int main(void)
{
// DECLARATIONS:
// x= position sur l ecran sur l axe des abscisses
// y= position sur l ecran sur l axe des ordonnées
// chaine= le nombre de titres du menu
// choix= le choix qu effectue l utilisateur à la suite de l affichage du menu
// menu= tableau contenant les titres du menu
int x,y,index,chaine,choix;
char menu[9][40]={"1_Acquisition","2_Déplacement robot","3_Commande porte","4_Commande voyants","5_Lecture carte","6_Rotation zoom","7_Tester reseau","Entrez votre choix: ",""};//on declare le tableau contenant le menu
do
{
index=0;
chaine=0;
cout<<"\x1b[2J";
while(strcmp(menu[index],"")!=0) //tant que les 2 chaines sont differentes
{
chaine++;
index++;
}
y=((24-(chaine*2))/2);
index=0;
while(strcmp(menu[index],"")!=0) //tant que les 2 chaines sont differentes
{
x=40-(strlen(menu[index])/2);
cout<<"\x1b["<< y <<';'<< x <<'H';
cout << menu[index];
y=y+2;
index++;
}
y=y-2;
cin>>choix;
cout<<"\x1b[2J"; //on efface l ecran
y=11;
x=25;
if((choix>chaine)||(choix<1))
{
cout<<"\x1b["<<y<<';'<<x<<'H'; //on deplace en x;y
cout<<"Vous avez choisi un mauvais menu..."<<endl;
sleep(3); //on attend 3 secondes
}
else
{
x=10;
cout<<"\x1b["<<y<<';'<<x<<'H'; //on deplace en x;y
cout<<"Vous avez choisi le menu: "<<menu[choix-1]<<endl;
}
}while((choix<1)||(choix>chaine)); //si le choix est mauvais on refait la boucle
exit(0);
}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.