Variable zu einem String hizufügen.



  • Letztendlich will ich ein Programm, mit dem ich, bei dem ich 2 Worte eingeben kann und diese als Wortgruppe wieder ausgegeben werden.
    Das hab ich wie folgt versucht:

    #include <iostream>
    
    	using namespace std;
    
    int main ()	{
    
    	char Eingabe1, Eingabe2, Ausgabe;
    
    	cout  << "Bitte geben sie ein Wort ein!" << "\t\n\n";
    
    		cin >> Eingabe1;
    
    	cout << "Bitte geben sie noch ein Wort ein" << "\t\n\n";
    
    		cin >> Eingabe2;
    
    strcpy(Ausgabe,Eingabe1);
    strcat(Ausgabe,Eingabe2);
    
    	cout << "\n" << Ausgabe;
    
    return 0;
    
    }
    

    Es erscheint die Fehlermeldung, dass die Variablen Eingabe1,2 nicht vo char in char * umgewandelt werden können.
    Ich hab erst mit C++ angefangen und hab keine Ahnung was damit gemeint ist bzw. was ich falsch gemacht habe.
    Bin für jede Hilfe dankbar.

    gruß
    EZed



  • in char kannst du nur ein zeichen speichern... für ne wortkette bräuchtest du ein char-array... da du aber c++ verwenden kannst bist du darauf nicht mehr angewiesen... es gibt das eine ganz praktische klasse mit namen std::string

    #include <iostream>
    #include <string>
    
    int main ()    {
    
        std::string Eingabe1, Eingabe2, Ausgabe;
    
        std::cout  << "Bitte geben sie ein Wort ein!" << std::endl;
        std::cin >> Eingabe1;
        std::cout << "Bitte geben sie noch ein Wort ein" << std::endl;
        std::cin >> Eingabe2;
    
        Ausgabe=Eingabe1+Eingabe2;    
        cout << std::endl << Ausgabe<<std::endl;
    
    }
    


  • Das funktioniert leider nicht vll hab ich es falsch eingegeben aber ich hab es kopiert wie du es geschrieben hast.

    Fehler:

    'cout' : undeclared identifier
    mismatch in formal parameter list
    '<<' : unable to resolve function overload
    

    und weitere... 😕 😕 😕

    Kennst du vll noch eine andere vll auch kompliziertere Variante?

    p.s. mit den Mitteln(Typen,Klassen,Variablen etc.) die ich benutzt habe müsste es gehen, denn das Buch mit dem ich arbeite hat noch nicht viel mehr aufgezeigt aber verlangt eine solche Lösung.



  • ja mein fehler habs so ins forum gehackt und nicht durch nen compiler gejagt...

    #include <iostream> 
    #include <string> 
    
    int main ()    { 
    
        std::string Eingabe1, Eingabe2, Ausgabe; 
    
        std::cout  << "Bitte geben sie ein Wort ein!" << std::endl; 
        std::cin >> Eingabe1; 
        std::cout << "Bitte geben sie noch ein Wort ein" << std::endl; 
        std::cin >> Eingabe2; 
    
        Ausgabe=Eingabe1+Eingabe2;     
        std::cout << std::endl << Ausgabe<<std::endl; 
    
    }
    

    an sonsten wenn du es erstmal nach deinem buch machen willst und nicht nur ein zeichen eingeben willst musst du char-arrays nehmen also z.b.

    char [128] Eingabe1, Eingabe2, Ausgabe;
    da musst du dann zum zusammenbasteln allerdings z.b. dein strcpy oder memcpy verwenden



  • danke jetzt funktioniert es.

    Aber das mit den char arrays will ich auch haben ^^. Will halt das ich alles verstehe, leider klappt es immer noch nicht, Fehler über Fehler, ich will das Thema nicht unnötig in die Länge ziehn, aber hier der Code:

    #include <iostream> 
    #include <cstring> 
    
    int main ()    { 
    
       char[128] Eingabe1, Eingabe2, Ausgabe;		////// Variablendeklaration (Hauptproblem)
    
        cout  << "Bitte geben sie ein Wort ein! ";
    		cin >> strcpy(Ausgabe,Eingabe1);        ////// erste Eingabe
        cout << "Bitte geben sie noch ein Wort ein ";
    		cin >> strcat(Ausgabe,Eingabe2);        ////// zweite eingabe
    
        Ausgabe=Eingabe1+" "+Eingabe2;              ////// Ausgabeinitialisierung
    
        cout << Ausgabe;
    
    }
    


  • schau mal für solche trivialen sachen in ein buch...das steht fast in jedem c/c++-buch irgendwo am anfang

    #include <iostream> 
    
    int main ()    { 
    
    	char  Eingabe1[128], Eingabe2[128], Ausgabe[128];
    	std::cout  << "Bitte geben sie ein Wort ein! "; 
    	std::cin >> Eingabe1; 
    	std::cout << "Bitte geben sie noch ein Wort ein "; 
    	std::cin >> Eingabe2; 
    
    	strcpy(Ausgabe,Eingabe1);
    	strcat(Ausgabe,Eingabe2);
    
    	std::cout << Ausgabe; 
    
    }
    


  • OK, danke für alles!


Anmelden zum Antworten