Spaß mit Früchten (war: C++ programm)





  • array24 schrieb:

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main() {
    
        char Eingabe;
    
        cin >> Eingabe;
    
        cout << "(A)alle Fruechte, die an 2. Stelle ein a haben, ausgeben " << endl;
    
        cout << "(B) aus dem Apfel eine Apfelsine machen, alten und neuen Wert ausgeben" << endl;
    
        cout << "(C)alle Fruechte, deren Name länger als 8 Zeichen ist, ausgeben " << endl;
    
        cout << " (D) (freiwillig) alle Fruechte, die im Namen beere haben,den Bestandteil ohne beere ausgeben" << endl;
    
        string fruechte[5] = {"Ananas", "Apfel", "Banane", "Birne", "Blaubeere"};
    
    switch(Eingabe) {
    
        case 'a':
    
            Eingabe = 'A';
    
        for (int i = 0; i < 5; i++) {
    
                if (fruechte[i][1] ==  'a' ) {
    
                    cout << fruechte[i] << endl;
    
    }
    
    }
    
      break;
    
        case'b':
    
        Eingabe = 'B';
    
           int tmp;
    
             string fruechte  = "Apfel";
    
            fruechte == "Apfelsine";
    
            fruechte == tmp;
    
            cout << tmp << endl;
    
            break;
    
      defaul:
    
      break;
    
    }
    }
    

    Ich hab versucht das string frucht zu verändern und dann in eine neue variable einzulesen und diese Auszugeben .

    Was mache ich falsch ?

    Ich komme seit stunden nicht auf den Fehler.

    Bitte um tipps.

    warte, mast0r sone kommt gleich, der fixt dir das



  • Der Code enthält einige syntaktische Fehler, wie das fehlende 't' bei dem default (Zeile 83).

    Wenn man den Code ordentlich formatiert kommt man auf

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main()
    {
    	char Eingabe;
    
    	cin >> Eingabe;
    
    	cout << "(A)alle Fruechte, die an 2. Stelle ein a haben, ausgeben " << endl;
    
    	cout << "(B) aus dem Apfel eine Apfelsine machen, alten und neuen Wert ausgeben" << endl;
    
    	cout << "(C)alle Fruechte, deren Name länger als 8 Zeichen ist, ausgeben " << endl;
    
    	cout << " (D) (freiwillig) alle Fruechte, die im Namen beere haben,den Bestandteil ohne beere ausgeben" << endl;
    
    	string fruechte[5] = {"Ananas", "Apfel", "Banane", "Birne", "Blaubeere"};
    
    	switch(Eingabe)
        {
        case 'a':
    
            Eingabe = 'A';
    
            for (int i = 0; i < 5; i++)
                    if (fruechte[i][1] ==  'a' )
                            cout << fruechte[i] << endl;
            break;
    
        case'b':
    
            Eingabe = 'B';
            int tmp;
    
            string fruechte  = "Apfel";
            fruechte == "Apfelsine";
            fruechte == tmp;
    
            cout << tmp << endl;
    
            break;
        }
    }
    

    Anscheinend hast du einige Sachen missverstanden.
    Was denkst du soll bspw. die Zeile

    fruechte == "Apfelsine";
    

    bewirken?
    Oder

    Eingabe = 'A';
    

    ?

    Ich hab versucht das string frucht zu verändern und dann in eine neue variable einzulesen und diese Auszugeben .

    Meinst du mit einlesen zuweisen?
    Und wie wolltest du den String verändern?

    Ich gebe dir den dringenden Rat, dir ein gutes Grundlagenbuch zu holen. Näheres findest du hier.





  • TIPP:
    In eine Schleife alle gewünschte Aktionen solagen ausführen bis für das "Progamm/Schleife beeden" eine gewünschte Taste oder Tastenkombination gedrückt worden. Sonst für neuen Auswahl muß man immer wieder deine Anwendung neu starten.



  • Ewald02 schrieb:

    FYI:
    Beiträge im Informatikerboard

    lol



  • Nathan schrieb:

    Ewald02 schrieb:

    FYI:
    Beiträge im Informatikerboard

    lol

    Ich hätte das selbe getan.
    Nach so einem Offtopic-Gerede wie diesem hier...

    Aber gelernt hat er wohl noch nix - weder hier, noch im anderem Forum 😃



  • Klarinette schrieb:

    Nathan schrieb:

    Ewald02 schrieb:

    FYI:
    Beiträge im Informatikerboard

    lol

    Ich hätte das selbe getan.
    Nach so einem Offtopic-Gerede wie diesem hier...

    Hier hat er 12 Stunden später den Thread eröffnet.



  • Nadann 😃

    Die vorgemachte Lösung von Seite 2 wird er wohl überlesen haben.



  • a) alle Früchte, die an 2. Stelle ein 'a' haben, ausgeben
    b) aus dem Apfel eine Apfelsine machen, alten und neuen Wert ausgeben
    c) alle Früchte, deren Name länger als 8 Zeichen ist, ausgeben
    d) alle Früchte, deren Name auf 'h' endet, ausgeben
    e) (freiwillig) alle Früchte, die im Namen "beere" haben,
    den Bestandteil ohne beere ausgeben

    Ansatz:
    a) gelöst
    b) strings verketten oder http://www.cplusplus.com/reference/string/string/insert/
    c) http://www.cplusplus.com/reference/string/string/length/
    d) Arbeite mit Chars oder mit Index Operator, String Methode "at"
    e) http://www.cplusplus.com/reference/string/string/find/

    vieleicht hat einer besseren lösung.



  • geht nicht 😞



  • arry24 schrieb:

    geht nicht 😞

    schade. Und nun?



  • arry24 schrieb:

    geht nicht 😞

    Tjo Minjung.
    Hättest im Kurs wohl besser aufpassen müssen.
    Wir haben Dir alle Informationen gegeben, die Du bräuchtest um die Aufgabe zu lösen - sogar mehr.
    Wir selbst wüssten nun auch nicht mehr wie wir Dir nun helfen sollten und erst recht nicht mit einem "geht nicht".



  • ....zu anderen, hier ist kein Hausaufgaben Forum....dir wurde mehr als genügend Hilfe gepostet, ansonsten mach Buch auf und lerne.



  • arry24 schrieb:

    geht nicht 😞

    Vorschlag:

    1. Lies den Thread noch mal komplett durch (bis auf die Off-Topic Seiten 3 - 7 o.ä.).
    2. Wenn du es dann immer noch nicht verstanden hast, dann gehe zu Schritt 1.


Anmelden zum Antworten