Spis treści OPERACJE WEJŚCIA-WYJŚCIA W JĘZYKU C++. STEROWANIE FORMATEM, MANIPULATORY. Informatyka 2



Podobne dokumenty
Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

Spis treści JĘZYK C - PRZEKAZYWANIE PARAMETRÓW DO FUNKCJI, REKURENCJA. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Metodyki i techniki programowania

Spis treści JĘZYK C - OPERATORY BITOWE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF32

Spis treści JĘZYK C - INSTRUKCJA SWITCH, OPERATORY BITOWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05

Spis treści PROGRAMOWANIE OBIEKTOWE W JĘZYKU C++: FUNKCJE ZAPRZYJAŹNIONE Z KLASĄ, PRZEŁADOWANIE OPERATORÓW. Informatyka 2

Spis treści OBSŁUGA PLIKÓW W JĘZYKU C++ Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF32

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Informatyka 1

Spis treści PLIKI BINARNE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF23

dr inż. Paweł Myszkowski Wykład nr 8 ( )

Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory

Spis treści JĘZYK C - ŚLEDZENIE WYKONANIA PROGRAMU, DEBUGGER. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

Informatyka 2. Informatyka 2. Wykład nr 1 ( ) Dane podstawowe. - Wydział Elektryczny. Politechnika Białostocka. Program wykładu (1/2)

Spis treści PLIKI BINARNE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF23

Spis treści JĘZYK C - PRZEKAZYWANIE PARAMETRÓW DO FUNKCJI, REKURENCJA. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

Spis treści JĘZYK C - TABLICE DWUWYMIAROWE, OPERACJE NA TABLICACH. Metodyki i techniki programowania

Spis treści JĘZYK C - OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE, INSTRUKCJA WARUNKOWA IF. Informatyka 1

Wstęp do programowania

BHP JĘZYK C - INSTRUKCJE ITERACYJNE

Spis treści JĘZYK C - PLIKI BINARNE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF30

Spis treści TRYB GRAFICZNY SYSTEMU WINDOWS - PODSTAWY OBSŁUGI WYBRANEGO ŚRODOWISKA PROGRAMISTYCZNEGO. Informatyka 2

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Metodyki i techniki programowania

Spis treści JĘZYK C - TABLICE DWUWYMIAROWE, OPERACJE NA TABLICACH. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

Spis treści WSKAŹNIKI. DYNAMICZNY PRZYDZIAŁ PAMIĘCI W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu

Spis treści JĘZYK C - FUNKCJE. Metodyki i techniki programowania. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia MITP10

dr inż. Jarosław Forenc

Spis treści JĘZYK C - TABLICE DWU- I WIELOWYMIAROWE, OPERACJE NA TABLICACH. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Spis treści JĘZYK C - TABLICE JEDNOWYMIAROWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05Z

Podstawy programowania w C++

dr inż. Jarosław Forenc

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Operacje wejścia/wyjścia odsłona pierwsza

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Wstęp do programowania. Wykład 1

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

Spis treści PROGRAMOWANIE OBIEKTOWE W JĘZYKU C++: KLASY I OBIEKTY, DANE I FUNKCJE SKŁADOWE, PRAWA DOSTĘPU, KONSTRUKTORY I DESTRUKTORY.

Wstęp do informatyki- wykład 3 Pierwszy program w C++ Wyprowadzanie danych Deklaracja zmiennych

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

13 JĘZYK C - OPERATOR WARUNKOWY,

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

Podstawy Programowania

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania

Spis treści JĘZYK C - ŁAŃCUCHY ZNAKÓW. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF22

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Spis treści TRYB GRAFICZNY SYSTEMU WINDOWS - PODSTAWY OBSŁUGI WYBRANEGO ŚRODOWISKA PROGRAMISTYCZNEGO, TWORZENIE INTERFEJSU UŻYTKOWNIKA.

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Pliki i manipulatory. - Łańcuchowe funkcje wejścia - getline(string) Dorota Pylak - Tryby otwarcia pliku - Formatowanie manipulatory

Wstęp do programowania

Spis treści JĘZYK C - ŁAŃCUCHY ZNAKÓW. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF10Z

Wstęp do Programowania 2

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Spis treści JĘZYK C - INSTRUKCJE ITERACYJNE FOR, WHILE I DO WHILE, ZAGNIEŻDŻANIE PĘTLI FOR, INSTRUKCJE CONTINUE, BREAK, I GOTO.

