Wetterdaten auswerten (dynamische Variblen)
-
hi leuts,
bin nen ziemlicher Anfänger was C++ angeht und brächte mal eure Hilfe.
Ich habe bereits ein Programm geschrieben welches Wetterdaten speichert.
#include <cstdlib> #include <iostream> #include <fstream.h> using namespace std; int main(int argc, char *argv[]) { double minC; double maxC; double Mittel; string frage; do { cout << "\n"; cout << "Programm zur Auswertung von Wetterdaten\n\n"; cout << "Bitte dieses Programm nur einmal taeglich ausfuehren!"; cout << "\n\n\n"; cout << "*******************************************************************"; cout << "\n\nHeute ist der "; system("date/T"); cout << "\n"; cout << "Minimale Temperatur des heutigen Tages in C fuer Region X eingeben: "; cin >> minC; cout << "\n"; cout << "Maximale Temperatur des heutigen Tages in C fuer Region X eingeben: "; cin >> maxC; cout << "\n"; Mittel= (minC+maxC)/2; cout << "Min. Temperatur "<< minC; cout << "\n"; cout << "Max. Temperatur "<< maxC; cout << "\n"; cout << "Mittelwert "<< Mittel; cout << "\n"; cout << "\n"; cout << "Entsprechen alle Daten der Richtigkeit und koennen abgespeichert werden? j/n "; cin >> frage; if (frage == "j") { cout << "\nDaten wurden in C:\\Wetterdaten.txt gespeichert\n"; fstream datei; datei.open("C:\\Wetterdaten.txt", ios::out|ios::app); datei << Mittel << endl; datei.close(); system("PAUSE"); return EXIT_SUCCESS; } else { system("cls"); } } while (frage!="j"); }
So nun brauche ich ein Programm welches die Wetterdaten auch auswertet.
Sprich es soll sich alle Daten aus der .txt Datei holen und diese dann verarbeiten. Zum Schluss soll eine .txt Datei entstehen die sowohl die Mittelwerte als auch Min und Maximalwerte einer Woche, Monat und eines Jahres ausgibt. Dazu muss ich nun erstmal die Zahlen einlesen. Das wollte ich mit Hilfe von dynamischen Variblen anstellen. Nun habe ich aber keine Ahnung wie ich das bewerkstelligen soll. Bin bisher nur auf den Code gestoßen der nur eine Varible benutzt, was mir aber nicht viel hilft weil ich mit den Werten ja rechnen muss.ifstream f; // Datei-Handle string s; f.open("C:\\Wetterdaten.txt", ios::in); // Öffne Datei aus Parameter while (!f.eof()) // Solange noch Daten vorliegen { getline(f, s); // Lese eine Zeile cout << s << endl; // Zeige sie auf dem Bildschirm } f.close(); // Datei wieder schließen
Danke schon mal im Vorraus für Hilfe.
P.S. Wegen dem sortieren der Werte (min. max. Temperaturwerte)könnte noch eine Frage zum Bubblesort Algorithmus auf euch zu kommen :p
-
Wenn du das in C++ programmieren willst, dann kannst du gleich nen vector<double> nehmen, schieb die Daten einfach hinten rein und gut.
:xmas1:
-
Und statt BubbleSort verwendest du std::sort. Das ist hundertmal schneller (damit ist sowohl Laufzeit wie auch Zeitaufwand für dich gemeint).
-
in einen vektor laden?? bin noch anfänger und weiß nicht wie ich das anstellen soll. aber zu beachten ist ja das ich mit den daten rechnen muss sprich das jedem wert in eine variable geladen werden muss oder irre ich mich da ???
-
sea-louce schrieb:
in einen vektor laden?? bin noch anfänger und weiß nicht wie ich das anstellen soll. aber zu beachten ist ja das ich mit den daten rechnen muss sprich das jedem wert in eine variable geladen werden muss oder irre ich mich da ???
Die Daten, also in diesem Fall die Temperaturen, gehen ja nicht verloren. Unter C++ ist vector eine Klasse, deren Objekte unterschiedliche Datentypen (int, double, MyClass, etc) speichern/verwalten können. Den Datentypen legst du beim Erstellen des Objekts fest:
#include <vector> using namespace std; vector <double> temperaturen;
Zur weiteren Benutzung guckst du www, z.B. hier:
http://www.schornboeck.net/ckurs/vector.htmJe nachdem wie umfangreich dein Programm werden soll, inwieweit du dich in eine Programmiersprache einarbeiten willst, etc. wäre vielleicht C die bessere Wahl.
Gruß,
B.B.