Zufallszahlengenerator



  • Die Verwendung von Projekten ist zwar anfangs gewöhnungsbedürftig. ich wollte auch nicht immer für jede einzelne kleine datei gleich n neues projekt machen, aber später wirst du sowieso immer mehrere quelltextdateien haben und dann brauchst du projekte damit der compiler weiß welche dateien er noch braucht.



  • hmm ich weis nicht ob mich das aufmuntert 😉
    wenn ich ein projekt mache bekomme ich 5-6 dateien , sonst nur 2 😞

    ps.:Wenn ich ein consolen projekt mache und ein neues file hinzufüge und dann zB hallo augeben will - schreibt er immer Hallo Welt - egal was ich tue 😞

    nja ich suche mir mal ne alternative - vll visuell express 2005



  • die paar code::clocks konfigurationsdateien werden dich mal nicht mehr stören wenn du 10 cpp dateien und 10 hpp dateien hast oder wahrscheinlich sogar noch deutlich mehr. der grund für das hallo welt ist wahrscheinlich, dass c::b automatisch eine beispiel main.cpp erstellt, die genau das macht. mach beim projekterstellen einfach ein häkchen bei "do not automatic create file", dann sollte das behoben sein. Gib dich nicht so schnelle geschlagen. code::blocks ist echt ne super ide, wenn man sich mal ein bisschen eingearbeitet hat.



  • nja hab mir mal visual c++ 2005 express heruntergeladen und wenns mir mit der nicht gefällt probier ich es nochmal mit code::blocks



  • Beim Dev C++ Compiler
    wie wärs mit system("Pause");



  • Also hellboy 195 ich benutze code::blocks unter WindowsXP und hatte deine Probleme nie.
    mfg



  • ja, richtig, wenn man mit Windows C++ lernt, die Zeit immer bei sinnloser Prozesse verschwendet. (warum nicht Linux probieren, dann nicht nur c, sondern auch Linux lernen) z.B. kommpilieren; debuggen-release-Unterschiede auch muss man wissen(bei programm-Zeitlaufen richtig ausgeben) zumindest bei mir so dachte.

    ich denke, ein win-32-konsole-Projekt zu bilden ganz einfach, wenn du 3, oder 4 schon probiert:

    1.neu project klicken;
    2.win-32-console wählen, name geben;
    3.viele, oder alle(bei mir 🕶 ) nutzliche Header-Datei einfügen (auch namespace);
    4.main code schreiben.



  • hi @hellboy

    das hab ich mit meinem dev c++ auch.
    der führt die answeisung durch und schließt einfach automatisch, weil er nix mehr erwartet.

    wenn du trotzdem damit weiterarbeiten willst, dann füg einfach

    cin.clear();
    cin.sync();
    cin.get();
    

    nach der cout ausgabe und vor(!) dem return 0;
    auf std:: davor kannst du verzichten, da die geschichte mit using namespace std; am anfang schon erledigt ist



  • #include <iostream>
    
    void wait()
    {
        std::cin.clear();
    
     // std::cin.ignore( std::cin.rdbuf()->in_avail() );
        std::streambuf* pbuf = std::cin.rdbuf();
        std::streamsize size = pbuf->in_avail();
        std::cin.ignore(size);
    
        std::cin.get();
    }
    
    int main()
    {
        std::cout << "Hello!" << std::endl;
        wait();
    }
    


  • hmm danke schonmal aber das ist ja horror - ich lerne da was aus nem buch und dann sowas 😉
    nja ich werde jetzt mal visual c++ express 2005 probieren und das beste hoffen obwohl ich dev-c++ sehr vermisse (geht das nicht das is als umgebung ihn nehme und einen neueren compiler herunterlade und den dann beim pfad angebe)



  • warum willst du unbedingt auf vc umsteigen? ich lerne auch seit einigen wochen mit c++ und bleibe vorerst beim dev-cpp.

    am anfang ist eh nur consolen geschreibsel angesagt und da brauchst du kein vc. da reicht dir dev-cpp mehr als aus.

    was hast du eigentlich für ein buch? 😕
    also ich finde in den ersten tagen ist man erstmal genug mit der einführung und den grundlegenden einfachen datentypen beschäftigt oder begreifst du auch alles 100% was du da abgetippt hast? 😕
    evtl. ist das buch ja auch nicht ganz so einsteigerfreundlich



  • C++ lernen und proffesionell anwenden heißt das buch und der grund wieso ich umsteigen will ist das ich mit dev-c++ ein programm nicht machen habe können - siehe meinen 1. post und die anderen meinten dev-c++ sei veraltet und es ist besser einen anderen zu nehmen 😉



  • DevCpp mag ja alt sein, aber ein Compiler-Wechsel bringt Dich hier nur bedingt weiter. Das kann nämlich auch der DevCpp. Das Grundproblem ist auch ganz einfach. Es wurden auch schon jede Menge Lösungen in diesem Thread genannt. Dein Programm funktioniert nämlich und tut genau das, was es soll.



  • ja aber ich will ja aus dem buch mal alles lernen und beibehalten und da ist es ja doof wenn ein programm geht aber ganz anders als im buch beschrieben oder?

    Edit : Hab mein programm jetzt mit vc++ getestet und das fenster schließt sich wieder aber ich glaube ich konnte 3 zufallszahlen sehen bevor er sich beendet hat - getchar(); bringt nichts - habt ihr nicht gesagt gute, neue, umgebunden halten das fenster von alleine offen?



  • hellboy195 schrieb:

    ja aber ich will ja aus dem buch mal alles lernen und beibehalten und da ist es ja doof wenn ein programm geht aber ganz anders als im buch beschrieben oder?

    Aber es funktioniert doch alles, genau wie beschrieben. Daß das Fenster wieder zugeht hat doch mit dem Programm nichts zu tun.



  • hi,

    les dir doch einfach die antworten hier durch.

    gibst du

    cin.clear();
        cin.sync();
        cin.get();
    

    ein und das programm erwartet noch eine eingabe, bevor das programm beendet wird.

    unten ist der komplette code.

    #include <iostream> //Deklaration von cin und cout
    #include <cstdlib>  // Prototypen von srand(), rand() :
                        //void srand( unsigned int seed);
                        //int rand(void);
    using namespace std;
    int main()
    {
        unsigned int keim;
        int z1,z2,z3;
    
        cout <<"   -----Zufallszahlen----- \n" <<endl;
        cout <<"Initialisierung des Zufallszahlengenerators\n"
        <<"Geben Sie eine Zahl ein: " ;
        cin >> keim; //eine ganze Zahl einlesen
    
        srand(keim); //und damit den Zufallszahlengenerator initialisieren
    
        z1 = rand();          // Drei Zufallszahlen erzeugen
        z2 = rand();
        z3 = rand();
    
        cout << "\nDrei Zufallszahlen : " << z1 << "     " << z2 << "     " << z3 << endl;
    
        cin.clear();
        cin.sync();
        cin.get();
    
        return 0;
    }
    

    das problem ist nicht der compiler.
    wurdest hier wahrscheinlich nur unnötig noch mehr verwirrt durch diesen tip auf vc umzusteigen.

    mach einfach erstmal mit devcpp weiter. für die anfänge brauchst du nix anderes



  • hmm ok jetzt funktioniert der code auch mit dev-c++ ABER das mit dem cin.get() und so weiter steht nicht im buch (aber es funktioniert nur mit ihnen) deswegen hat das ja alles angefangen mit den fragen wegen ompiler ,...

    bzw. schließt sich dev-c++ ohne getchar() und ihr habt mir zu neueren (vc++,..) geraten denn die machen das ohne getchar auch



  • hellboy195 schrieb:

    hmm ok jetzt funktioniert der code auch mit dev-c++ ABER das mit dem cin.get() und so weiter steht nicht im buch (aber es funktioniert nur mit ihnen) deswegen hat das ja alles angefangen mit den fragen wegen ompiler ,...

    Hallo? Hast Du hier mal irgendwas gelesen? Das Programm funktioniert auch ohne diese Zeilen. Das habe ich doch inzwischen schon mehrfach geschrieben. Vielleicht solltest Du Dir das zunächst mal klar machen und auch, was das genaue Problem ist.

    Sollte das nicht gelingen kann ich nur einen weiteren Compiler-Wechsel empfehlen! 🙄



  • und ich habe auch schon geantwortet das ohne eure 3 zeilen (cin.get(),.....)
    sich das fenster (programmiert mit dev-c++) schließt - und deswegen habe ich diese frage gestellt und ihr habt mir geantwortet neuere compiler machen das nicht - aber ich bleibe jetzt für den anfang mal bei dev-c++ und wenns wirklich nicht mehr geht steige ich um.



  • hellboy195 schrieb:

    habt ihr nicht gesagt gute, neue, umgebunden halten das fenster von alleine offen?

    Ja, Code::Blocks tut das. Falls du noch Probleme damit hast kannst du mich ja mal bei Skype (joomoo) anrufen oder per ICQ (173555064) kontaktieren.

    Achja, noch eine Möglichkeit: http://www.cpp-tutor.de/cpp/le01/le01_01.htm

    mfg.


Anmelden zum Antworten