> C++ typy wyliczeniowe, struktury, unie, konwersje napis <-> liczba, formatowanie wyjścia

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Programowanie proceduralne w języku C++ Pojęcia podstawowe - kod źródłowy

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE, ZAGNIEŻDŻANIE IF-ELSE.

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

1 Podstawy c++ w pigułce.

BADANIE ROZKŁADU TEMPERATURY W PIECU PLANITERM

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 1. Wprowadzenie, środowisko programistyczne, pierwsze programy

Podstawy Programowania Podstawowa składnia języka C++

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

KURS C/C++ WYKŁAD 5. Typ wyliczeniowy enum

Programowanie - wykład 4

Część 4 życie programu

dr inż. Jarosław Forenc

Spis treści JĘZYK C - INSTRUKCJA SWITCH, OPERATORY BITOWE. Metodyki i techniki programowania. Instrukcja do pracowni specjalistycznej z przedmiotu

Programowanie komputerowe. Zajęcia 1

2 Przygotował: mgr inż. Maciej Lasota

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119

lekcja 8a Gry komputerowe MasterMind

C++ wprowadzanie zmiennych

Język C++ Różnice między C a C++

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Język C++ zajęcia nr 1

Spis treści WSKAŹNIKI. DYNAMICZNY PRZYDZIAŁ PAMIĘCI W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu

Wstęp do programowania

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

C++ - [1-3] Debugowanie w Qt Creator

1. Wprowadzanie danych z klawiatury funkcja scanf

Podstawy programowaniu. Wykład: 3. Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Podstawy programowania, sem.

dr inż. Jarosław Forenc

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

C++ - [3-5] Pliki i strumienie w C++

Wstęp do informatyki- wykład 4 Deklaracja zmiennych Typy

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Akademia ETI Marcin Jurkiewicz

Spis treści JĘZYK C - WSKAŹNIKI, DYNAMICZNY PRZYDZIAŁ PAMIĘCI. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu

Języki C i C++ Wykład: 1. Wstęp Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Języki C i C++, sem.

Wstęp do Programowania 2

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Transkrypt:

Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne) Spis treści 1. Opis stanowiska... 3 1.1. Stosowana aparatura... 3 1.2. Oprogramowanie... 3 2. Wiadomości teoretyczne... 3 2.1. Operacje wejścia-wyjścia w języku C++... 3 2.2. Struktura programu w języku C++... 7 2.3. Formatowanie wyjścia... 8 3. Przebieg ćwiczenia... 13 4. Literatura... 15 5. Zagadnienia na zaliczenie... 15 OPERACJE WEJŚCIA-WYJŚCIA W JĘZYKU C++. STEROWANIE FORMATEM, MANIPULATORY 6. Wymagania BHP... 15 Numer ćwiczenia INF25 Autor: dr inż. Jarosław Forenc Białystok 2013 Materiały dydaktyczne przeznaczone dla studentów Wydziału Elektrycznego PB. Wydział Elektryczny, Politechnika Białostocka, 2013 (wersja 1.0) Wszelkie prawa zastrzeżone. Żadna część tej publikacji nie może być kopiowana i odtwarzana w jakiejkolwiek formie i przy użyciu jakichkolwiek środków bez zgody posiadacza praw autorskich. Informatyka 2 2 z 16 Instrukcja INF25

