Beispiel #1
0
/*!
 * \fn  void afficheIM(std::string& user)
 * \brief Affiche Le Menu Information de matrice
 */
void afficheIM(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);

				system("clear");

				std::cout << std::endl << *A << std::endl << std::endl;

				std::cout << " Nombre de lignes : " << A->getLigne() << std::endl;
				std::cout << " Nombre de colonne : " << A->getColonne() << std::endl << std::endl;

				std::cout << " Matrice nulle? : " << A->Null() << std::endl;
				std::cout << " Matrice creuse? : " << A->Creuse() << std::endl;
				std::cout << " Matrice diagonale? : " << A->Diagonale() << std::endl;
				std::cout << " Matrice carrée? : " << A->Carre() << std::endl << std::endl;

				do {
					std::cout << "  - Que voulez vous faire ? (c = chercher la valeur d'un case, r = retour ou q = quitter): ";
					getline(std::cin, user);

					if (user == "c") {//Cherche la valeur demandé
						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 << jaune << "La valeur de la coordonnée " << Coordonnee(l, c) << " est : " << A->Valeur(l, c) << reset << std::endl;
					}
					else if (user == "r") system("clear"); //Retourner menu precedent
					else if (user == "q"){} //Quitter
					else //Erreur
					{
						system("clear");
						std::cout << rouge << "Veuillez inserer c, r ou q" << reset << std::endl;
					}
				}while (user != "q" && user != "r");

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