Menu

Contenu du snippet

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);
}

A voir également

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.