Konsole während einer schleife weiter bedienen.



  • Hallo,

    ich möchte, mein Programm aktuallisiert sich alle 2 Sekunden um neue Werte zu laden, dafür benutze ich eine schleife. Ich möchte nun aber gerne während es in der schleife ist weiter Befehle ausführen wie z.B "Essen geben".

    Hier der part der Schleife:

    while(1){
    		werte = funktionMinus;
    		if((clock() / 1000) >=2){
    			if(((clock() / 1000))%i == 0 ){
    				system("cls");
    				i+=2;
    				werte(&tam,0);
    				anzeige(&tam);
    
    			}
    		}
    	}
    

    das mit i+=2 habe ich aus dem Grund gemacht, weil sobald 2 Sekunden um sind, zieht er 2%2 = 0, dann i+2 und dann geht er halt erst wieder ins "if" rein wenn 4%4 = 0 ist, 2 sekunden weiter halt...
    Ohne das habe ich meine Ausgabe immer 20 - 30 mal bekommen.

    Grüße.



  • Warum lässt du in der Schleife nicht beides ablaufen?

    #include <stdio.h>  // printf, getchar
    #include <time.h>   // clock_t, clock
    #include <stdlib.h> // system
    
    // Program entry
    int main(){
        // Time memory
        clock_t last_time = clock(), cur_time;
        // Process loop
        while(1){
            // 2 seconds over?
            cur_time = clock();
            if(cur_time - last_time > 2000){
                last_time = cur_time;
                // Clear console
                system("cls");
    
            }
            // Output something
            printf("Hello world!");
            // Input 'q' for exit?
            if(getchar() == 'q')
                break;
        }
    }
    

    Oder blockiert dein "Essen geben" zu lange? Wenn ja, müsstest du dies in einem anderen Thread ausführen lassen.


Anmelden zum Antworten