Bitte angucken und helfen



  • Wo brauchst du denn die Umrechnung von int-Werten zu Farbcodes? Genau für diese Umrechnung (aka 'int2string()') kannst du die vorgeschlagene Funktion verwenden.



  • Also ich muss 1 mal die Farben der Ringe eingeben und den Farben ne zahlzu weisen und einmal einer Zahl ne Farbe zuweisen.
    Einer Farbe die Zahl zuweisen haben wir ja drin (map)... jetzt fehlt uns nur noch der umgekehrte weg einer Zahl eine Farbe zuweisen(switch-case (W)).
    Jetzt weiss ich aber nicht wo ich deine Funktion einbringen soll.



  • Soulpincher schrieb:

    Also ich muss 1 mal die Farben der Ringe eingeben und den Farben ne zahlzu weisen und einmal einer Zahl ne Farbe zuweisen.
    Einer Farbe die Zahl zuweisen haben wir ja drin (map)... jetzt fehlt uns nur noch der umgekehrte weg einer Zahl eine Farbe zuweisen(switch-case (W)).

    Die Zuordnung von Schlüssel zu Wert liefert die map<> schon frei Haus (über den Index-Zugriff), die Zuordnung in die andere Richtung ist ebenfalls in der map gespeichert, aber da gibt es keine elementare Funktion, um darauf zuzugreifen. Und genau dazu kannst du die Funktion farbname() verwenden - die sucht in der map nach einem Wert und gibt den dazu passenden Schlüssel wieder heraus.

    (die Alternative wäre eine zweite map (dieses Mal map<int,string>), in der die Elemente andersherum eingetragen sind)

    PS: Mir ist gerade oben ein Fehler aufgefallen *korrigiert die Funktion*



  • Mit welchen befehl kann man machen das man oben eingeben kann egal groß oder kleinbuchstaben und es trotzdem durchführt



  • kind1995 schrieb:

    Mit welchen befehl kann man machen das man oben eingeben kann egal groß oder kleinbuchstaben und es trotzdem durchführt

    Was will uns dieser Beitrag sagen?

    (Im C(++) Quelltext mußt du exakt auf die Groß- und Kleinschreibung achten, sonst findet der Compiler/Linker deine Variablen und Funktionen nicht mehr wieder. Bei Eingabestrings kannst du dich auf eine Schreibweise (z.B. komplett klein) festlegen und alle Nutzer-Eingaben mit tolower in Kleinschreibung umwandeln, bevor du sie genauer betrachtest.)



  • Das ist aber eine gute frage auch wenn sie nicht besonders gut formuliert ist^^

    wenn ich

    transform( Auswahl.begin(), Auswahl.end(), Auswahl.begin(), tolower );
    

    einfüge kommen folgende fehler:

    F:\ShoolProject\Schoolproject.cpp(36) : error C2228: Der linke Teil von '.begin' muss eine Klasse/Struktur/Union sein
    F:\ShoolProject\Schoolproject.cpp(36) : error C2228: Der linke Teil von '.end' muss eine Klasse/Struktur/Union sein
    F:\ShoolProject\Schoolproject.cpp(36) : error C2228: Der linke Teil von '.begin' muss eine Klasse/Struktur/Union sein
    F:\ShoolProject\Schoolproject.cpp(36) : error C2780: '_OI __cdecl std::transform(_II1,_II1,_II2,_OI,_Bop)' : Erwartet 5 Argumente - 4 unterstuetzt
    c:\programme\microsoft visual studio\vc98\include\algorithm(247) : Siehe Deklaration von 'transform'

    wie kann man das beheben



  • Auswahl ist ein einzelner char, da brauchst du kein transform(), um den umzuwandeln:

    Auswahl=tolower(Auswahl);
    


  • CStoll schrieb:

    Auswahl ist ein einzelner char, da brauchst du kein transform(), um den umzuwandeln:

    Auswahl=tolower(Auswahl);
    

    thx 😉



  • lol.. wieder umsonst ein post geschrieben^^



  • Ok... danke für deine Hilfe!
    Alle 3 Programme funktionieren einwandfrei^^
    Jetzt kommt der nächste Schritt xD
    Kennst du ein gutes tutorial für eine graphische Umsetzung des Programms?



  • Kennst du ein gutes tutorial für eine graphische Umsetzung des Programms?

    Explizit für dein Programm gibt es das natürlich nicht.

    Aber auf www.cpp-world.de, unter 'Tutorials' findest du ein paar gute Links zu WinAPI Tutorials (vorausgesetzt, du möchtest das mit der WinAPI lösen). Ich habe sie auch selber getestet, also ich kann sie nur empfehlen 😉

    MfG, mikey.


Anmelden zum Antworten