Probleme faire une boucle

Ashley -  
 AdamDuForum -
Salut j'ai acheter un livre y'a pas longtemps et j'ai fait ce code mais je galère a faire une boucle pour que après la fin de la saisie l'utilisateur reviennent au menu donc si quelqu'un peut m'indiquez que faire ca serait simpa

le code :
#include <iostream>
using namespace std;
#include <limits>

const int ARCADEURLACHAINE = 16;
 int NBELEVES;
 int * ptr = new int;

 
  


struct  Eleve
{
 char nom[ARCADEURLACHAINE];
 char prenom[ARCADEURLACHAINE];
 float moyenne;
};
int main()
{
 {
  double variable1;
  {
   char variable2;
  }
  int variable2;
 }
 {
  {
   float* pointeur = new float;
  }
 }


 system("cls");
 cout << "                                         ____" << endl;
 cout << "                        \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ MENU ////////////////////////////" << endl;
 cout << "                                         ____" << endl;
 cout << " 1) Afficher la classe" << endl;
 cout << " 2) Modifier un eleve" << endl;
 cout << " 3) Afficher le graphique" << endl;
 cout << " 4) partir" << endl;
 int choix;
 cout << "Entrez votre choix : ";
 cin >> choix;

 while (choix < 1 || choix > 4) {
  cout << "Choix incorrecte"
   << " Veuillez resaisir avec un choix valide";
  cin >> choix;
 }



 if (choix == 1) {

 }
 else if (choix == 2) {

 }
 else if (choix == 3) {

 }
 else {

 }
 int variable;
 cin >> variable;
 switch (choix) {
 case 1: {
  break;
 }
 case 2: {
  break;
 }
 case 3: {
  break;
 }
 case 4: {
  break;
 }

 }





 std::cout << "Entrez le nombre d'eleves";
 cin >> NBELEVES;

 while (NBELEVES <= 1) {
  cout << "Erreur le nomnre d'eleve doit etre"
   << "superieur a 1";
  cin >> NBELEVES;

 }

 Eleve* tab = new Eleve[NBELEVES];

 if (tab == NULL) {
  cout << "Erreur de l'allocation"
   << "du tableau des eleves" << endl;
  system("pause");
  exit(0);
 }
 cout << endl << "Saisie du nom, prenom et moyenne des "
  << NBELEVES << "eleves de la classe: " << endl;

 for (int i = 0; i < NBELEVES; i++)
 {
  cout << "Entrez le nom : ";
  cin >> ws;
  cin.get(tab[i].nom, ARCADEURLACHAINE);

  cin.clear();
  cin.ignore(numeric_limits<streamsize>::max(), '\n');

  cout << "Entrez le prenom : ";
  cin >> ws;
  cin.get(tab[i].prenom, ARCADEURLACHAINE);

  cin.clear();
  cin.ignore(numeric_limits<streamsize>::max(), '\n');

  cout << "Entrez La moyenne : ";
  cin >> tab[i].moyenne;
  while (tab[i].moyenne < 0 || tab[i].moyenne > 20) {
   cout << "Valeur Incorrecte"
    << "Veuillez la saisir a nouveau : " << " ";
   cin >> tab[i].moyenne;

  }
  cout << "L'eleve" << tab[i].prenom << " " << tab[i].nom << " a " << tab[i].moyenne << " de moyenne." << endl;
  system("pause");
  bool boucler = true;

  while (boucler)
  {
   switch (choix) {
   case 1:
   {
    boucler = true;
    break;
   }
   case 2:
   {
    boucler = true;
    break;
   }
   case 3:
   {
    boucler = true;
    break;
   }
   case 4:
   {
    boucler = false;
    break;
   }

   }
  }
  
  cout << "Fin de la saisie des" << NBELEVES
   << " eleves" << endl;
  system("pause");
  delete[] tab;
  

 }

}


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, ce que tu fais en lignes 138 à 160 n'est pas logique.
    0
    1. Ashley
       
      bonjour j'aimerais savoir si tu pourrais me corriger et me faire comprendre l'erreur que j'ai fait Merci d'avance
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Ashley
         
        la boucle while doit entourer l'ensemble des instructions à répéter.
        0
    2. Ashley
       
      de la ligne 35 a la 169?
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Ashley
         
        peut-être même jusque 171.
        0
  2. AdamDuForum
     
    #include <iostream>
    #include <limits>
    using namespace std;
    
    int main(){
    
      bool leNomDeTaBoucle = true; //Tu déclares ta boucle
    
      //Ton code avant le menu
    
      while(leNomDeTaBoucle){
    
         //Ton code + ton menu
    
         //Tu peux demander si l'utilisateur veux reccomencer
         //Et si il veux pas >>      break;
    
      }
      
      //Ton code après le menu
    
      return 0;
    }
    0