1. Opis stanowiska 1.1. Stosowana aparatura Podczas zajęć wykorzystywany jest komputer klasy PC z systemem operacyjnym Microsoft Windows (XP/Vista/7). 1.2. Oprogramowanie Na komputerach zainstalowane jest środowisko programistyczne Microsoft Visual Studio 2008 Standard Edition lub Microsoft Visual Studio 2008 Express Edition zawierające kompilator Microsoft Visual C++ 2008. 2. Wiadomości teoretyczne 2.1. Operacje wejścia-wyjścia w języku C++ Operacje wejścia-wyjścia nie są częścią języka C++. Ich wykonywanie umożliwiają biblioteki standardowo dołączane przez producenta kompilatora. Wprowadzanie i wyprowadzanie informacji w języku C++ zostało zrealizowane za pomocą strumieni. Wszystkie strumienie są obiektami odpowiednich klas. Wykorzystanie w programie strumieni wymaga dołączenia pliku nagłówkowego iostream: #include <iostream> W języku C++ dostępne są cztery predefiniowane strumienie: - cout - związany ze standardowym urządzeniem wyjścia (ekran), nazwa strumienia pochodzi od ang. C-onsole OUT-put; - cin - związany ze standardowym urządzeniem wejścia (klawiatura), nazwa strumienia pochodzi od ang. C-onsole IN-put; - cerr - związany ze standardowym urządzeniem, na które chce się wypisywać komunikaty o błędach (standardowo ekran) - strumień niebuforowany; - clog - związany ze standardowym urządzeniem, na które chce się wypisywać komunikaty o błędach (standardowo ekran) - strumień buforowany. Za wysyłanie i odbieranie informacji ze strumienia odpowiadają operatory << i >>: - << - operator odpowiadający za wysyłanie informacji do strumienia, nazywany jest często operatorem wstawiania (ang. insert lub put to); - >> - operator odpowiadający za wczytywanie informacji, nazywany jest operatorem ekstrakcji (ang. extract operator lub get from). Zakładamy, że w programie znajdują się następujące deklaracje zmiennych (wraz z inicjalizacją): int x = 10 int y = 25; float z1 = 1.1234567; float z2 = 11.1234567; char txt[10] = "Napis"; - wyświetlenie wartości zmiennej x typu int (pomiędzy nazwą strumienia cout i operatorem << oraz pomiędzy operatorem << i nazwą zmiennej x może nie być spacji lub może znajdować się tam ich dowolna liczba): cout << x; 10 - wyświetlenie wartości zmiennej x typu int poprzedzonej tekstem "x = ": cout << "x = " << x; x = 10 - wyświetlenie wartości dwóch zmiennych, x i y, typu int (pomiędzy liczbami nie będzie żadnego odstępu, gdyż nie został on wstawiony do strumienia): Informatyka 2 3 z 16 Instrukcja INF25 Informatyka 2 4 z 16 Instrukcja INF25

