Forum » Programiranje » [ C + + ] Težave pri vnosu nizov
[ C + + ] Težave pri vnosu nizov
Srachko ::
Pozdravljeni!
Naletel sem na manjšo težavico pri pisanju nekega programčka v jeziku C++. Za delo uporabljam Beležnico in Borlandov prevajalnik 5.5.
Problem je sledeč. Deklarirano imam globalno spremenljivko Izbira tipa char, ki jo pridobim s postopkom Izbira = getch() - (vključiti morate zaglavje "conio.h"). Glede na znak, ki ga pridobim na ta način se potem program odpravi v ustrezni podmeni. Problem nastane pri vnosu podatkov.
Npr.: Pritisnem tipko n za nov vnos. "Odpre" se mi meni, kjer program od mene zahteva, da vnesem ime za ta vnos, kar pa je niz znakov (natančneje char Ime[50]). Čeprav pritisnem tipko n samo enkrat se mi v vrstici, kjer naj bi vpisal ime za ta vnos, že samodejno napiše črka n. Zanima me, kako bi lahko obšel to težavico?
Naletel sem na manjšo težavico pri pisanju nekega programčka v jeziku C++. Za delo uporabljam Beležnico in Borlandov prevajalnik 5.5.
Problem je sledeč. Deklarirano imam globalno spremenljivko Izbira tipa char, ki jo pridobim s postopkom Izbira = getch() - (vključiti morate zaglavje "conio.h"). Glede na znak, ki ga pridobim na ta način se potem program odpravi v ustrezni podmeni. Problem nastane pri vnosu podatkov.
Npr.: Pritisnem tipko n za nov vnos. "Odpre" se mi meni, kjer program od mene zahteva, da vnesem ime za ta vnos, kar pa je niz znakov (natančneje char Ime[50]). Čeprav pritisnem tipko n samo enkrat se mi v vrstici, kjer naj bi vpisal ime za ta vnos, že samodejno napiše črka n. Zanima me, kako bi lahko obšel to težavico?
I can see clearly now, the brain has gone...
Gundolf ::
Najprej ti svetujem, da si dolpotegneš kakšen zastonjski editor, ki ti zna obarvat sintakso. Na primer Crimson Editor (pogooglaj za link).
Zdaj pa k problemu. Na žalost si je tole tvoje pisanje (vsaj meni) težko predstavljati, tako da upam, da ne brcnem v temo. Vse kar v konzoli pritiskaš bo šlo na zaslon. Zdaj je le odvisno kako razporediš te tvoje vnose, kaj še drugače izpisuješ itd. Primer konzolskega programa:
>> Pritisni 'n' za nov vnos, 'x' za izhod, itd:
n
>> Vpiši ime novega vnosa:
blabla
Ali tvoj program deluje tako ali kako drugače? Ker pri tej obliki se ne more nikakor pojavljati n recimo še enkrat v vrstivi za vnos imena. Razen če funkcija getch() samo pogleda kateri znak je bil nazadnje pritisnjen in ga ne 'pobriše' iz vhodnega toka.
Bi ti pa znal bolj pomagati če bi uporabljal prave C++ funkcije in ne C-jevskih. Tako naprimer sploh ne vem zakaj rabiš zaglavje conio.h (mislim da C čisto dobro omogoča branje vnosov v konzolo že s stdio.h).
Zdaj pa k problemu. Na žalost si je tole tvoje pisanje (vsaj meni) težko predstavljati, tako da upam, da ne brcnem v temo. Vse kar v konzoli pritiskaš bo šlo na zaslon. Zdaj je le odvisno kako razporediš te tvoje vnose, kaj še drugače izpisuješ itd. Primer konzolskega programa:
>> Pritisni 'n' za nov vnos, 'x' za izhod, itd:
n
>> Vpiši ime novega vnosa:
blabla
Ali tvoj program deluje tako ali kako drugače? Ker pri tej obliki se ne more nikakor pojavljati n recimo še enkrat v vrstivi za vnos imena. Razen če funkcija getch() samo pogleda kateri znak je bil nazadnje pritisnjen in ga ne 'pobriše' iz vhodnega toka.
Bi ti pa znal bolj pomagati če bi uporabljal prave C++ funkcije in ne C-jevskih. Tako naprimer sploh ne vem zakaj rabiš zaglavje conio.h (mislim da C čisto dobro omogoča branje vnosov v konzolo že s stdio.h).
Zgodovina sprememb…
- spremenil: Gundolf ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [c++] Kako ugotoviti katera tipka je bila pritisnjenaOddelek: Programiranje | 1481 (1253) | 64202 |
» | C++ in pavzaOddelek: Programiranje | 1217 (978) | napsy |
» | c++ datotekeOddelek: Programiranje | 4039 (3528) | Vesoljc |
» | Linux, C, kaj uporabiti namesto getchar da ne bo čakal na input?Oddelek: Programiranje | 1396 (1236) | user4683 |
» | Pomoč pri c++ razlagaOddelek: Programiranje | 2311 (2053) | Person |