Ankündigung

Einklappen
Keine Ankündigung bisher.

C++ Hilfe needed

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    [quote=TeQ]
    Also, das geht so:

    string line;
    ifstream Messwerte ("Messwerte.data");
    while(!Messwerte.eof()){
    getline(Messwerte,line);
    // in line steht dann eine Zeile, im nächsten Durchgang der Schleife wird die nächste Zeile der Datei gelesen.
    wenn du also nur die einzelnen Zeilen ausgeben willst kommt da hin:
    cout

    Kommentar


      #17
      if (werte[i] == 0) {break;}
      else {n=n+1; i++; Messwerte

      if (werte[i] == 0) {break;}
      else {n=n+1; i++; Messwerte

      Kommentar


        #18
        habs jetzt mal in eine extra for schleife gezogen wie du es mir geraten hast, jetzt hab ich:
        [spoiler]# include
        # include

        using namespace std;
        int main () {
        cout

        Kommentar


          #19
          Jetzt mach in der Forschleife noch aus dem
          Messwerte

          Kommentar


            #20
            [quote=StallioN]
            [quote=Elin]
            [quote=StallioN]
            weiß nicht ob ich nen neuen thread aufmachen soll, bräuchte auch kurz was, nur eben zu java :o

            [spoiler] public static void main(String arg[]){


            String s1="";
            char c;
            int laenge, a=0, b=0, d=0, h=0, l=0, r=0, ende=0;

            System.out.println("Bitte Text eingeben:");

            do {

            s1=SavitchIn.readLine();
            laenge = s1.length();


            for (int i = 0; i< s1.length(); i++){

            c = s1.charAt(i);



            if (s1.equals("Stop"))
            ende=1;


            switch (c) {
            case 'A':
            case 'a':
            ++a;
            break;
            case 'B':
            case 'b':
            ++b;
            break;
            case 'D':
            case 'd':
            ++d;
            break;
            case 'H':
            case 'h':
            ++h;
            break;
            case 'L':
            case 'l':
            ++l;
            break;
            case 'R':
            case 'r':
            ++r;
            break;
            }
            }
            }

            while (ende

            Kommentar


              #21
              [quote=TeQ]
              Jetzt mach in der Forschleife noch aus dem
              Messwerte

              Kommentar


                #22
                puh spontan würde ich sagen, dass das so funktionieren sollte, poste doch nochmal den code. wenn das echt nicht funktioniert solltest du ein array erstellen, in den du alles einlesen lässt. und dann gibst du halt alles bis auf das letzte element als wert aus und das letzte dann als n.

                Kommentar


                  #23
                  [spoiler]# include
                  # include

                  using namespace std;
                  int main () {
                  int n;
                  string line;
                  ifstream Messwerte ("Messwerte.data");
                  while(!Messwerte.eof()){
                  getline(Messwerte,line);
                  cout

                  Kommentar


                    #24
                    achso, ja alles was da raus kommt ist ein string, der erkennt das selber nicht.

                    mach mal

                    int n=atoi(line);

                    das wandelt den string in einen integer. du weißt natürlich dass da eine zahl steht, das kann das programm aber nicht wissen, bzw. ist nicht darauf ausgelegt. es erwartet eine eingabe der form integer und deshalb musste du auch eine solche liefern.

                    btw. solltest du die initialisierung von n außerhalb der schleife machen, bin mir nicht mehr so sicher aber wenn der das zu oft macht können glaube ich probleme auftreten.

                    Kommentar


                      #25
                      Zitat von TeQ
                      achso, ja alles was da raus kommt ist ein string, der erkennt das selber nicht.

                      mach mal

                      int n=atoi(line);

                      das wandelt den string in einen integer. du weißt natürlich dass da eine zahl steht, das kann das programm aber nicht wissen, bzw. ist nicht darauf ausgelegt. es erwartet eine eingabe der form integer und deshalb musste du auch eine solche liefern.

                      btw. solltest du die initialisierung von n außerhalb der schleife machen, bin mir nicht mehr so sicher aber wenn der das zu oft macht können glaube ich probleme auftreten.
                      Dass n ein int ist, hast du bereits vor der Schleife festgelegt. Und für die Funktion atoi musst du noch die stdlib.h einbinden.

                      Kommentar


                        #26
                        nur wie kriege ich dann genau den letzen wert?
                        und ich hab jetzt mal int n=atoi(line); in die while schleife eingebaut, aber da kam auch eine fehlermeldung :(

                        Kommentar


                          #27
                          dann mach mal
                          n=atoi(line.c_str());
                          und wie isus schon sagte das int davor weg. atoi ist glaube ich eh eine hässliche weil veraltete variante aber die andere fällt mir gerade nicht ein.

                          Kommentar


                            #28
                            [quote=StallioN]
                            weiß nicht ob ich nen neuen thread aufmachen soll, bräuchte auch kurz was, nur eben zu java :o

                            [spoiler] public static void main(String arg[]){


                            String s1="";
                            char c;
                            int laenge, a=0, b=0, d=0, h=0, l=0, r=0, ende=0;

                            System.out.println("Bitte Text eingeben:");

                            do {

                            s1=SavitchIn.readLine();
                            laenge = s1.length();


                            for (int i = 0; i< s1.length(); i++){

                            c = s1.charAt(i);



                            if (s1.equals("Stop"))
                            ende=1;


                            switch (c) {
                            case 'A':
                            case 'a':
                            ++a;
                            break;
                            case 'B':
                            case 'b':
                            ++b;
                            break;
                            case 'D':
                            case 'd':
                            ++d;
                            break;
                            case 'H':
                            case 'h':
                            ++h;
                            break;
                            case 'L':
                            case 'l':
                            ++l;
                            break;
                            case 'R':
                            case 'r':
                            ++r;
                            break;
                            }
                            }
                            }

                            while (ende

                            Kommentar


                              #29
                              Zitat von TeQ
                              dann mach mal
                              n=atoi(line.c_str());
                              und wie isus schon sagte das int davor weg. atoi ist glaube ich eh eine hässliche weil veraltete variante aber die andere fällt mir gerade nicht ein.
                              jaaaaaaaaaa perfekt das läuft ;)

                              Kommentar


                                #30
                                [quote=Manking]
                                und jetzt am besten noch mit einer for schleife für i

                                Kommentar

                                Lädt...
                                X