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} |