Darbas su konsole
Darbas su konsole
Konsolė - tai pirmas ir dažniausiai pradedančiųjų programuotojų naudojamas įrankis bendravimui su naudotoju. Šiame skyriuje apžvelgsime, kaip C++ programavimo kalboje išspausdinti duomenis į konsolę bei nuskaityti naudotojo įvestus duomenis iš konsolės.
Šiame skyriuje apžvelgsime, kaip į konsolę išvesti duomenis bei kaip iš konsolės nuskaityti duomenis.
Pastaba: Norint naudoti komandas, dirbančias su konsole, reikia į savo programą įsidėti iostream
biblioteką (tai galima padaryti programos pradžioje parašius #include <iostream>
).
Duomenų išvedimas į konsolę
Pirmiausia apžvelkime, kaip C++ kalboje kažką išspausdinti į konsolę. Tam yra naudojama komanda cout
(kad būtų lengviau įsiminti - c
, nes C++, out
- nes išvedame į išorę). Pats spausdinimas atliekamas taip:
Čia simbolių junginys <<
atskiria spausdinamus duomenis. Galite įsivaizduoti, kad duomenis pirmas
, antras
, trecias
ir taip toliau tiesiog jungiate į vieną eilutę. Būtent tą ir žymi simboliai <<
.
Čia paminėti duomenys pirmas
, antras
, trecias
ir taip toliau gali būti:
- Kintamieji
- Tekstas (rašomas apgaubiant dvigubomis kabutėmis)
endl
- reiškia eilutės pabaigą. Tai iš esmės tas pats, kaip paspausti mygtuką “Enter” klaviatūroje.- Formatavimo modifikatoriai (pvz.
fixed
,setprecision
ar pan., apie juos vėliau).
Štai keli kodo pavyzdžiai:
Šis kodas išspausdina:
Išvesties formatavimas
Kaip jau buvo užsiminta, išvestį galima formatuoti naudojant tam tikrus modifikatorius. Išvesties formatavimui reikalingos komandos yra iomanip
bibliotekoje. Ją įsidėti galima parašius tokį kodą programos pradžioje: #include <iomanip>
.
Tokių išvesties modifikatorių iomanip
biblioteka turi tikrai nemažai (jei įdomu, galite paskaityti čia), tačiau čia apžvelgsime vieną iš jų - setprecision
.
Modifikatorius setprecision
naudojamas nurodyti, kokiu tikslumu reikia spausdinti realiuosius skaičius. Pavyzdžiui, jei bespausdindami įterpsime setprecision(6)
, tai toliau einantys realieji skaičiai bus spausdinami šešių skaitmenų po kablelio tikslumu.
Modifikatorius setprecision
dažnai naudojamas kartu su modifikatoriumi fixed
, esančiu jau aptartoje iostream
bibliotekoje. Modifikatorius fixed
garantuoja, kad spausdinamas realusis skaičius bus rašomas kaip įprasta dešimtainė trupmena.
Kodo pavyzdys:
Šis kodas spausdina:
Atkreipkite dėmesį, kad skaičius 15
nebuvo spausdinamas šešių skaitmenų po kablelio tikslumu, nors tai nurodėme naudodami setprecision
. Taip atsitiko dėl to, kad penkiolika
yra int
tipo kintamasis, o sveikieji skaičiai juk neturi trupmeninės dalies. Todėl jų setprecision
modifikatorius neveikia.
Duomenų nuskaitymas iš konsolės
Galiausiai pažiūrėkime, kaip galima nuskaityti konsolėje naudotojo įvestus duomenis. Tam yra naudojama komanda cin
(kad būtų lengviau įsiminti - c
, nes C++, in
- nes imame duomenis “vidun”). Pats nuskaitymas atliekamas taip:
Šiame pavyzdyje pirmas
, antras
, trecias
ir t.t. turi būti aprašyti kažkur anksčiau kaip kintamieji.
Atkreipkite dėmesį, kad nuskaitant duomenis jau naudojamas simbolių junginys >>
(spausdinant buvo <<
).
Naudojant tokį užrašą galima nuskaityti kiek norima daug duomenų iš konsolės. Nuskaitant duomenis yra ignoruojami whitespace simboliai (t.y. tarpai, tabuliacijos žymės bei naujos eilutės).
Kodo pavyzdys:
Šis kodas iš konsolės nuskaitys vieną sveiką skaičių, vieną simbolį ir vieną realųjį skaičių, o nuskaitytas reikšmes įrašys į kintamuosius i
, c
bei d
. Šie trys dalykai įvestyje gali būti atskiriami tiek tarpais, tiek naujomis eilutėmis - nuskaitymas vis tiek veiks.