Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 14 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.04.12
Prihlásený: 06.01.16
Príspevky: 27
Témy: 6
Príspevok NapísalOffline : 02.11.2012 14:36

Ahoj,
Učím sa v C++, no neviem si rady s výberom možnosti Ano/Nie.
napr.

"Chcete otvoriť notepad ? Ano/Nie"

Potrebujem vybrať jednu z možností, len zo šípkami a enterom, ako na to???
Dúfam, že ste pochopili čo myslím.... :-)

Dakujem


Offline

Skúsený užívateľ
Skúsený užívateľ
C++ Výber Ano/Nie v konzole

Registrovaný: 11.01.09
Prihlásený: 18.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 02.11.2012 14:50

A mas uz spravene nejake menu? ( pokial sa bavime o konzole ) Ono sa to riesi tak, ze "vykreslis" si v textovom rezime nejake menu - na to pouzijes funkcie pre terminal, ktore ti ponuka konkretny operacny system, ktory pouzivas - pricom zvolena polozka bude mat napr inu farbu pozadia, ako ostatne ( to uz zalezi od toho, ako si menu navrhnes, ber to len ako priklad ) a potom cakas na vstup z klavesnice. Pokial to bude smerova sipka, tak cele menu prekleslis tak, ze aktualnu polozku zmenis podla stlaceneho klavesu a opat cele menu prekreslis.
Ak stalcis enter, tak sa vykona akcia podla toho, ci je aktualna polozka "ano" alebo "nie".

Najjednoduchsie by to asi bolo tak, ze by si vypisoval len v jednom riadku bud ano alebo nie. A pri stlaceni sipky by si len prepisal text na opacny.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.11.12
Prihlásený: 25.12.14
Príspevky: 40
Témy: 13
Príspevok NapísalOffline : 02.11.2012 15:10

no tak veľmi neovládam c++ ale som to spravil v C niekde si na google pozri funkcie ako je to pri printf a scanf:

Kód:
#include "stdio.h"

char c;

int main() {
   printf("Chcete vytvorit notepad? Y/N\n");
   scanf("%s", &c)
   if (c == 'y' || c == 'Y) {
      //vytvorenie notepadu
   } else if (c == 'n' || c == 'N') {
      system("PAUSE");
   } else {
      printf("Nesprávny výber.\n\n");
      system("PAUSE");
   }
   getchar();
   return 0;
}


neviem či to je dobre ale je to robené narýchlo :D písal som to v notepad++ :D


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.04.12
Prihlásený: 06.01.16
Príspevky: 27
Témy: 6
Príspevok Napísal autor témyOffline : 02.11.2012 16:59

Fico : Menu nemam, chcel by som to takto do riadku, ako si to napísal...Náhodou kód nemáš / nevieš?

MasterMatoSK : Takto som to riešil skôr, no chcem prejsť len na šípky a enter...

Diki


Offline

Užívateľ
Užívateľ
C++ Výber Ano/Nie v konzole

Registrovaný: 24.08.12
Prihlásený: 09.02.19
Príspevky: 59
Témy: 0
Príspevok NapísalOffline : 02.11.2012 18:31

To co hledáš se jmenuje <curses.h>

http://en.wikipedia.org/wiki/Curses_(pr ... ng_library)







_________________
"Existuje pouze jeden člověk, který má méně přátel než Bill Gates, a tím je Saddám Husajn." (Paul Grayson)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.04.12
Prihlásený: 06.01.16
Príspevky: 27
Témy: 6
Príspevok Napísal autor témyOffline : 02.11.2012 18:51

faraon : Diki moc presne to som hľadal :) .Ešte potrebujem jednu vec, mam program na vyberanie farieb v cmd, a farby tam vyberam tak, že použijem príkaz : system ("color xy"); namiesto xy sa zadavaju 2 hexidecimálne čisla, no neviem ako ich tam po ich načítaní vložiť, skúšal som : system("color" << a <<); no nefunguje to...vieš mi poradit? A este jedna vec, na konci programu je otazka, či tato farba vyhovuje a neviem, ako vratiť program späť na začiatok ako odpoveď je nie...

