Brauche Buchstaben möchte aber nicht char verwenden ! && Rank ??



  • Hallo,
    Ich bin ein Anfänger @ Cpp
    Aber hab z.b. schon so'n Rechner gecodet und nun möchte ich nen Quiz coden ?!
    Da hab ich zwei konkrete Fragen , wie kann ich buchstaben verwendne ohne sie mit char zu definieren . Das heißt z.b. so
    char lala[10] ='bluuue'
    Ich will das ned weil ansonsten wäre es Buffer overflow .

    Also wie geht das ?
    Und meine zweite Frage IST es möglich "ranks" abzuspeichern das heißt
    es wird angezeigt..

    RANK

    1. Hans -> 5 Fragen richtig beantwortet
    2. Theo -> 4 Fragen richitg beantwortet

    -->Mehr haben an diesen Quiz noch nicht teilgenommen <--
    Falls es dann mal MEHR als 5 oder 10 werden sollen die anderen beinhart gelöscht werden .

    OKe cih weiß viel auf einmal ..aber trozdem .. wäre für Hilfe SEHR dankbar !! 🙂

    Danke nochmal



  • Nichts ist unmöglich. Toyota 😃

    Natürlich lässt sich das alles umsetzen 🙂

    Zu deiner Phobie vor char Array oder der gleichen, vorerst eine Klarstellung.

    char Test[7] = "Klappt"; // Es werden " genutzt!
    std::cout << Test << std::endl;
    

    Um dich aber vorerst( 😃 ) davon zu erlösen:

    #include <string>
    #include <iostream>
    
    int main ( void )
    {
    	std::string EinTollerString = "Klappt auch";
    	std::cout << EinTollerString << std::endl;
    
    	EinTollerString = "";
    
    	if ( EinTollerString.empty() ) // Nur ein Beispiel was so ein std::string kann :)
    	    std::cout << "Der ist ja leer" << std::endl;
    
    	return 0;
    }
    

    Hoffe dir hilft das. Ansonsten versuchs erstmal so weit wie möglich alleine und stell dann eine genau Frage wo du hängst 🙂

    Gruß Patrick



  • Ja ich häng ja schon am "Anfang" aber danke mal @ char



  • Und ja auch das speichern geht ... pack alle deine Ergebnisse in einen std::vector< std::pair<unsigned short, std::string> > und schreib am Programmende die besten 5 per std::ofstream in eine Datei. Am Programmanfang ließt du die Werte dann wieder mit std::ifstream ein 🙂



  • El Kassem schrieb:

    Hallo,
    Ich bin ein Anfänger @ Cpp

    Die Programmiersprache heißt C++. Cpp ist der Preprozessor 😉

    Da hab ich zwei konkrete Fragen , wie kann ich buchstaben verwendne ohne sie mit char zu definieren . Das heißt z.b. so
    char lala[10] ='bluuue'
    Ich will das ned weil ansonsten wäre es Buffer overflow .

    Äh was meinst du genau? (außer dass du " anstelle der ' verwenden musst) Grob kann ich erahnen, dass du vielleicht std::string suchst.

    Vielleicht hilft dir folgendes Tutorial weiter http://tutorial.schornboeck.net/inhalt.htm (ansonsten schau mal nach "Thinking in C++")

    Also wie geht das ?
    Und meine zweite Frage IST es möglich "ranks" abzuspeichern das heißt
    es wird angezeigt..

    klar geht das

    #include <string>
    #include <iostream>
    #include <queue>
    
    struct spieler {
      spieler(unsigned x, std::string const &name)
        : beantwortete_fragen(x), name(name)
      { }
    
      unsigned beantwortete_fragen;
      std::string name;
    };
    
    bool operator<(spieler const &lhs, spieler const &rhs) {
      return lhs.beantwortete_fragen < rhs.beantwortete_fragen;
    }
    
    int main() {
      std::priority_queue<spieler> ranking;
      ranking.push(spieler(5, "hans"));
      ranking.push(spieler(10, "tom"));
    
      unsigned pos = 0;
      while(!ranking.empty()) {
        std::cout << ++pos << ". " << ranking.top().name << '\n';
        ranking.pop();
      }
    }
    

    Falls es dann mal MEHR als 5 oder 10 werden sollen die anderen beinhart gelöscht werden .

    dafür gibt es if


Anmelden zum Antworten