cout << x << y; 1025 - wyświetlenie wartości dwóch zmiennych, x i y, typu int oddzielonych znakiem spacji: cout << x << " " << y; 10 25 - wyświetlenie wartości dwóch zmiennych, z1 i z2, typu float (domyślnie wyświetlanych jest sześć pierwszych znaczących cyfr): cout << z1 << " " << z2; 1.12346 11.2346 - wyświetlenie łańcucha znaków: cout << txt; Napis - wyświetlenie wartości zmiennych x, y i txt w oddzielnych wierszach (za pierwszym razem do przejścia do nowego wiersza zastosowano sekwencję \n, zaś za drugim - manipulator endl): cout << x << "\n" << y << endl << txt; 10 25 Napis Ogólne zasady dotyczące wyświetlania danych przy zastosowaniu strumienia cout i operatora << są następujące: - liczby całkowite wyświetlane są w systemie dziesiętnym; - zmienne typów char, unsigned char wyświetlane są jako pojedyncze znaki; - liczby zmiennoprzecinkowe (float, double) wyświetlane są z dokładnością do 6 cyfr (część całkowita i ułamkowa, 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. Zakładamy, że w programie znajdują się następujące deklaracje zmiennych: int x; float z; - wczytanie zmiennej x typu int: cin >> x; - wczytanie zmiennej x typu int i zmiennej z typu float (przy wprowadzaniu wartości zmiennych, użytkownik może oddzielić je od siebie dowolną liczbą białych znaków, do których należą: spacja, tabulacja i enter): cin >> x >> z; Ogólne zasady dotyczące wczytywania danych przy zastosowaniu strumienia cin i operatora >> są następujące: - białe znaki (spacja, tabulacja, enter) są ignorowane; - wczytywanie tekstów jest kończone po napotkaniu pierwszego białego znaku; - liczby wczytywane są w systemie dziesiętnym; - nie można umieszczać spacji pomiędzy znakiem liczby a jej wartością; Informatyka 2 5 z 16 Instrukcja INF25 Informatyka 2 6 z 16 Instrukcja INF25

- wczytywanie liczby całkowitej jest kończone, gdy kolejny znak nie jest cyfrą; - w liczbach zmiennoprzecinkowych nie może występować spacja w środku. 2.2. Struktura programu w języku C++ Program w języku C++ ma taką samą strukturę jak w języku C. Najprostszy program w języku C++. #include <iostream> int main() { std::cout << "Witaj swiecie!" << std::endl; } Wykonanie programu rozpoczyna się od funkcji main(). W funkcji tej znajduje się instrukcja wyświetlająca na ekranie tekst "Witaj swiecie". Tekst ten jest wstawiany do strumienia cout. Na koniec do strumienia wstawiane jest przejście do nowego wiersza (endl). W języku C++ nie jest wymagane umieszczanie na końcu programu instrukcji return 0;. Przed nazwami identyfikatorów cout i endl umieszczony jest tekst std::. Oznacza on, że identyfikatory te pochodzą z biblioteki standardowej (dokładniej - z tzw. przestrzeni nazw std). W celu uniknięcia ciągłego pisania std:: przed nazwami identyfikatorów, umieszcza się w programie dyrektywę using namespace std;. Powyższy program przyjmie zatem postać: Najprostszy program w języku C++. #include <iostream> using namespace std; int main() { cout << "Witaj swiecie!" << endl; } W programie można stosować wszystkie funkcje znane z języka C (także te, które dotyczącą operacji wejścia-wyjścia). Pliki nagłówkowe mają swoje zoptymalizowane wersje, np. zamiast math.h, można dołączyć plik cmath, zamiast time.h - ctime, zamiast string.h - cstring. 2.3. Formatowanie wyjścia Domyślny sposób wyświetlania wartości zmiennych można zmodyfikować stosując: - funkcje setf i unsetf z klasy ios ustawiające odpowiednie flagi; - funkcje z klasy ios zmieniające towarzyszące im parametry, np. szerokość, precyzję; - manipulatory (modyfikatory). Manipulatory są to specjalne wartości, które można wstawić do strumienia. Powodują one zmianę sposobu formatowania wyświetlanych danych. Większość manipulatorów działa ciągle, tzn. na wszystkich kolejnych danych wstawianych do strumienia. Poniżej opisano najważniejsze manipulatory oraz podano przykłady ich zastosowania. hex, dec, oct - określają system liczbowy, w którym są wyświetlane / wczytywane liczby: hex - szesnastkowy, dec - dziesiętny, oct - ósemkowy; - działają tylko dla liczb całkowitych, - domyślnie działa manipulator dec; int x = 100; cout << x << " " << hex << x << " "; cout << oct << x << endl; cout << x << endl; 100 64 144 144 Informatyka 2 7 z 16 Instrukcja INF25 Informatyka 2 8 z 16 Instrukcja INF25

showpoint, noshowpoint - manipulator showpoint włącza, zaś noshowpoint wyłącza pokazywanie nieznaczących zer i kropki dziesiętnej przy wyświetlaniu liczb zmiennoprzecinkowych; - domyślnie działa manipulator showpoint; float x = 10; cout << showpoint << x << " " << noshowpoint << x; 10.0000 10 showpos, noshowpos - manipulator showpos włącza, zaś noshowpos wyłącza pokazywanie znaku liczby dodatniej; - domyślnie działa manipulator noshowpos; int x = 10; float y = 12.34567; cout << showpos << x << " " << noshowpos << x << endl; cout << showpos << y << " " << noshowpos << y << endl; +10 10 +12.3457 12.3457 int x = 10; cout << dec << x << " " << showbase << x << noshowbase; cout << hex << x << " " << showbase << x << noshowbase; cout << oct << x << " " << showbase << x; 10 10 a 0xa 12 012 fixed, scientific - fixed włącza notację dziesiętną zapisu liczb zmiennoprzecinkowych, zaś scientific - notację wykładniczą (naukową); - domyślnie liczby zmiennoprzecinkowe wyświetlane są z dokładnością do 6 cyfr (część całkowita i ułamkowa); włączenie manipulatora fixed powoduje, że wartość 6 dotyczy liczby cyfr tylko części ułamkowej; włączenie manipulatora scientific powoduje, że wartość 6 dotyczy tylko liczby cyfr części ułamkowej mantysy; do zmiany dokładności służy manipulator setprecision() opisany w dalszej części instrukcji; float x = 100.123456; cout << x << endl; cout << fixed << x << endl; cout << scientific << x << endl; 100.123 100.123459 1.001235e+002 showbase, noshowbase - manipulator showbase włącza, zaś noshowbase wyłącza wyświetlanie 0x na początku liczby w systemie szesnastkowym i 0 na początku liczby w systemie ósemkowym; - domyślnie działa manipulator noshowbase; endl - wstawia do strumienia znak przejścia do nowego wiersza; - endl jest równoważne wstawieniu do strumienia \n oraz flush; Informatyka 2 9 z 16 Instrukcja INF25 Informatyka 2 10 z 16 Instrukcja INF25

flush - opróżnia bufor wyjściowy; setw(int n) - manipulator setw() ustawia na n szerokość wyświetlania liczb lub wczytywania tekstów; - ustawiona wartość dotyczy tylko najbliższej operacji wejścia-wyjścia; - użycie manipulatora wymaga dołączenia pliku nagłówkowego iomanip; int x = 12345; cout << x << endl; cout << setw(10) << x << endl << x << endl; 12345 12345 12345 setprecision(int n) - manipulator setprecision() ustawia na n dokładność wyświetlania liczb zmiennoprzecinkowych; - dla trybu krótkiego (domyślnego) jest to łączna ilość cyfr przed i po kropce dziesiętnej; - dla trybu fixed jest to ilość cyfr po kropce dziesiętnej; - dla trybu scientific jest to dokładność mantysy (ale nie wykładnika); - manipulator setprecision() działa ciągle, jego użycie wymaga dołączenia pliku nagłówkowego iomanip; float x = 12.123456; cout << setprecision(5) << x << endl; cout << fixed << x << endl; cout << scientific << x << endl; 12.123 12.12346 1.21235e+001 setfill(char n) - manipulator setfill() ustawia znak będący wypełnieniem (domyślnie - spacja); - manipulator setfill() działa ciągle, jego użycie wymaga dołączenia pliku nagłówkowego iomanip; int x = 12345; cout << setfill('*'); cout << setw(10) << x << endl; cout << setw(10) << x << endl; *****12345 *****12345 W poniższym programie zapisywane są do macierzy wygenerowane pseudolosowo liczby zmiennoprzecinkowe typu float z zakresu (-50, 50). Następnie elementy macierzy wyświetlane są z podziałem na wiersze i kolumny oraz z dokładnością do trzech cyfr po kropce dziesiętnej. Zapisanie liczb zmiennoprzecinkowych do macierzy i wyświetlenie jej elementów z podziałem na wiersze i kolumny. #include <iostream> #include <iomanip> #include <ctime> using namespace std; #define N 4 #define M 5 Informatyka 2 11 z 16 Instrukcja INF25 Informatyka 2 12 z 16 Instrukcja INF25

int main() { float T[N][M]; int i, j; } srand((unsigned int)time(null)); for (i=0; i<n; i++) for (j=0; j<m; j++) T[i][j] = 100*(float)rand()/RAND_MAX - 50; cout << fixed << setprecision(3); for (i=0; i<n; i++) { for (j=0; j<m; j++) cout << setw(10) << T[i][j]; cout << endl; } Manipulatory fixed i seprecision() działają ciągle, więc wystarczy tylko jednokrotne ich użycie przed pętlą wyświetlającą elementy macierzy. Natomiast manipulator setw() dotyczy tylko najbliższej operacji wejścia-wyjścia, zatem musi znajdować się w pętli for. Przykładowy wynik działania powyższego programu: 6.618-27.541-35.147 11.235-28.539 32.482-45.065 29.177-42.822 44.375 49.017 46.915 36.261 13.588 12.038-24.276 6.545 1.527 45.004 6.990 3. Przebieg ćwiczenia Na pracowni specjalistycznej należy wykonać zadania wskazane przez prowadzącego zajęcia. W różnych grupach mogą być wykonywane inne zadania. 1. Napisz program wyświetlający na ekranie wizytówkę o podanej formie. Wpisz w wizytówce swoje dane. Zastosuj odpowiednie strumienie i operatory. ******************************** * Jan Kowalski * * e-mail: j.kowalski@gmail.com * * tel. 123-456-789 * ******************************** 2. Napisz program, w którym użytkownik wczytuje z klawiatury kwotę w złotych (PLN). Następnie program wyświetla informację, ile za tę kwotę można kupić innych walut (EUR, USD, GBP, CHF, CAD, DKK, JPY). Poszukaj w Internecie kursów kantorowych. Wyniki przedstaw w postaci tabeli. Przyjmij, że część całkowita wyświetlanych liczb nie będzie zawierać więcej niż 7 cyfr. Zadbaj o odpowiednie wyrównanie wyświetlanych liczb. Zastosuj odpowiednie strumienie i manipulatory. Przykładowy wynik działania programu: Podaj kwote w PLN: 100 ------------- ---------- ------------ Kraj Waluta Kwota ------------- ---------- ------------ EUGiW EUR x.xx USA USD x.xx W. Brytania GBP x.xx Szwajcaria CHF x.xx Kanada CAD x.xx Dania DKK x.xx Japonia JPY x.xx ------------- ---------- ------------ 3. Dana jest następująca deklaracja i inicjalizacja zmiennych: int a = 11, b = -22, c = +33; Wyświetl wartości zmiennych zgodnie z poniższym wzorem: @@+33@@-22@@@11 Zastosuj odpowiednie manipulatory. Nie wyświetlaj żadnych znaków ani łańcuchów znaków. 4. Napisz program wyświetlający na ekranie tabliczkę mnożenia dla liczb od 1 do wartości wprowadzonej przez użytkownika z klawiatury. Zastosuj odpowiednie strumienie i manipulatory. Informatyka 2 13 z 16 Instrukcja INF25 Informatyka 2 14 z 16 Instrukcja INF25

4. Literatura [1] Grębosz J.: Symfonia C++ standard: programowanie w języku C++ orientowane obiektowo. Tom 1 i 2. Wydawnictwo Edition 2000, Kraków, 2008. [2] Stroustrup B.: Programowanie. Teoria i praktyka z wykorzystaniem C++. Wydanie II poprawione. Helion, Gliwice, 2013. [3] Eckel B.: Thinking in C++. Edycja polska. Helion, Gliwice, 2002. [4] Prata S.: Język C++. Szkoła programowania. Wydanie VI. Helion, Gliwice, 2012. [5] Wileczek R.: Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows. Helion, Gliwice, 2009. [6] http://www.cplusplus.com/reference/ - C++ Reference 5. Zagadnienia na zaliczenie 1. Opisz predefiniowane strumienie w języku C++. 2. Podaj ogólne zasady dotyczące wyświetlania danych przy zastosowaniu strumienia cout i operatora << oraz wczytywania danych przy wykorzystaniu strumienia cin i operatora >>. 3. Scharakteryzuj manipulatory stosowane do zmiany sposobu formatowania wyświetlanych danych. 6. Wymagania BHP Warunkiem przystąpienia do praktycznej realizacji ćwiczenia jest zapoznanie się z instrukcją BHP i instrukcją przeciw pożarową oraz przestrzeganie zasad w nich zawartych. W trakcie zajęć laboratoryjnych należy przestrzegać następujących zasad. - Sprawdzić, czy urządzenia dostępne na stanowisku laboratoryjnym są w stanie kompletnym, nie wskazującym na fizyczne uszkodzenie. - Jeżeli istnieje taka możliwość, należy dostosować warunki stanowiska do własnych potrzeb, ze względu na ergonomię. Monitor komputera ustawić w sposób zapewniający stałą i wygodną obserwację dla wszystkich członków zespołu. - Sprawdzić prawidłowość połączeń urządzeń. - Załączenie komputera może nastąpić po wyrażeniu zgody przez prowadzącego. - W trakcie pracy z komputerem zabronione jest spożywanie posiłków i picie napojów. - W przypadku zakończenia pracy należy zakończyć sesję przez wydanie polecenia wylogowania. Zamknięcie systemu operacyjnego może się odbywać tylko na wyraźne polecenie prowadzącego. - Zabronione jest dokonywanie jakichkolwiek przełączeń oraz wymiana elementów składowych stanowiska. - Zabroniona jest zmiana konfiguracji komputera, w tym systemu operacyjnego i programów użytkowych, która nie wynika z programu zajęć i nie jest wykonywana w porozumieniu z prowadzącym zajęcia. - W przypadku zaniku napięcia zasilającego należy niezwłocznie wyłączyć wszystkie urządzenia. - Stwierdzone wszelkie braki w wyposażeniu stanowiska oraz nieprawidłowości w funkcjonowaniu sprzętu należy przekazywać prowadzącemu zajęcia. - Zabrania się samodzielnego włączania, manipulowania i korzystania z urządzeń nie należących do danego ćwiczenia. - W przypadku wystąpienia porażenia prądem elektrycznym należy niezwłocznie wyłączyć zasilanie stanowiska. Przed odłączeniem napięcia nie dotykać porażonego. Informatyka 2 15 z 16 Instrukcja INF25 Informatyka 2 16 z 16 Instrukcja INF25