Fehlermeldung Syntaxfehler Anfänger Hilfe ????



  • am besten testen... auch ; käme in Frage...

    BTW: Falsches Forum, besser wäre C++.



  • okay danke schon ma für eure hilfe ich versuchs dann dort mal mein glück



  • Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum C++ (auch C++0x) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • die for schleife hat nur ( .. ; ... < .... ; ...) nicht ( .. ; ... < .... ; ...; ) wozu berechnest du ne schrittweite wenn du i dann doch nur um 1 inkrementiersT? das return 0 steht in der for schleife ... und nutzt bitte

    tags rund um den code



  • okay vielen dank erstma :Dich werds jetzt ma versuchen ....



  • Hier mal Kommentare im Quelltext:

    #include <stdio.h>  // wozu hier C-Header
    #include <stdlib.h> // wozu hier C-Header
    #include <cmath>
    #include <iomanip>
    #include <iostream>
    using namespace std;
    int main(void)
    {
        double x, y, startwert, endwert, schrittweite;
        int i, schritte;
        char resume;
        do
        {
            cout << "Bitte Startwert eingeben: ";
            cin >> startwert;
            cout << "Bitte Endwert eingeben: ";
            cin >> endwert;
            cout << "Bitte Schrittzahl eingeben: ";
            cin >> schritte;
            schrittweite = (endwert - startwert) / schritte;
            cout << "Schrittweite: " << schrittweite << "\n\n";
            cout << " x | y " << "\n"
                 << "-----------------------" << "\n";
        } // hier sollte dein Compiler etwas vermissen
        // oder sollte die Klammer gar wo anders hin?
    
        for( i = 0; i <= schritte; i++;;)
            ; // Wozu so viele Semicolon?
        {
            y=3.24 * sin(x) + cos(x);
            cout << fixed
                 << setw(14)<<setprecision(2) << x << "|"
                 << setw(14)<<setprecision(2) << y << "\n" << endl;
            x += schrittweite;
    
            getchar();
            system ("Pause");
            return 0;
        } // soll die hier hin?  
    } // diese schliessende Klammer ist okay
    

    MfG f.-th.



  • so hab das ganze jetzt ma abgeändert aber jetzt gibt er mir immer nur ein schritt aus ich werde noch verrückt

    #include <cmath>
    #include <iomanip>
    #include <iostream>
    using namespace std;
    int main(void)
    {
    	double x, y, startwert, endwert, schrittweite;
    	int i, schritte;
    	char resume;
    	do
    	{
    		cout << "Bitte Startwert eingeben: ";
    		cin  >> startwert;
    		cout << "Bitte Endwert eingeben: ";
    		cin  >> endwert;
    		cout << "Bitte Schrittzahl eingeben: ";
    		cin  >> schritte;
    		schrittweite = (endwert - startwert) / schritte;
    		cout << "Schrittweite: " << schrittweite << "\n\n";
    		cout << "         x | y         " << "\n"
    			 << "-----------------------" << "\n";
    		x = startwert; 
    	 }
    
    		while(i = 0); {
    			y = 3.24 * sin(x) + cos(x);
    			cout << setw(7) << i << fixed << setw (3)
    				 << setprecision(2) << x << "|"
    				 << setprecision(2) << y << "\n";
    			x += schrittweite;
    			getchar();
    			system("pause");
    				return 0;
    		}
    
    }
    


  • Das hier ist deine do-while-Schleife:

    do
    	{
    		cout << "Bitte Startwert eingeben: ";
    		cin  >> startwert;
    		cout << "Bitte Endwert eingeben: ";
    		cin  >> endwert;
    		cout << "Bitte Schrittzahl eingeben: ";
    		cin  >> schritte;
    		schrittweite = (endwert - startwert) / schritte;
    		cout << "Schrittweite: " << schrittweite << "\n\n";
    		cout << "         x | y         " << "\n"
    			 << "-----------------------" << "\n";
    		x = startwert; 
    	 }
    
    		while(i = 0);
    

    Bist du sicher, dass das der Code ist, der wiederholt werden soll?

    Und nebenbei: i=0 ist eine Zuweisung, kein Vergleich. Nicht dass der Vergleich hier besser passen würde...



  • hmmmmm eigentlich sollten nur die schritte wiederholt werden oder nicht ?
    z.b wenn ich bei der schrittweite 12 eingebe sollte es mir ja auch 12 schritte ausgeben oder nicht ? aber es gibt mir nur einen aus un ich hab keine ahnung wieso 😞



  • Ich hatte dir doch in dem Quelltext geschrieben das die vorletzte schliessende Klammer wahrscheinlich falsch positioniert ist.

    Du bist mit deiner Korrektur über das Ziel hinaus.
    Mach an dem ersten Quelltext was wir dir geschrieben haben - dann kommst du dem Ziel relativ nahe.

    Wildes suchen im Netz ist weniger angesagt - versuche zu verstehen was du da machst.

    Warum nicht so:

    for( i = 0; i <= schritte; i++) 
        {
    

    Hier mal in Youtube:
    http://www.youtube.com/watch?v=HW3JbDVBhQg
    <- Das sollte noch besser gehen - die letzte Minute war nicht unbedingt eine elegantere Lösung.

    MfG f.-th.



  • okay okay ich werd nochma schauen ... thx



  • Kann es eein, dass du es so meinst? EInfach mal ohne Schleife:

    #include <cmath>
    #include <iomanip>
    #include <iostream>
    using namespace std;
    int main(void)
    {
        double x, y, startwert, endwert, schrittweite;
        int i, schritte;
        cout << "Bitte Startwert eingeben: ";
        cin  >> startwert;
        cout << "Bitte Endwert eingeben: ";
        cin  >> endwert;
        cout << "Bitte Schrittzahl eingeben: ";
        cin  >> schritte;
        schrittweite = (endwert - startwert) / schritte;
        cout << "Schrittweite: " << schrittweite << "\n\n";
        cout << "         x | y         " << "\n"
            << "-----------------------" << "\n";
        x = startwert;
        y = 3.24 * sin(x) + cos(x);
        cout << setw(7) << i << fixed << setw (3)
            << setprecision(2) << x << "|"
            << setprecision(2) << y << "\n";
        x += schrittweite;
        getchar();
        return 0;
    }
    

    Oder versteh ich hier irgendwas falsch? Wozu eig diese Schleiferei?


Anmelden zum Antworten