string zerlegen
-
hi,
ich möchte in einem programm folgende funktion aufnehmen:
eingabe von werten und bemerkung:
zb so:double dauerauftrag() { sda.open("dauerauftrag.dat"); cout << "Wieviele monatliche Dauerauftraege moechten Sie erstellen: "; cin >> anzahl; if (anzahl != 0) { cout << "Geben Sie den Wert und den Namen des Dauerauftrages ein" << endl; cout << "z.B. 555,99 Miete" << endl; summe = 0; do { getline(cin,auftrag,'\n'); //einlesen der eingaben in einen string if (summe != 0) { sda << auftrag << '#'; //werte & bemerkung in datei schreiben } summe++; } while(summe<=anzahl); } else { cout << "Ungueltige Eingabe \"" << anzahl << "\"" << endl; } sda.close(); sda.clear(); };
nun möchte ich mit einer weiteren funktion die eingegebenen werte auslesen und zusammenrechnen:
um bei diesem beispiel zu bleiben, habe ich es mir so gedacht:
double ausrechnen() { char ind=0; lda.open("dauerauftrag.dat"); for (int index=0;index<lda.eof();index++) //zähler für feldgröße { ind++; } char werte[ind]; //feld für die werte while(!lda.eof()) { getline(lda,rech,' '); //datei zeilenweise bis zum leerzeichen auslesen und an einen string übergeben ====hier brauche ich einen befehl um die ausgelesenen werte als int in das feld zu schreiben ========== }; lda.close(); lda.clear(); };
hat jemand eine idee mit der ich die stringwerte (nur die werte, nicht die bemerkungen) als int in die felder übergeben kann und diese dann auch zusammenrechnen kann. es ist wichtig das die felder dynamisch bleiben.
findet jemand einen anderen fehler in diesen funktion, bitte bescheidgeben. vielleicht habe ich auch einen falschen denkansatz.
vielen dank an euch....
-
hallo
vielleicht reicht dir schon der beitrag in der c++ faq mit namen: einmal int nach string und zurück von Hume Sikkins.