Fehler 1 error C2679: Binärer Operator '<<': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden



  • Hey Leute,

    bin Student im ersten Semester an der Fachhochschule für Wirtschaftsiformatik.

    Wir müssen wöchtentlich eine Art Präsenz und Hausaufgabe bearbeiten. Die Präsenz hat super geklappt. Nun hapert es an der Hausaufgabe.
    Ich finde den Fehler nicht bzw. bin mir auch nich sicher ob ich komplett auf dem richtigen Weg bin, da die Aufgabenstellung für mich noch sehr neu und schwierig ist.

    Habe meinen code in 3 Teile geteilt (header.h, methoden.cpp, main.cpp).

    Evtl. könnt ihr mir helfen oder tipps geben woran mein Fehler liegt oder ob ich komplett auf dem falschen Weg bin.

    AUFGABENSTELLUNG:erechnen sie mit Hilfe eines Programmes die Werte für ein Polynom n

    Präsenzaufgabe:
    Schreiben sie zur Lösung des Problems zunächst ein C++ Programm ohne Klassen. Schreiben sie eine (normale)
    C++

    Funktion zur Berechnung der Polynom Funktion. Die Polynom Funktion soll zwei Übergabeparameter enthalten. Den Wert n für den Grad des Polynoms und den x
    Wert. Als Rückgabewert soll die Funktion den Wert des Polynoms an das rufende Programm zurückgeben.
    Schreiben sie eine Main-Funktion in der die Werte für n und x vom Benutzer über die Tastatur eingelesen werden können. Die Polynomberechnung soll durch den Aufruf der Funktion erfolgen. Geben sie alle Werte auf dem Bildschirm aus.
    Das abgegebene Programm MUSS ohne Fehler kompilieren, sonst erfolgt keine Korrektur der Aufgabe.

    HAUSAUFGABE:
    Lösen sie das Problem mit Hilfe einer geeigneten Klasse. Programmieren sie hierzu einen Konstruktor, eine set-Methode zur Validierung der Eingabe-
    Werte und eine geeignete Methode zur Polynomberechnung. Erzeugen sie im Hauptprogramm eine Wertetabelle für ein Intervall von x-Werten (xmin,xmax) mit entsprechenden Werten für das Polynom. Die Schrittweite der x-Werte soll 0,5 sein. Die Werte xmax und xmin sollen im Hauptprogramm erfasst werden. Die Tabelle soll im Hauptprogramm erzeugt werden.

    Meine Lösung:

    MEINE HEAEDER.h-DATEI

    #include <iostream>
    #include <cmath>

    using namespace std;

    class polynom

    {

    private:

    float i;
    float ergebnis;
    float schrittweite;
    float n;
    float a;

    public:

    polynom ()

    {

    i= 0;
    ergebnis= 0;
    schrittweite= 0.5;
    n= 0;
    a= 0;

    }

    void polynom:: validierung ();

    void polynom:: potenz (float xmin);

    void polynom:: tabelle (float xmin, float xmax);

    };

    MEINE METHODEN-DATEI:

    #include <iostream>
    #include "Header.h"

    using namespace std;

    void polynom:: validierung ()

    {

    cout << "Reihenberechnung der Funktion y= ai*x^i" << endl << endl;
    cout << "Geben Sie die den Wert a an: " <<endl;
    cin >> a;
    cout << endl;
    cout << "Geben Sie den Grad des Polynoms an: ";
    cin >> n;
    cout << endl;

    }

    void polynom:: potenz(float xmin)

    {

    for(i; i <= n; i++)

    {

    ergebnis= ergebnis + (a*pow(xmin,i));
    cout << ergebnis;

    }

    }

    void polynom:: tabelle(float xmin, float xmax)

    {

    cout<<"x-Wert: "<<" "<<"y-wert: " <<endl;

    do

    {

    cout<< xmin << potenz(xmin); !In dieser zeile steckt der Fehler [<< ptenz]

    xmin= xmin+schrittweite;

    }

    while (xmin<=xmax);

    }

    MEINE MAIN-DATEI:

    #include <iostream>
    #include "header.h"

    using namespace std;

    void main ()

    {
    polynom P;

    float xmin=0;
    float xmax=0;

    P.validierung ();
    cout<< "Geben Sie den kleinsten Wert fuer x an: "; cin >> xmin; cout << endl;
    cout<< "Geben Sie den groessten Wert fuer x an: "; cin >> xmax; cout << endl;
    P.potenz (xmin);
    P.tabelle (xmin, xmax);

    system ("Pause");

    }

    ÜBER TIPPS UND HILFEN FREU ICH MICH. DANKE SCHON MAL IM VORAUS!!!



  • Was für einene Rückgabewert hat denn potenz() ?

    Es wäre schön, wenn du die komplette Fehlermeldung nochmal in deinem Beitrag hättest.
    Da fehlt nämlich etwas in der Überschrift. Gerade das entscheidende.

    Und packe bitte den Code in Code-Tags. Code mit der Maus markieren und auf den C++-Butoon unter dem 😞 klicken.



  • #include <iostream>
    #include <cmath>
    
    using namespace std;
    
    class polynom
    
    {
    
    private:
    
    float i;
    float ergebnis;
    float schrittweite;
    float n;
    float a;
    
    public:
    
    polynom ()
    
    {
    
    i= 0;
    ergebnis= 0;
    schrittweite= 0.5;
    n= 0;
    a= 0;
    
    }
    
    void polynom:: validierung ();
    
    void polynom:: potenz (float xmin);
    
    void polynom:: tabelle (float xmin, float xmax);
    
    };
    
    #include <iostream>
    #include "Header.h"
    
    using namespace std;
    
    void polynom:: validierung ()
    
    {
    
    cout << "Reihenberechnung der Funktion y= ai*x^i" << endl << endl;
    cout << "Geben Sie die den Wert a an: " <<endl;
    cin >> a;
    cout << endl;
    cout << "Geben Sie den Grad des Polynoms an: ";
    cin >> n;
    cout << endl;
    
    }
    
    void polynom:: potenz(float xmin)
    
    {
    
    for(i; i <= n; i++)
    
    {
    
    ergebnis= ergebnis + (a*pow(xmin,i));
    cout << ergebnis;
    
    }
    
    }
    
    void polynom:: tabelle(float xmin, float xmax)
    
    {
    
    cout<<"x-Wert: "<<" "<<"y-wert: " <<endl;
    
    do
    
    {
    
    cout<< xmin << potenz(xmin); 
    
    xmin= xmin+schrittweite;
    
    }
    
    while (xmin<=xmax);
    
    }
    
    #include <iostream>
    #include "header.h"
    
    using namespace std;
    
    void main ()
    
    {
    polynom P;
    
    float xmin=0;
    float xmax=0;
    
    P.validierung ();
    cout<< "Geben Sie den kleinsten Wert fuer x an: "; cin >> xmin; cout << endl;
    cout<< "Geben Sie den groessten Wert fuer x an: "; cin >> xmax; cout << endl;
    P.potenz (xmin);
    P.tabelle (xmin, xmax);
    
    system ("Pause");
    
    }
    

    Fehlermeldung:
    Fehler 1 error C2679: Binärer Operator '<<': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'void' akzeptiert (oder keine geeignete Konvertierung möglich) c:\users\alex\desktop\fachhochschule studium\2. semester\cpp\müller_alexander_hausaufgabe3.2\müller_alexander_hausaufgabe3.2\methoden.cpp 45 1 Müller_Alexander_Hausaufgabe3.2

    2 IntelliSense: Kein "<<"-Operator stimmt mit diesen Operanden überein.
    Operandentypen sind: std::basic_ostream<char, std::char_traits<char>> << void c:\Users\Alex\Desktop\Fachhochschule Studium\2. Semester\cpp\Müller_Alexander_Hausaufgabe3.2\Müller_Alexander_Hausaufgabe3.2\methoden.cpp 45 14 Müller_Alexander_Hausaufgabe3.2



  • siehe Titel.



  • willst du deinen Thread jetzt künstlich pushen??
    Zumal die Antwort schon genannt wurde...



  • Du hättest auch dein Posting editieren können. Die Einrückungen sind auch nicht mehr da.
    Gibt es welche?

    Du hast meine Frage noch nicht beantwortet.

    DirkB schrieb:

    Was für einene Rückgabewert hat denn potenz() ?

    Als Hilfe mag die Fehlermeldung dienen:
    Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'void' akzeptiert

    Denke daran, das der wichtige Teil im alten Titel nicht vorhanden war.

    Ach, und Zeile 78 ist in Ordnung. Die Leerzeile ist erlaubt.


Anmelden zum Antworten