Exemplo n.º 1
0
/*!
 * \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");
}
Exemplo n.º 2
0
/*!
 * \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");
}