Vdaka


Offline

Skúsený užívateľ
Skúsený užívateľ
C++ Výber Ano/Nie v konzole

Registrovaný: 11.01.09
Prihlásený: 18.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 02.11.2012 19:19

Pouzi stringstream. Example:
Kód:
#include <iostream>
#include <string>
#include <sstream>

using namespace std;

int main()
{

    stringstream    ss;
    string          result, cislo1, cislo2;

    cislo1 = "00";
    cislo2 = "FF";

    ss << "color " << cislo1 << cislo2;
    result = ss.str();

    cout << result;

    return 0;
}


Output:
Kód:
color 00FF


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.04.12
Prihlásený: 06.01.16
Príspevky: 27
Témy: 6
Príspevok Napísal autor témyOffline : 02.11.2012 19:43

No hej, ale ja potrebujem ten result vložiť do príkazu : system("result"); napr. system("color 00FF"); a ja neviem ako ho tam vlozit... A s tým vrátenim programu nevieš ako???

Vdaka... :)


Offline

Skúsený užívateľ
Skúsený užívateľ
C++ Výber Ano/Nie v konzole

Registrovaný: 11.01.09
Prihlásený: 18.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 02.11.2012 19:50

To su zaklady, myslel som, ze pridat do mojho kodu nieco taketo:
Kód:
system( result.c_str() );

nebude problem ( i ked fajn, beriem, mozno si este s typom string nepracoval ).

A to iste sa tyka aj toho vratenia na zaciatok v programe. Pouzi cykly, opat sa jedna o zakladny kamen jazyka. Ak nevies zaklady, preco sa pustas do niecoho vacsieho?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.04.12
Prihlásený: 06.01.16
Príspevky: 27
Témy: 6
Príspevok Napísal autor témyOffline : 02.11.2012 20:18

Super funguje to :) Vďaka...
No takto, ja ešte len začínam s programovaním, a string som ešte ani nevidel, ak mam pravdu povedať, a taktiež cykly ešte neviem, a v škole nas učia zatiaľ iba switch, a mna to celkom chytilo, tak skúšam niečo nové...

O cykloch som našiel toto :
Cyklus while – je to cyklus, pri ktorom sa najprv overuje podmienka ( while = pokiaľ,ak ) a až potom ak platí sa vykonáva cyklus. Znamená to teda, že cyklus nemusí v programe prebehnúť ani raz ak podmienka nieje splnená. Temto cyklus sa používa vtedy, ak nepoznáme počet priechodov cyklu. Syntax je nasledovný:

while(i<10){
i++;
}

while(i<10) je overenie podmienky ak platí, že i je menšie ako 10 tak sa vykonávajú ďalej funkcie napísane v tele cyklu. V prípade cyklu while je premenná, ktorá sa zvyšuje je umiestená v tele cyklu.

No nehodí sa mi to, lebo ja podmienku určujem až na konci programu, a musí sa to vratiť takmer úplne na začiatok...
napr. na konci je otázka: Chcete dalej pocitat? A/N : ... Ak áno, tak sa program musí vratiť na začiatok...

Poradiš mi ešte?
Diki


Offline

Skúsený užívateľ
Skúsený užívateľ
C++ Výber Ano/Nie v konzole

Registrovaný: 11.01.09
Prihlásený: 18.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 02.11.2012 20:30

Tak v pripade, ze sa ucis sam dopredu, OK, preto este mam pochopenie ( tiez som sa tak ponahlal, ale raz prisiel cas, ked som pochopil, ze vsetko ma svoj cas a netreba predbiehat ) a jasne, ze poradim.

