Probleme mit Zeitsteuerungen



  • Hallo, bin blutiger Anfänger. Ich lerne hauptsächlich durch Nachmachen. Als Vorlage habe ich das C++Kompentium von Dirk Louis. Ich wollte nur kleine Steuerprogramme programmieren und habe die Ampelsteuerung im Kapitel 26, Seite 1040 ausprobiert. Es funktioniert nicht. Das Programm habe ich auf einfache Textausgabe auf dem Bildschirm reduziert - mein blöder Rechner läßt erst die kompletten Zeiten ablaufen und gibt dann mit einem Schlag allen Text aus, der eigentlich zeitversetzt kommen sollte. Der Autor kann aus privaten Problemen zur Zeit nicht helfen. Hat jemand einen Tip?



  • vllt wäre es hillfreich wenn du uns etwas relevanten code posten würdest (wenn möglich <60 Zeilen).
    mir geht es nämlich so das ich dieses buch nicht habe und selbst wenn ich besitzen würde hätte ich keine lust mir das jetzt nachzuschlagen 😮 😉 .



  • OK, dachte das Buch wäre Standartwerk.

    /*Ampel.cpp*/
    #include <stdio.h>
    #include <time.h>
    #include <conio.h>

    void warten(int sekunden)
    {
    clock_t start;
    sekunden *= CLOCKS_PER_SEC;
    start =clock();
    while ( clock() < start + sekunden);
    }

    //Funktionen fuer Schaltzustaende

    void rot()
    {
    printf("\nrot");
    warten (10);
    }

    void rot_gelb()
    {
    prinf("\nrot\tgelb");
    warten (2);
    }

    void gruen()
    {
    printf("\ngruen");
    warten (6);
    }

    void gelb()
    {
    printf("\ngelb");
    warten (3);
    }

    //Array von Zeigern auf Funktionen
    void (*fpointer[4]) ();

    int main ()
    {
    int i;

    //Zeiger initialisieren

    fpointer[0]=rot;
    fpointer[1]=rot_gelb;
    fpointer[2]=gruen;
    fpointer[3]=gelb;

    //Array durchlaufen

    for (i=0; i<=3; i++)
    fpointer[i]();

    return 0;
    }

    //ENDE


  • Administrator

    1. Verwende bitte C/C++ Code Tags.
    2. Das Problem wird wohl daran liegen, dass die Ausgabe gepuffert ist. Probier mal nach jedem printf ein fflush(stdout).

    printf("blabla");
    fflush(stdout);
    

    3. Das soll ein C++ Kompendium sein? Der Code ist ja reines C. Also wenn das Buch dies als C++ verkaufen will, verbrenne es bitte! 😃

    Grüssli



  • Hab die ganze Sache auch schon versucht mit cout<<... zu schreiben. Das Buch heißt übrigens genau : C/C++ Kompendium. Der Autor schreibt auch, daß er das Programm mit Borland C++ 5.01 geschrieben hat. Ich benutze eine Schulversion von Visual C++ 6.0 St. Edition. Ich probier Deinen Tip, Antwort wird etwas dauern. Danke.



  • AnKü schrieb:

    Hab die ganze Sache auch schon versucht mit cout<<... zu schreiben. Das Buch heißt übrigens genau : C/C++ Kompendium. Der Autor schreibt auch, daß er das Programm mit Borland C++ 5.01 geschrieben hat. Ich benutze eine Schulversion von Visual C++ 6.0 St. Edition. Ich probier Deinen Tip, Antwort wird etwas dauern. Danke.

    Beide erwähnten Compiler sind weder aktuell noch Standardkonform. Ich empfehle dringend auf einen aktuellen Compiler umzusteigen (z.b. die kostenlose Expressedition vom Microsoft Visual C++ 2008).

    Was "Standardlektüre" angeht, es gibt mehr C++ Bücher auf den Markt, als ein normales Regal aufnehmen kann (gerade auch wenn man solch veraltete mitrechnet).

    Wenn ich meine Auswahl auf drei Bücher beschränken müsste würde ich sagen: "C++ Primer" für den Einstieg, "Die C++ Programmiersprache" als Nachschlagewerk für Fortgeschrittene wenn man fitter ist, "Effektiv C++ Programmieren" sobald man sicher mit C++ umgehen kann, und um festzustellen das es doch noch etwas zu lernen gibt. Darüber hinaus gibt es noch spezielle Literatur die einzelne Themen genauer beschreibt.

    cu André
    P.S: Eine kostenlose Alternative zum C++ Primer ist Thinking in C++ Volume 1&2



  • Dravere schrieb:

    1. Verwende bitte C/C++ Code Tags.
    2. Das Problem wird wohl daran liegen, dass die Ausgabe gepuffert ist. Probier mal nach jedem printf ein fflush(stdout).

    printf("blabla");
    fflush(stdout);
    

    3. Das soll ein C++ Kompendium sein? Der Code ist ja reines C. Also wenn das Buch dies als C++ verkaufen will, verbrenne es bitte! 😃

    Grüssli

    💡 Danke für Deinen Tip, aber ich Trottel habe bei der ganzen C und C++ Suppe einen falschen Header in mein selbst entworfenes Programm gerührt. Problem ist gelöst 👍



  • Trotzdem würde ich mich an deiner Stelle entweder für C oder C++ entscheiden.



  • Die Programmiererei ist für mich nur eine Schlecht-Wetter-Beschäftigung. Ursprünglich wollte ich mit BASIC arbeiten, aber die passende Software war mir zu teuer.So habe ich mich für C++ entschieden. Leider hat man bei den Dokumentationen beim Übersetzen gespart, ich muß die interessanten Themen erst übersetzen und das nervt. 😞 Kennt jemand gedruckte, deutschsprachige Ausgaben über WinAPI/MFC/Konsolenprogrammierung, die auch von Anfängern gelesen und verstanden werden können.


Anmelden zum Antworten