int eingabezahl(char *muuh) { printf(muuh); int temp; int status=scanf("%i",&temp); if(status==1 && getchar()=='\n' && temp>=0) return temp; else { if (temp<0) printf("Error: negative number\n"); else leeren(); return eingabezahl(muuh); } }
//! Solt der Das Laden von datein startet. void MainWindow::slotLaden() { QString Path=SpeicherOrt,Filter;//Läht den Zuletzt verwendeten. Pfard. if (Path=="")//Prüft ob er Leer ist Path=QDir::currentPath();//Stzt in auf den Ausführort des Programms. QString Ort=QFileDialog::getOpenFileName(this,tr("Punkte Laden"),Path,tr("Tabelle(*.csv);;XML-Datei(*.xml)"),&Filter);//rüft einen GetFileName dialog auf leeren();//Setzt das Programm zurück. if(Filter=="Tabelle(*.csv)")//Prüft ob Tabelle als Filter gewählt wurde { Dateityp=1; } else if(Filter=="XML-Datei(*.xml)")//Prüft ob xml als Filter gewählt wurde { Dateityp=2; } SpeicherOrt=Ort;//Setzt den Ort aus dem Geladen wurde. laden();//Läd die Datei mit der Entsprechenden Funktion. }
/*! *Daten aus einer csv Datei Auslesen die Das Vormat einhält in dem Gespeichert wurde. */ bool MainWindow::laden() { QFile Datei(SpeicherOrt); if (!Datei.open(QIODevice::ReadOnly | QIODevice::Text)) //Öfnet die Datei und Prüft ob die Erfolgreich war. return false; //Gibt zurück das ein Fehler aufgetreten ist. bool Erfolgreich=false; if(Dateityp==1) Erfolgreich=Kurse.loadcvsfile(&Datei); if(Dateityp==2) Erfolgreich=Kurse.loadxmlfile(&Datei); Datei.close();//Schließt die Datei if (!Erfolgreich) { leeren(); QMessageBox::warning(this,"Fehler beim Laden",QString("Es ist ein Fehler beim Laden der Datei \"%1\" aufgeterten.\nDie Datei wurde nicht geladen.").arg(SpeicherOrt)); } Graphik.DatenGeaendert(); return Erfolgreich;//Gibt zurück das die Datei Erfolgreich gelesen wurde }
//! Slot der Den Startzustand des Programms wiederherstellt. void MainWindow::slotNeu() { leeren(); return; }