Vyriesis to kludne aj s cyklom while, kde sa podmienka overuje na zaciatku. Vytvoris si jednu premennu, ktora bude obsahovat bud logicku jednotku - co znaci, ze program ma pokracovat, alebo logicku nulu - co znaci, ze program sa uz vratit nema, ale ma sa ukoncit, pripadne pokracovat dalej mimo cyklu.
Kód:
int main()
{
    int pokracovat = 1;         // pre jednoduchost nam staci typ int

    while( pokracovat == 1 )
    {
        // tu nahadz vsetko, co sa ma opakovat

        // ...

        if ( nieco == niecoDolezite )        // tu pride podmienka, ktora urci, ze program pokracovat uz nema
            pokracovat = 0;

    }

    return 0;

}


Cyklus sa bude stale opakovat, pokial nenastavis premennu pokracovat na nulu. To je cele.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.04.12
Prihlásený: 06.01.16
Príspevky: 27
Témy: 6
Príspevok Napísal autor témyOffline : 02.11.2012 20:49

Aha, už tomu rozumiem :)
Veľmi pekne ti dakujem :) veľká vďaka...

Nechcem zakladať novú tému, tak len tak odveci, kamarat mi poslal poškodený notebook, lebu mu nešiel spustiť windows, a keď som vytahoval cez Linux LiveCD z HDD kamošove dokumenty, tak som v DiskUtlility zistil, že tam ma niekoľko (pomerne dosť) chybných sektorov, nevieš ako by som ich mohol obísť? (aby sa do nich už nič neukladalo)

Ešte raz veľká vďaka


Offline

Skúsený užívateľ
Skúsený užívateľ
C++ Výber Ano/Nie v konzole

Registrovaný: 11.01.09
Prihlásený: 18.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 02.11.2012 21:04

Len si smelo zaloz novu temu, na to tu je forum. Ked to zalozis v spravnej sekcii, urcite ti poradi viac ludi ako tuna, kde sa riesia uplne ine veci. A ak bude mat niekto v buducnosti podobny problem, tak to asi nebude hladat v sekcii programovanie.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.04.12
Prihlásený: 06.01.16
Príspevky: 27
Témy: 6
Príspevok Napísal autor témyOffline : 02.11.2012 21:07

Dobre :)
Diki


Odpovedať na tému [ Príspevkov: 14 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. firewall ano/nie?

v Bezpečnosť a firewally

23

3298

20.07.2007 10:40

Gul1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Overclocking ANO/NIE ??

v nVidia grafické karty

7

663

12.08.2015 9:44

Xaltotun Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. T6500 ano ? nie ?

v Procesory

2

874

19.08.2009 19:27

xxxx47 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. flash ano ci nie

v Ostatné

5

872

14.07.2006 19:44

Freelan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. NVIDIA GT260 ano nie?

v Grafické karty

21

466

24.02.2013 22:43

Casseus Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. HD ano alebo nie?

v Notebooky a netbooky

2

471

21.11.2011 10:45

jtbs Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. full hd ano/nie

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Monitory, televízory a projektory

55

1655

08.10.2012 22:39

Daron Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. SLOVANET áno či nie?

v Poskytovatelia internetu

3

567

03.12.2007 13:13

Capone Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Traxdata? ano ci nie?

v Úložné zariadenia

2

376

18.07.2012 9:05

Luks Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. 3D ano alebo nie ?

v Monitory, televízory a projektory

7

722

11.05.2012 15:31

Johnnny Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Repas áno či nie?

v Notebooky a netbooky

7

394

12.06.2023 22:19

eon5 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Taktovanie procesora ano/nie

v Biosy a ladenie výkonu

4

868

06.01.2008 16:10

Qpkqkma Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. BenQ E2200HD ano/nie ???

v Monitory, televízory a projektory

4

1444

17.02.2009 21:01

Maxim Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. CD nie DVD ano

v Optické zariadenia

7

837

06.08.2008 13:21

dedko45 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ubuntu nie mandriva ano

v Operačné systémy Unix a Linux

5

796

04.04.2007 1:57

janoja1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. internet nie ping ano

v Sieťové a internetové programy

5

458

28.09.2012 17:45

cmeliak141 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra