Wahrheitstabelle in Tabellenform ausgeben



  • Böses waltet hier .... 😮



  • Noreia297 schrieb:

    #include <iostream>
    
    using namespace std;
    
    // der Prototyp
    string verknuepfung(bool A, bool B);
    
    // die main Funktion
    int main()
    {
        cout << "Wahrheitstabelle fuer !(A&&B) \n" <<endl;
        cout << "A \t B \t !(A&&B)" << endl;
        cout << "wahr \t wahr \t" << endl;
        cout << "wahr \t falsch \t" << endl;
        cout << "falsch\t wahr \t" << endl;
        cout << "falsch \t falsch \t" << endl;
    
        return 0;
    }
    
    // die Funktion verknuepfung
    bool verknuepfung()
    {
        if (!(A && B) == 0)
            return "wahr";
        else
            return "falsch";
    }
    

    Also erstens musst du noch den Header <string>
    einbinden, bevor du noch mit strings arbeitest,
    Als nächstes, was soll

    !(A && B) == 0
    

    ?
    Dasselbe ist nämlich

    A && B
    

    Da musst du dich nochmal mit theoretischer Informatik auseinandersetzen.
    Du fragtest auch, wie du über "cout" etwas ausgeben kannst.
    Hast du schon Streams und Ausgabe durchgemacht ?
    Das ginge ungefähr so:

    cout<<verknuepfung()<<endl;

    Der Rückgabewert einer Funktion kann da wie ein Objekt dessen Typs behandelt werden.



  • Wie kann es sein das du für die gleiche funktion 2 verschiedene funktionstypen verwendest ? string und bool 😕



  • Noreia297 schrieb:

    mhh... Ich habe die verknüpfungs Funktion nun so

    string verknuepfung()
    {
        bool A = 1, B = 1;
        if (!(A && B) == 0)
            return "wahr";
        else
            return "falsch";
    }
    

    Stimmt immernoch nicht mit der Deklaration überein. Siehe mein erster Post...



  • So.

    #include <iostream>
    
    using namespace std; 
    
    // der Prototyp 
    inline bool verknuepfung(bool A, bool B); 
    
    // die main Funktion 
    int main(void) 
    { 
        cout << "Wahrheitstabelle f\201r !(A&&B) " <<endl
             << "A \t B \t !(A&&B)" << endl
             << "wahr \t wahr \t" << endl
             << "wahr \t falsch \t" << endl
             << "falsch\t wahr \t" << endl
             << "falsch \t falsch \t" << endl; 
    
        return 0; 
    } 
    
    // die Funktion verknuepfung 
    inline bool verknuepfung(bool A, bool B){
    
        if(!(A && B))
             return true;
    
        return false;
    }
    

    Ist das, wonach es ungefähr aussehen soll ...?

    Willst du beide Booleans zurückgeben, solltest du dir mal vielleicht
    die ^Template-Struktur pair<> aus dem <utility> header anschauen.
    Denn warum du einen String für den Rückgabeparameter dieser Funktion gewählt hast, ist mir ziemlich unklar 😕 :p
    Übrigens, wofür ist die Funktion genau ?
    Ist auch nicht ersichtlich, in deinem ersten Post nutzt du sie nirgends.



  • Mal ohne komische Rückfragen:

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    // der Prototyp
    string verknuepfung(bool A, bool B);
    
    // die main Funktion
    int main()
    {
        cout << "Wahrheitstabelle fuer !(A&&B) \n" <<endl;
        cout << "A\tB\t!(A&&B)" << endl;
        cout << "wahr\twahr\t" << verknuepfung(true,true) << endl;
        cout << "wahr\tfalsch\t" << verknuepfung(true,false) <<endl;
        cout << "falsch\twahr\t" << endl;
        cout << "falsch\tfalsch\t" << endl;
    
        return 0;
    }
    
    // die Funktion verknuepfung
    string verknuepfung(bool A,bool B)
    {
        if (!(A && B) == 0)
            return "falsch";
        else
            return "wahr";
    }
    


  • Eisflamme schrieb:

    Mir ist ohne Scheiß gerade etwas übel geworden. -.-

    Man beachte den Buchtitel zu welchem sich diese Empfehlungen äußern. Dann geht es dir vielleicht wieder besser.


Anmelden zum Antworten