Probleme faire une boucle

Fermé
Ashley - Modifié le 8 juin 2019 à 12:33
 AdamDuForum - 29 août 2019 à 19:05
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

yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
9 juin 2019 à 10:31
bonjour, ce que tu fais en lignes 138 à 160 n'est pas logique.
0
bonjour j'aimerais savoir si tu pourrais me corriger et me faire comprendre l'erreur que j'ai fait Merci d'avance
0
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471 > Ashley
9 juin 2019 à 20:18
la boucle while doit entourer l'ensemble des instructions à répéter.
0
de la ligne 35 a la 169?
0
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471 > Ashley
10 juin 2019 à 09:43
peut-être même jusque 171.
0
#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