Hilfe Wetterprogramm

akban

Grünschnabel
Hallo Leute.
Ich bin grad dabei c++ zu lernen und bräucht mal ne kleine Hilfe.
Und zwar wollt ich ein kleines Programm schreiben, dass nach dem Wetter fragt(kennen wir ja bestimmt alle)

Der User soll nun reinschreiben, wie das Wetter ist und dann soll es ausgegeben werden.

ich hab mal folgendes versucht

#include <iostream>
using namespace std;

int main()
{
cout<<"\nWie findest du das Wetter heute?";
char i;
cin>>i;
cout<<"Ich finde auch das dass Wetter "<<i<<" ist";
}


Es klappt zwar aber es wird immer nur der erste buchstabe angezeigt. Woran liegt das?
Am besten auch noch warum was wo hinkommt :)

Bitte helft mir

mfg akban
 
Zuletzt bearbeitet:
Hi.

Schau dir mal in einem Buch oder Tutorial an, was Datentypen sind.

Ein char ist nur ein Zeichen. Du liest also ein einzelnes Zeichen ein und gibst es wieder aus. Du müßtest einen String nehmen. In einem C++ Buch für Anfänger wird das alles schrittweise erklärt.

Gruß

PS: Bitte verwende für Codeschnipsel die Code-Tags.
 
#include <iostream>
using namespace std;

int main()
{
cout<<"Wie findest du das Wetter heute?\n";
char *i;
cin>>i;
cout<<"Ich finde auch das dass Wetter "<<i<<" ist\n";
}


so klappt es :)
 
#include <iostream>
using namespace std;

int main()
{
cout<<"Wie findest du das Wetter heute?\n";
char *i;
cin>>i;
cout<<"Ich finde auch das dass Wetter "<<i<<" ist\n";
}

so klappt es :)
Ist aber falsch. Da müßtest du erstmal lernen was Zeiger sind, und das man für Zeiger immer Speicher reservieren muß.

Nimm einen std::string:
C++:
#include <string>
...
string wort;
Gruß

PS: Und bitte verwende die Code Tags! (# Button im Editor)
 
Hi danke für deine antwort
so klappts auch


#include <iostream>
#include <string>

using namespace std;

int main()
{

cout<<"Wie findest du das Wetter heute?";
string wort;
cin>>wort;
cout<<"Ja, ich finde auch das, dass Wetter "<<wort<<" ist";
}
 
meinst du so?

#include <iostream>
using namespace std;

int main()
{
cout<<"Wiefindasdasdasfafjtkköuö8itrzjswztrjs6zwsrzjsrtesdfsdfsadfsdfstdudasWetterheute?\n";
char *i;
cin>>i;
cout<<"Ichfinfafasthsrthaghagdeauchdafdsfafadfawfqwf332r23f23f23f23f23f2332fwgsdassWetter"<<i<<"ist\n";
}


also so klappt es bei mir auch ohne absturz
 
Nein, bei der Eingabe wenn du das Programm gestartet hast.

PS: Wenn es dennoch nicht abstürzt, ist das pures Glück bzw. die Eingabe war noch nicht lang genug. Du hast den Zeiger ja noch nicht mal initialisiert - d.h. der zeigt irgendwo hin und dahin wird dann auch der Text gespeichert den du eingibst, wobei alles überschrieben wird was dort vorher stand. Das kann natürlich fatal sein oder mit etwas Glück eben nicht.
 
Zuletzt bearbeitet:
Stimmt :eek:

naja es sollte auch nur ausgeben ob das wetter oder gut ist hätte nicht gedacht das bei jemanden die leertaste kaputt ist und der nen roman da reinschreibn will ;-)
 
Zurück