Wiki Markup |
---|
h3. Tekstin tulostus ja lukeminen |
...
C-kielessä tämä toteutettiin printf() ja scanf() \-funktioiden avulla. C+\+ taas on oliokieli, joten on luonnollista että tekstin tulostus ja lukeminen käyttäjältä on toteutettu olioilla. C+\+ tarjoaa iostream-headerissa oliot cout, cin ja cerr. Näiden avulla voidaan tulostaa ruudulle tekstiä. |
...
Etuna cout ja cin-olioiden käyttöllä on, että ne tuntevat tietotyypit, mitä niille annetaan. Tämä tarkoittaa, ettei ohjelmoijan enään tarvitse muistaa kaikkia %s, %d, jne tulostusmääreitä. Lisäksi voidaan toteuttaa omaan luokkaan oma operaattori <<, mutta siitä lisää myöhemmin. |
...
Esimerkki 1: Tekstin syöttö ja tulostus. |
...
{code |
} #include <iostream> #include <string> using namespace std; // Tarvitaan, sillä tässä nimiavaruudessa on määritelty cin ja cout. int main() { string nimi, sukunimi; int ID; // Syötteen lukeminen käyttäjältä: cout << "anna etunimesi: "; cin >> nimi; cout << "anna sukunimesi: "; cin >> sukunimi; cout << "anna ID numero "; cin >> ID;// Tulostus ruudulle: cout << "Terve " << nimi << " " << sukunimi <<", ID:si on " << ID << endl; return 0; } {code} Esimerkki 2: lukujen näyttö eri lukujärjestelmissä. |
...
{code |
} #include using namespace std; // Tarvitaan, sillä tässä nimiavaruudessa on määriteltu cin ja cout. int main() { int Arvo = 0; cout << "ANNA JOKIN LUKU: "; cin >> Arvo; do { cout << "Oletus: " << Arvo << endl; cout << "Desimaali: " << dec << Arvo << endl; cout << "Oktaali: " << oct << Arvo << endl; cout << "Heksa: " << hex << Arvo << endl; // showbase näyttää heksa ja oktalukujen etuliitteet cout << "Heksa ja oktaluvut etuliitteen kanssa:" << showbase << endl; cout << "Dec: " << dec << Arvo << endl; cout << "Oktaali: " << oct << Arvo << endl; cout << "Heksa: " << hex << Arvo << endl; cout << "ja takaisin" << noshowbase << endl; cout << "ANNA JOKIN LUKU: "; cin >> Arvo; }while (Arvo != 1 && Arvo != 0); return 1; } {code} |