uppercase



  • Hallo,
    ich hab ein paar string variablen und möchte, dass wenn der User ein Wort eingegeben hat, also zum Beispiel November, dass egal wie er das Wort eingibt alles auf großbuchstaben gesetzt wird. Zum Beipiel Eingabe: november
    soll gespeichert werden als: NOVEMBER
    wie mache ich sowas?? Ich weiß zwar wie ich großbuschstaben mit uppercase ausgebe, aber hier bin ich überfragt



  • for(i=0;i<input.length();++i) input[i]=toupper(input[i]);
    //oder
    transform(input.begin(),input.end(),input.begin(),toupper());
    //oder
    ...
    

    such dir das aus, was du am besten verstehst



  • welche header datei muss ich denn dafür einbinden?



  • <string> für die Stringverarbeitung (zur Not liese sich das auch auf char* anpassen), <cctype> für toupper() und notfalls <algorithm> für transform()

    (aber das hätte dir auch ein Blick in die MSDN verraten können)



  • achso, ja danke



  • in CStolls Code fehlt noch ein Cast nach unsigned char beim touppper Aufruf.



  • ich bin jetzt leider noch nicht so bewandert in c++. wie müsste ich das in dem folgenden besispiel umschreiben.

    #include <iostream>
    #include <iomanip>
    #include <sstream>
    #include <string>
    #include <cctype>
    #include <algorith>
    #include <conio>
    using namespace std;
    
    int main()
    {
    	clrscr();
    	string wort;
    	cin >> wort;
    	transform(input.begin(),input.end(),input.begin(),toupper());
    	cout << wort;
    	return 0;
    }
    


  • transform(wort.begin(),wort.end(),wort.begin(),toupper());
    


  • @stdcpp: OK, schon möglich - aber mir ging's ums Prinzip.

    @Hurricane: Versuch' erst mal die Grundlagen von C++ zu verstehen. Dazu gehören auch die Begriffe "Parameter"/"Argument" - und die Erkenntnis, daß in Beispielprogrammen auch (meistens erkennbare) Beispielbezeichner verwendet werden.



  • Du solltest bei deiner Aufgabe bedenken, dass wenn man Straße großschreiben möchte, STRASSE herauskommt.



  • @cstoll ja, die Grundlagen kenne ich ja schon, lese auch ein buch über c++ mir ging es nur darum das mal zu wissen. Parameter und argumente sind mir wohl ein begriff. Hatte nur ein bisschen mit der uppercase funktion reumgespielt und wollte eben wissen wie ich si in diesem fall verwenden kann



  • Ponto schrieb:

    Du solltest bei deiner Aufgabe bedenken, dass wenn man Straße großschreiben möchte, STRASSE herauskommt.

    Nicht mit dem Ansatz über toupper() - der macht aus "Straße" "STRAße" (wenn du "STRASSE" benötigst, mußt du nach der Konvertierung noch mit string::replace() drüberlaufen (oder replace_all() - siehe Magazin).

    @Hurricane: Wenn du die Grundlagen kennst, hätte ich dich für intelligent genug eingeschätzt, die Variablen-Namen an deine Bedürfnisse anpassen zu können.



  • @Hurricane: Wenn du die Grundlagen kennst, hätte ich dich für intelligent genug eingeschätzt, die Variablen-Namen an deine Bedürfnisse anpassen zu können.[/quote]

    Ja, mir war nur in dem Moment nicht klar was du mit dem input meintest


Anmelden zum Antworten