/** Diese Funktion prueft ob die Datei mit gewuenschten Namen bereits existiert. * Wenn der Name bereits vergeben wurde, so hat der Nutzer die Moeglichkeit einen neuen Namen zu vergeben * oder die bereits bestehende Datei zu ueberschreiben. * @param name Der Dateiname. */ string Magische_Quadrate::ueberpruefe_ob_file_existiert(string name) { string file_name = name; bool ok = false; do { ifstream FileTest(file_name.c_str()); if (FileTest && ok == false) { int eingabe = 0; cout << "\nDie Datei " + file_name + " existiert bereits!\n"; cout << "Soll die Datei ueberschrieben werden [0] oder moechten Sie eine neue angeben[1]?\n"; cout << "Ihre Wahl: "; eingabe = erfasse_int(0,1); if (eingabe == 1) { cout << "\nBitte geben Sie den Namen Ihrer neuen Datei an: "; erfasse_zeichenkette(file_name); } else ok = true; } else { ok = true; FileTest.close(); } } while (!ok); return file_name; }
void Lottospiel::erzeuge_neue_ziehungen() { int anzahl_neue_ziehung = 0; std::cout << "Anzahl neuer Ziehungen: "; anzahl_neue_ziehung = erfasse_int(1,5000000); int i = 0; while (i < anzahl_neue_ziehung) { Lottoziehung neue_tipps; neue_tipps.erzeuge_zufalls_zahlen(); lotto_spiel.push_back(neue_tipps); i++; } }
void Lottospiel::erfasse_lotto_tipps(int *tipps) { bool zahl_einzigartig = true; for (int i = 0; i < 6; i++) { do { std::cout << i + 1 << ". Tipp: "; tipps[i] = erfasse_int(1,49); zahl_einzigartig = true; for (int j = 0; j < i; j++){ if (tipps[j] == tipps[i]) { zahl_einzigartig = false; std::cout << tipps[i] << " ist bereits vorhanden!" << std::endl; } } } while (!zahl_einzigartig); } }
/** * Prueft den Bereich auf Gueltigkeit. * @param wert Wert der geprueft werden soll. * @param min Minimaler Wert der eingeben werden darf. * @param max Maximaler Wert der eingeben werden darf. * @return Wert aus dem Bereich. */ int pruefe_bereich_int(int wert, int min, int max){ while(wert < min || wert > max ){ wert = erfasse_int(min, max, "Der Wert ist ausserhalb des gueltigen Bereichs"); } return wert; }
/** * Erfasst eine Zahl aus dem Bereich min und max. * @param min Minimaler Wert der eingeben werden darf. * @param max Maximaler Wert der eingeben werden darf. * @param text Text der mit ausgegeben werden soll. * @return Wert der eingeben wurde. */ int erfasse_int(string text, int min, int max) { cout << text; return erfasse_int(min, max); }
/** * Erfasst eine Zahl. * @param text Text der mit ausgegeben werden soll. * @return Wert der eingeben wurde. */ int erfasse_int(string text) { cout << text; return erfasse_int(); }
/** * initializes the source via user interaktion. */ void ShortPath::init_source(){ source = erfasse_int(0,num_of_vertices-1,"Enter the source vertex\n"); }
/** * initialize a Graph with a specific size */ void ShortPath::init_random(){ num_of_vertices = erfasse_int(0,INFINITY,"Geben Sie die Anzahl der Knoten des Graphen ein:"); init_random(num_of_vertices); }