/*! * \fn void afficheMM(std::string& user) * \brief Affiche Le Menu Modification de matrice */ void afficheMM(std::string& user) { do { system("clear"); int maxChoix = 0, choix = 0; std::string mat = "", info = ""; Matrice* A = NULL; maxChoix = afficheSM(); getline(std::cin, user); choix = atoi(user.c_str()); // on change string en int if (user != "q" && user != "r" && user[0] != 'x') { if (choix <= maxChoix && choix > 0) { mat = trouveFichier(choix); A = new Matrice("./mat/"+mat); do { system("clear"); afficheTitreMM(); std::cout << std::endl << *A << std::endl << std::endl << " - Que voulez vous faire ? (m = modifier, s = sous matrice, r ou q): "; getline(std::cin, user); if (user == "m") { double v = 0; int l = 0, c = 0; std::cout << std::endl << std::endl << " - Veuillez inserer la ligne : "; getline(std::cin, user); l = atoi(user.c_str()); std::cout << " - Veuillez inserer la colonne : "; getline(std::cin, user); c = atoi(user.c_str()); std::cout << " - Veuillez inserer la valeur : "; getline(std::cin, user); v = atof(user.c_str()); A->Insert(l, c, v); } else if (user == "s") { int l1 = 0, l2 = 0, c1 = 0, c2 = 0; std::cout << std::endl << std::endl << " - Veuillez inserer la ligne de depart: "; getline(std::cin, user); l1 = atoi(user.c_str()); std::cout << " - Veuillez inserer la ligne de fin: "; getline(std::cin, user); l2 = atoi(user.c_str()); std::cout << std::endl << std::endl << " - Veuillez inserer la colonne de depart: "; getline(std::cin, user); c1 = atoi(user.c_str()); std::cout << " - Veuillez inserer la colonne de fin: "; getline(std::cin, user); c2 = atoi(user.c_str()); A->SousMatrice(l1, l2, c1, c2); } else if(user == "r") system("clear"); //Retourner menu precedent else if(user == "q"){} //Quitter else //Erreur { system("clear"); std::cout << rouge << " Veuillez inserer y, r ou q " << reset << std::endl; } }while (user != "q" && user != "r"); std::cout << std::endl << *A << std::endl << " - Voulez vous sauvegarder la matrice ? (y, n) : "; getline(std::cin, info); if (info == "y") { std::cout << std::endl << *A << std::endl << " - Veuillez donner un nom à la matrice : "; getline(std::cin, info); saveBdd(info, A); } delete A; A = NULL; } else { system("clear"); if (maxChoix > 1) std::cout << rouge << " Veuillez inserer 1 à " << maxChoix << ", r, q ou x[choix] " << reset << std::endl; else if (maxChoix == 1) std::cout << rouge << " Veuillez inserer 1, r, q ou x1 " << reset << std::endl; else std::cout << rouge << " Veuillez inserer r ou q " << reset << std::endl; } } else if (user[0] == 'x') { user.erase(0,1); //supprime le x choix = atoi(user.c_str()); // on change string en int if (choix <= maxChoix && choix > 0) { removeSave(trouveFichier(choix)); system("clear"); } else { system("clear"); if(maxChoix > 1) std::cout << rouge << " Veuillez inserer 1 à " << maxChoix << ", r, q ou x[choix] " << reset << std::endl; else if(maxChoix == 1) std::cout << rouge << " Veuillez inserer 1, r, q ou x1 " << reset << std::endl; else std::cout << rouge << " Veuillez inserer r ou q " << reset << std::endl; } } }while (user != "r" && user != "q"); system("clear"); }
/*! * \fn void afficheCrM(std::string& user) * \brief Affiche Le Menu Création de matrice */ void afficheCrM(std::string& user) { system("clear"); do { afficheTitreCrM(); std::cout << "\t\t 1 = Matrice (1 valeur pour toutes les cases)" << std::endl; std::cout << "\t\t 2 = Matrice Identitée" << std::endl; std::cout << "\t\t 3 = Matrice Personnalisee" << std::endl; std::cout << "\t\t 4 = Matrice Aleatoire" << std::endl << std::endl; std::cout << "\t\t r = Retour" << std::endl; std::cout << "\t\t q = Quitter" << std::endl << std::endl; std::cout << " - Veuillez indiquer votre choix (1, 2, 3, 4, r ou q): "; getline(std::cin, user); system("clear"); afficheTitreCrM(); Matrice *A = NULL; if (user == "1") { A = new Matrice(true); user = "******"; } else if (user == "2") { std::cout << " - Veuillez indiquer l'ordre de la matrice identitée: "; getline(std::cin, user); A = new Matrice(atoi(user.c_str())); user = "******"; } else if (user == "3") { A = new Matrice(false); user = "******"; } else if (user == "4") { A = new Matrice(); user = "******"; } else if (user == "r") system("clear"); //Retourner menu precedent else if (user == "q"){} //Quitter else //Erreur { system("clear"); std::cout << rouge << " Veuillez inserer 1, 2, r ou q " << reset << std::endl; } //Sauvegarde et modification de matrice if (user == "m") { do { std::cout << std::endl << *A << std::endl << std::endl << " - Voulez vous modifier des valeurs de la matrice ? (y = oui, r = retour ou q = quitter): "; getline(std::cin, user); if(user == "y") { double v = 0; int l = 0, c = 0; std::cout << " - Veuillez inserer la ligne : "; getline(std::cin, user); l = atoi(user.c_str()); std::cout << " - Veuillez inserer la colonne : "; getline(std::cin, user); c = atoi(user.c_str()); std::cout << " - Veuillez inserer la valeur : "; getline(std::cin, user); v = atof(user.c_str()); A->Insert(l, c, v); } else if (user == "r" || user == "q"){} //Retourner menu precedent ou Quitter else //Erreur { system("clear"); std::cout << rouge << " Veuillez inserer y, r ou q " << reset << std::endl; } }while (user != "q" && user != "r"); std::string tmp = ""; std::cout << " - Voulez vous sauvegarder la matrice ? (y = oui, n = non) : "; getline(std::cin, tmp); if (tmp == "y") { std::cout << std::endl << " - Veuillez donner un nom à la matrice : "; getline(std::cin, tmp); saveBdd(tmp, A); } delete A; A = NULL; system("clear"); } }while (user != "q" && user != "r"); system("clear"); }