Informa, Operacje wej wyj

background image

Informatyka 2

© 2008 Jarosław Forenc

- 1 -

INFORMATYKA 2

TEMAT: Operacje wejścia/wyjścia w języku C++



Program w języku C++

std:: przed nazwami identyfikatorów cout i endl oznacza, że pochodzą one
z biblioteki standardowej (dokładniej - pochodzą z tzw. przestrzeni nazw std)

endl - przejście do nowego wiersza, odpowiada "\n" w języku C

w celu uniknięcia ciągłego pisania std:: przed nazwami identyfikatorów
umieszcza się w programie dyrektywę: using namespace std;

Strumienie:

operacje wejścia/wyjścia w języku C++ zrealizowane zostały na strumieniach

wprowadzanie i wyprowadzanie informacji można potraktować jako strumień
bajtów płynących od źródła do ujścia.

strumienie w C++ realizowane są na zasadzie klas

wykorzystanie strumieni wymaga dołączenia pliku nagłówkowego iostream

#include <iostream>

zamiast

#include <stdio.h>

#include <iostream>

using namespace std;

int main()
{
cout << "Witaj swiecie!" << endl;
system("pause");
}

#include <iostream>

int main()
{
std::cout << "Witaj swiecie!" << std::endl;
system("pause");
}

Informatyka 2

© 2008 Jarosław Forenc

- 2 -

Strumienie w C++

cout - związany ze standardowym urządzeniem wyjścia (ekran), skrót od ang.
C-onsole OUT-put

cin - związany ze standardowym urządzeniem wejścia (klawiatura), skrót od ang.
C-onsole IN-put

cerr - związany ze standardowym urządzeniem, na które chce się wypisywać
komunikaty o błędach (ekran) - strumień niebuforowany

clog - związany ze standardowym urządzeniem, na które chce się wypisywać
komunikaty o błędach (ekran) - strumień buforowany

Operatory << i >>

<< - operator odpowiadający za wysyłanie informacji do strumienia, nazywany

jest często operatorem insert - wstawienia (albo put to)

>> - operator odpowiadający za wczytywanie informacji, nazywany jest

operatorem ekstrakcji (extract operator) lub operatorem get from

Przykłady:

int x = 10, y = 25;

float z = 1.1234567;

char txt[10]="Napis";


cout << x;

10

cout << "x = " << x;

x = 10

cout << x << y;

1025

cout << x << " " << y;

10 25

cout << x << " " << y << endl;

10 25

cout << z << endl;

1.12346

cout << txt << endl;

Napis

cout << txt << "\n";

Napis

int x, y;

float z;

cin >> x;

cin >> x >> y;

cin >> x >> z;

background image

Informatyka 2

© 2008 Jarosław Forenc

- 3 -

Ogólne zasady dotyczące wyświetlania danych (cout << …)

liczby całkowite wyświetlane są w systemie dziesiątkowym

zmienne typów char, unsigned char wyświetlane są jako pojedyncze znaki

liczby zmiennoprzecinkowe typów float, double wyświetlane są z dokładnością
do 6 cyfr (6 cyfr części całkowitej i ułamkowej, bez zbędnych zer)

wskaźniki wyświetlane są w systemie szesnastkowym

zmienne typów char *, unsigned char * wyświetlane są jako łańcuchy znaków

Ogólne zasady dotyczące wczytywania danych (cin >> …)

białe znaki (spacja, tabulacja, enter) są ignorowane

liczby wczytywane są w systemie dziesiątkowym

nie można umieszczać spacji pomiędzy znakiem liczby a jej wartością

wczytywanie liczby całkowitej jest kończone, gdy napotkany znak nie jest cyfrą

w liczbach zmiennoprzecinkowych nie może występować spacja w środku

wczytywanie tekstów jest kończone po napotkaniu pierwszego białego znaku

Metody zmiany sposobu wyświetlania znaków

1.

Funkcje składowe klasy ios: setf, unsetf ustawiające odpowiednie flagi

2.

Funkcje składowe klasy ios zmieniające towarzyszące im parametry, np.
szerokość, precyzję, itp.

3.

Manipulatory

Manipulatory:

są to specjalne wartości, które można wstawić do strumienia po to, aby wywołać
zamierzony efekt uboczny polegający na zmianie sposobu formatowania

manipulatory działają trwale (nie dotyczy to manipulatora setw)

hex
dec
oct

- określają sposób wyświetlania / wczytywania liczb

(hex - system szesnastkowy, dec - system dziesiętny,
oct - system ósemkowy)

int x = 100;
cout << x << " " << hex << x << " " << oct << x; 100 64 144

flush

- opróżnienie bufora

Informatyka 2

© 2008 Jarosław Forenc

- 4 -

endl

- przejście do nowego wiersza („\n” + flush)

showpoint
noshowpoint

- pokazywanie nieznaczących zer i kropki dziesiętnej

float x = 10;
cout << showpoint << x << " " << noshowpoint << x; 10.0000 10

showpos
noshowpos

- wyświetlanie znaku liczby dodatniej


float x = 10;
cout << showpos << x << " " << noshowpos << x; +10 10

showbase
noshowbase

- wyświetlanie 0x na początku liczby w systemie szesnastkowym

i 0 na początku liczby w systemie ósemkowym


int x = 10;
cout << hex << x << " " << showbase << x; a 0xa

fixed
scientific

- notacja dziesiętna / wykładnicza (format naukowy)


float x = 10.123456;
cout << fixed << x; 10.123456
cout << scientific << x; 1.012346e+001

kolejne manipulatory wymagają dołączenia pliku nagłówkowego iomanip

setw(int)

- ustawia szerokość wyświetlania liczb lub wczytywania tekstów

(dotyczy tylko najbliższej operacji wejścia/wyjścia)

setfill(char)

- ustawia znak będący wypełnieniem

setprecision(int)

- określa dokładność wyświetlania liczb

zmiennoprzecinkowych:
- dla fixed - ilość miejsc po kropce
- dla scientific - dokładność cechy (ale nie wykładnika)
- dla „trybu krótkiego” - łączna ilość cyfr przed
i po kropce dziesiętnej



Wyszukiwarka

Podobne podstrony:
Informa Operacje wej wyj.
C & C++ Wyklady Politechnika Wroclawska 1 rok informatyki, W02 wej-wyj if else switch, 1 Wykład: Jez
Operacje Wej Wyj
spr soisk - wej.-wyj Systemy Komputerowe, c++ warzne, SOiSK
Informacje operacyjne 1a
W02 wej wyj if else switch
W02 wej wyj if else switch
instrukcje if switch else operacje wej iwyj
Rafał Polak 12k2 lab8, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
Zadanie370, Informatyka i Ekonometria 2 rok, badania operacyjne, sciagniete z internetu
zadania-egzaminacyjne, Studia WIT - Informatyka, Systemy operacyjne
Systemy operacyjne - wykłady, Administracja, Administracja, Administracja i samorząd, Polityka spole
Systemy operacyjne 2, Studia, Informatyka, Informatyka, Informatyka
Rafał Polak 12k2 lab9, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
adresy ip, wisisz, wydzial informatyki, studia zaoczne inzynierskie, rozproszone systemy operacyjne
systemy operacyjne- egzamin, Informatyka
WŁASNY SERWER FTP WINDOWS XP, ۞ Nauka i Technika, Informatyka, Systemy operacyjne, OS MS Windows, Si
Opis systemów operacyjnych-Linux, Informatyka -all, INFORMATYKA-all

więcej podobnych podstron