Dlaczego program tak działa? Funckja czasowa

0

Cześć, ogólnie zrobiłem program maklerski (Prawie skończony) ale mam problem z funkcją czasową poll(). linijka 243 wygląda ona tak:

  if(k ==1 && i == 23){
        printf("Wybrano: ");
	int s =1;
	while(s){
	  struct pollfd mypoll = {STDIN_FILENO,POLLIN|POLLPRI};
	  if(poll(&mypoll,1,2000)){
	    scanf("%c",&Wybor);
	    if(Wybor == '1'){
	      s = 0;
	      Kupuj();
	    }
	  }
	  else{
	    s = 0;
	  }
	}
      }

No i wszystko dobrze ale przed tą funckja ma wypisywać czas wygląda to tak:

if(i == 23 && k == 0){
        printf("TIME!|TIME|TIME|");
	Sekundy++;
	printf("Sekundy: %2d| ",Sekundy);
	if(Sekundy == 60){
          Minuty++;
	  Sekundy = 0;
	  printf("Minuta: %2d| ",Minuty);
	}
	else{
	  printf("Minuta: %2d| ",Minuty);
	}
	if(Minuty == 60){
	  Minuty = 0; 
	  Godziny++;
	  printf("Godzina: %2d|", Godziny);
	}
	else{
          printf("Godzina: %2d|",Godziny);
	}

	printf("TIME|TIME|TIME!|");

      }

Moim zdaniem powinno to działać tak że printf w if(i ==23 && k == 0) powinno się zawsze wyświetlać przed czekaniem scanf w tym pierwszym kodzie. Proszę o pomoc tutaj jest kod: https://github.com/PirchHD/GraMakler/blob/master/makler.c#L273
Starałem pisać czytelny kod ale jeśli widzicie jakieś uwagi to jestem otwarty na krytykę.

0

Nie rozumiem, jaki jest problem. Kod "nie działa", to zrozumiałem, w porządku; ale dokładnie: jakie zachowanie powinno być, a nie ma?

1 użytkowników online, w tym zalogowanych: 0, gości: 1