Viivettä C++:lla

Miten saisin viivettä C :lla käskyjen väliin? Onko jotain helppoa tapaa?
9599
Äänestä

Muut lukivat myös

Vastaukset 9

Vanhimmat

sleep(n), n=tauko millisekunteina eli 1000=1 sekunti.

Äänestä
  • Kiitti, mutta minkä include-tiedoston se vaatii, kun ei tuntunut ainakaan toimivan sellaisenaan?

    Äänestä

  • Argh kirjoitti:

    Kiitti, mutta minkä include-tiedoston se vaatii, kun ei tuntunut ainakaan toimivan sellaisenaan?

    tai sitten ennemmin delay(int n),missä n odotettava aika ms. tuo löytyy dos.h kirjastosta.

    Äänestä

  • muisteekseni sleep(n),n=tauko sekunteina.
    sleep(1000) = n. 16min

    Äänestä

..vaan Sleep(n) -käskyssä n on aika millisekunteina. #include niin toimii.

Äänestä
  • vintoosan puolella saattaa olla,en tiedä. mutta jos lähdetään dosssin puolelle niin sleep(n)-käskyssä n on aika sekunteina. (Sleep(n) ja sleep(n) ei taida olla sama käsky)

    Äänestä

sleep ja delay käskyt eivät koskaan ole kovinkaan suositeltavia tapoja.. aina kannattaa pyrkiä välttämään niitä ja toteuttaa kyseisen koodin odotuksen tarve esim. luuppirakenteilla ja muuttujien pyörityksella.. mutta jos tuntuu mahdottomalta ongelmalta ja tahdot esim. 2sekuntia muuttujien väliin niin delay on huomattavasti suositeltavampi tapa!

Äänestä
  • Se on totta, että näillä valmiilla funktiolla ei pysty ratkaisemaan ongelmaa, jos haluttu tauko on pienempi kuin sadasosasekunti (about, riippuu tietysti raudasta). Tämä sen vuoksi, että itse funktion suoritus vie pidemmän ajan kuin tuo haluttu tauko. Eli sleep(10) ja sleep(1) -komennot aiheuttavat yhtä pitkän tauon.

    Silmukoissa on taas se huono puoli, että yleensä ohjelmia käännettäessä on optimoinnit päällä, koska halutaan tehokasta koodia. Ja tämä aiheuttaa sen, että noilla dummy-silmukoilla ei pystytä kontrolloimaan tauon pituutta. Ja myös se huono puoli, että nämä timerista riippumattomat hidasteet ovat täysin riippuvaisia koneen suorituskyvystä.

    Äänestä

Kiitos monista kommenteista! Nyt kelpaa räknätä!

Äänestä

Kommentoi aloitusta


Argh kirjoitti:

Miten saisin viivettä C :lla käskyjen väliin? Onko jotain helppoa tapaa?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu