C++

Programovacie jazyky, rady, poradňa...
GlogoSV
Expert
Expert
Príspevky: 144
Registrovaný: 30 apr 2011, 20:50
Bydlisko: Snina

C++

Príspevok od používateľa GlogoSV »

Zdravím chcel by som sa opýtať ako to mam upraviť aby ked som stlačil klavesu zastavilo sa to a ak by som zase stlačil pokračovalo Za každu odpoved Dakujem .

Kód: Vybrať všetko

#include <iostream>
#include <conio.h>
#include <windows.h>
#include <unistd.h>

using namespace std;

void z() {Sleep(500);}


int main(){
    int c;
    for (int i=0;i<100;i++)
    {
        cout << i << " ";
                z();

    }
getch();
return 0;
}
Paragon
Medium Star
Medium Star
Príspevky: 349
Registrovaný: 16 nov 2012, 20:14

Re: C++

Príspevok od používateľa Paragon »

Myslel si takéto niečo ?

Kód: Vybrať všetko

#include <iostream>
#include <Windows.h>

using namespace std;

int main()
{
    bool generating = true;
    bool end = false;
    int i = 1;
    while(!end)
    {
        if(generating)
        {
            cout<<i++<<endl;
        }
        if(GetAsyncKeyState(VK_RETURN))
        {
            generating = !generating;
        }

        Sleep(500);
    }
}
GlogoSV
Expert
Expert
Príspevky: 144
Registrovaný: 30 apr 2011, 20:50
Bydlisko: Snina

Re: C++

Príspevok od používateľa GlogoSV »

jj presne diky moc :) a nemohol by si mi to podrobne vysvetliť lebo som v C++ nový a tak všetkemu nechapem :D
Paragon
Medium Star
Medium Star
Príspevky: 349
Registrovaný: 16 nov 2012, 20:14

Re: C++

Príspevok od používateľa Paragon »

Tak predpokladám, že úplne základy máš:

while(!end) - nekonečný cyklus, bude sa vykonávať, pokým BOOL END je FALSE. Nikde v programe som nezadal, kedy sa má zmeniť táto hodnota, čiže tento cyklus ( a teda program ) bude bežať pokým ho nevypneš ( alt+f4, červené X ).

if(generating) - GENERATING je opäť BOOL - môže mať hodnoty TRUE alebo FALSE. Ak je GENERATING TRUE tak vypisuje čísla každej 0,5 sekundy. COUT<<I++ znamená, že vypíše hodnotu I a priráta k nej číslo 1.

if(GetAsyncKeyState(VK_RETURN)) - sleduje, či bol stlačený enter.

GetAsyncKeyState() - funkcia, ktorej pošleš ako parameter nejakú hodnotu. A ona vráti buď TRUE ak bola od posledného volania tejto funkcie stlačená daná klávesa, alebo FALSE ak nie.

VK_RETURN - reprezentuje enter. Ak by si chcel, tu by mali byť všetky http://msdn.microsoft.com/en-us/library ... s.85).aspx .

generating = !generating - prehodí hodnotu v premennej ak je TRUE, bude FALSE a naopak.

Sleep(500) - program si dá prestávku 500milisekúnd = 0,5 sekundy. Potom sa opäť vykonáva.
Napísať odpoveď