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.

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

Esimerkki 2: lukujen näyttö eri lukujärjestelmissä.

#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;
}
  • No labels
You must log in to comment.