Probleme faire une boucle
Ashley
-
AdamDuForum -
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 :
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. |
A voir également:
- Probleme faire une boucle
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Mise à disposition de boucle locale dédiée ✓ - Forum Freebox
- Vlc lire en boucle ✓ - Forum Lecteurs et supports vidéo
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, ce que tu fais en lignes 138 à 160 n'est pas logique.
Ashley
bonjour j'aimerais savoir si tu pourrais me corriger et me faire comprendre l'erreur que j'ai fait Merci d'avance
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
1 584
>
Ashley
la boucle while doit entourer l'ensemble des instructions à répéter.
Ashley
de la ligne 35 a la 169?
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
1 584
>
Ashley
peut-être même jusque 171.
#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; }