string zusammenrechnen



  • hi,

    habe schon gegoogelt, foren durchsucht und in anderen foren dieses problem beschrieben, ergebnis=0;

    hoffe ihr könnt helfen:

    problemstellung:

    einlesen eines strings, über istringstream string zerlegen in einen doublewert und einen weiteren string. alles in datei schreiben(funzt alles)

    auslesen der zerlegten strings aus der datei (funzt).

    nun möchte ich aber die ausgelesenen double-werte zusammenaddieren, hab leider keine ahnung wie. hier mal der code zu dieser besagten funktion:

    double rechnungDA()
    {
      int counter=0;
      lda.open("DA.dat");  //datei in der die wert stehen z.B.(123 hallo#)
      int ind=0;
      for (int index=0;index<lda.eof();index++)
        ind++;
      double werteda;
      double summe[ind];  //dynamisches array zum ermitteln der felderanzahl
      while(!lda.eof())   //auslesen der daten aus der datei
        {
          getline(lda,rechda,'\n');
            stringstream WERT(rechda);  //string an stream 'WERT' übergeben
              getline(WERT,wertDA,' '); //stream zerlegen in wertDA & bezeichnerDA
                getline(WERT,bezeichnerDA,'#');
                  stringstream WERT1(wertDA); //string wertDA zu stream WERT1
                    WERT1 >> werteda;         
                      if(lda.eof()){break;};
                        cout << werteda << endl;  
                          summe[counter]=werteda;
                            counter++;
        }
      lda.close();
      lda.clear();
    };
    

    die werte werden schön sauber angezeigt, aber wie kann ich diese zusammenrechnen lassen? hat irgendjemand eine idee wo ich ansetzen muß?

    bin für jede hilfe dankbar...



  • Hab zwar nicht gelesen, was du genau willst, aber les doch einfach das Zeugs gleich als double ein:

    fscanf(fp, "%d\n", &MY_double);



  • naja, ums einlesen gehts ja nicht, könnte ich zwar machen, fand den weg aber besser.

    es geht darum, der benutzer gibt mehrere strings in folgendem format ein:
    double-wert char; (z.B.: 123.45 text)

    das wird in eine datei umgeleitet.

    später wird es wieder aus der datei geholt und angezeigt:
    123.45 text1
    456.78 text2
    789.12 text3
    der zweite stream wird entfernt, daraus folgt:
    123.45
    456.78
    789.12

    nun sollen diese werte von einer funktion zusammengerechnet werden. aber wie?

    danke für jede hilfe



  • enno-tyrant schrieb:

    naja, ums einlesen gehts ja nicht, könnte ich zwar machen, fand den weg aber besser.

    es geht darum, der benutzer gibt mehrere strings in folgendem format ein:
    double-wert char; (z.B.: 123.45 text)

    das wird in eine datei umgeleitet.

    später wird es wieder aus der datei geholt und angezeigt:
    123.45 text1
    456.78 text2
    789.12 text3
    der zweite stream wird entfernt, daraus folgt:
    123.45
    456.78
    789.12

    nun sollen diese werte von einer funktion zusammengerechnet werden. aber wie?

    danke für jede hilfe

    ???? ergebnis += zeile !! 😕



  • Also be dir:

    summe += werteda;

    statt summe[counter]=werteda



  • @Gast221212

    hab dank edler herr, es funzt 😉


Anmelden zum Antworten