Problem mit time



  • Hi leute
    ich habe folgendes programm geschrieben:

    #include "stdafx.h"
    #include <iostream>
    #include <ctime>
    using namespace std;
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	time_t start;
    	double dauer = 5;
    	if ((difftime(time(NULL), start))>dauer){
    		cout << "5 secunden vergangen";
    		system("Pause");
    	}
    	else {
    		cout <<"Fehlgeschlagen";
    		system ("Pause");
    	}
    	return 0;
    }
    

    Da kommt dann bei mir folgende warnung:

    Kompilieren...
    time.cpp
    c:\dokumente und einstellungen\albert\eigene dateien\programmieren\time\time\time.cpp(13) : warning C4700: Die nicht initialisierte lokale Variable "start" wurde verwendet.

    Wenn ich mein programm dann starten will erscheind dies:
    Fehlgeschlagen Taste drücken...

    kann mir jmd sagen was ich falsch mache



  • Ja ganz einfach ... also ... er soll ja die Differenz von der aktuellen Zeit(also time()) und deiner Zeitvariable start errechnen ... in Sekunden ... so, wenn du aber für start garkeinen Wert angibst, kann er da ja auch schlecht eine Differenz bilden ...



  • aja danke
    warum beendet jetzt aber mein programm nicht nach 20 sek?:

    int main()
    {
    	time_t start(NULL);
    	double dauer = 20;
    ...
        while((difftime(time(NULL), start))>dauer)
        {
    ...
        }
    	exit (1);
    }
    


  • versuch es einfach so

    #include <time.h>
    int main()
    {
        time_t start= time(0);
        double dauer = 20;
        while((difftime(time(0), start))<dauer);
        return 0;
    }
    

    Kurt



  • danke es funktioniert


Anmelden zum Antworten