Brauche hilfe bei einer Aufgabe für eine Klausur



  • Der Benutzer macht zwei aufeinanderfolgende Eingaben mit Wörtern.
    Diese Zwei Wörter werden zu einem zusammengeführt.
    Danach wird das erste "i" im Wort durch ein "!" ersetzt und das neue Wort wird ausgegeben.
    bitte helft mir 😞



  • Hast du schonmal was mit c++ am Hut gehabt??Ehe wir dir hier Fachwörter hinschmeißen.



  • http://www.catb.org/~esr/faqs/smart-questions.html
    das sollte dir helfen.

    Ich hoffe, dass hier niemand eine Lösung postet...



  • Du schaffst das schon selbst. Wenn Du was gemacht hast, und dann nicht weiterkommst, einfach nochmal fragen.
    Ganbatte Kudasai!



  • Hm, Klausuraufgabe vor einer Klausur?

    Oder während Klausur Internetzugang? Das wäre ja mal richtig doof vom Prof/Lehrer/Tutor/wasauchimmer. Aber wäre auch nicht das erste mal das ich das erlebe. 😉



  • #include <cstdlib>
    #include <iostream>
    #include <string>
    using namespace std;

    int main(int argc, char *argv[])
    {
    string wort1;
    string wort2;
    string ausgabe;
    int pos;
    ausgabe = wort1 + wort2;

    cout << "Geben Sie ein Wort mit i ein:" << endl;
    cin >> wort1;
    cout << "Geben Sie ein zweites Wort ein:" << endl;
    cin >> wort2;
    cout << "Das Wort lautet:" << endl;
    cin >> ausgabe;
    pos = ausgabe.find("wort1 + wort2", 0);

    system("PAUSE");
    return EXIT_SUCCESS;
    }

    den anfang denk ich hab ich ich muss jetzt halt nur noch das i vom wort gegen ein ! tauschen aber hab keine ahnung wie das geht



  • franzi h. schrieb:

    #include <cstdlib>
    #include <iostream>
    #include <string>
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        string wort1;
        string wort2;
        string ausgabe;
        int pos; //wozu brauchst Du das?
        ausgabe = wort1 + wort2; //hier verknuepfst Du die Woerter, aber...
        
        
        //...Du liest sie hier erst ein.
        cout << "Geben Sie ein Wort mit i ein:" << endl;
        cin >> wort1;
        cout << "Geben Sie ein zweites Wort ein:" << endl;
        cin >> wort2;
        //sollten die woerter nicht eher hier verknuepft werden?
    
        //was soll das hier machen?
        cout << "Das Wort lautet:" << endl;
        cin >> ausgabe;
        pos = ausgabe.find("wort1 + wort2", 0);
        
        
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    


  • Wichtig wäre fürs nächste mal, bitte benutze cpp-Tags.

    Dann würde ich sagen das du die "Addition" der Strings besser nach der Eingabe machen solltest 😉 Weil ja erst dann diese String existieren.
    Weiterhn solltest du mal nach std::string::replace() gucken im Internet 😉



  • Hmm, die Anweisungen von Dir sind schon mal gar nicht so schlecht. Nur an der Reihenfolge solltest Du noch arbeiten (Tip: 'ausgabe = wort1 + wort2' ist da vollkommen deplatziert).

    Die Funktion 'find' ist auch richtig, nur Du wendest sie vollkommen falsch an. Schau Dir nochmal die Funktionsdokumentation an. Wenn Du die Position hast, kannst Du das Zeichen dort einfach über den Array-Index-Zugriff ersetzen, genauso, wie Du bei einem gewöhnlichen Array einen Wert setzen würdest.


Anmelden zum Antworten