• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak program ma ominąć Scanf ?

0 głosów
94 wizyt
pytanie zadane 14 grudnia 2019 w C i C++ przez PirchHD Obywatel (1,730 p.)
Cześć

Pewnie wiele z was nie zrozumieło go mi chodzi ale już wyjaśniam. Robię grę w byciu Maklerem (w konsoli). Więc cały program będzie dzialaś w pętli i w każdej sekwencji użytkownik będzie miał do wyboru 1.Kupuj 2.Sprzedaj 3.Exit i teraz chciałbym żeby wykres (Pieniądza) pojawiał się co 5 s (to zrobię poprostu z funkcja  sleep) Ale żeby program po tych 5s Jeśli użytkownik nie kliknął nic to poprostu zadziałał jeszcze raz od nowa.

Chciałbym coś w stylu efektu if(x == Nic nie wcisniete w ciągu 5 s) to wykonaj funkcję main();

 

Dzięki i proszę o pomoc

2 odpowiedzi

+1 głos
odpowiedź 14 grudnia 2019 przez tangarr VIP (136,500 p.)

Musisz sprawdzać, czy bufor klawiatury jest pusty. Tutaj masz więcej informacji.

komentarz 17 grudnia 2019 przez PirchHD Obywatel (1,730 p.)

chodzi ci o coś takiego ?

if(getch() == '\n'){
  main();
}

Jeśli tak to mam problem ponieważ moj kompilator nie wie co to "getch" i myśli że chciałem napisać "getc"

komentarz 17 grudnia 2019 przez PirchHD Obywatel (1,730 p.)
A zarazem gdy dodaje bibliotekę conio.h dostaję błąd (pisze na linuxie)
komentarz 17 grudnia 2019 przez PirchHD Obywatel (1,730 p.)
Ogólnie udało mi się skompilować dzięki http://www.zsp5kozuchow.pl/content/biblioteka-ncurses-linuksowa-implementacja-curses

Ale nadal nie działa tak jak chciałbym :/
komentarz 17 grudnia 2019 przez tangarr VIP (136,500 p.)

Tutaj masz przykład implementacji funkcji kbhit w curses.

0 głosów
odpowiedź 14 grudnia 2019 przez tkz Nałogowiec (38,400 p.)
timeStart = clock();
while (condition)
{
    if ((clock() - timeStart) / CLOCKS_PER_SEC >= 120) // time in seconds
        break;
}

 

komentarz 25 grudnia 2019 przez PirchHD Obywatel (1,730 p.)
Dzięki bardzo ale wciąż nie działa. Oczywiście rozumiem tą funkcję ale gdy dodaję ją (Zamiast break to main() ) funkcja wstaje w miejscu. Tutaj jest mój program: https://github.com/PirchHD/GraMakler/blob/master/makler.c#L227

Gdy kompiluje z tym to funkcja "Stoi" i nic nie robi. A chciałbym gdy już minie to 1 sekunda funkcja main() wykonała się a jeśli bedzie Wybor = 1 lub Wybor = 2 to niech kupi za dana cene.

Podobne pytania

0 głosów
2 odpowiedzi 311 wizyt
pytanie zadane 18 marca 2016 w C i C++ przez programmero Bywalec (2,420 p.)
0 głosów
1 odpowiedź 45 wizyt
pytanie zadane 9 czerwca w C i C++ przez warzywko13 Użytkownik (740 p.)
+2 głosów
3 odpowiedzi 86 wizyt
pytanie zadane 24 sierpnia 2020 w C i C++ przez SzymonG Nowicjusz (170 p.)
Porady nie od parady
Odznacz odpowiedź zieloną fajką, jeśli uważasz, że jest ona najlepsza ze wszystkich i umożliwiła ci rozwiązanie problemu.Najlepsza odpowiedź

84,130 zapytań

132,899 odpowiedzi

293,918 komentarzy

55,554 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...