Wstęp do Programowania 2



Podobne dokumenty
Wstęp do Informatyki

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

Reprezentacja symboli w komputerze.

Typ użyty w deklaracji zmiennej decyduje o rodzaju informacji, a nazwa zmiennej symbolicznie opisuje wartość.

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

Typy danych i formatowanie

Wstęp do informatyki- wykład 4 Deklaracja zmiennych Typy Instrukcja selekcji if-else

Wstęp do programowania

Podstawy programowania w C++

Pytania sprawdzające wiedzę z programowania C++

Wstęp do Informatyki

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

C++ wprowadzanie zmiennych

Programowanie obiektowe w C++ Wykład 1

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

Wstęp do programowania

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

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

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

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Wstęp do programowania

Wstęp do programowania

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

INFORMATYKA Studia Niestacjonarne Elektrotechnika

2 Przygotował: mgr inż. Maciej Lasota

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

Programowanie Procedurale. Pliki w języku C++

Wstęp do Programowania 2

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

Język C++ zajęcia nr 1

Programowanie - wykład 4

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

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

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

Zmienne, stałe i operatory

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

Wejście wyjście strumieniowe

Języki i metodyka programowania. Wprowadzenie do języka C

Ćwiczenia podstawowe, zestaw 5, część 1

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

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

Metodyki i Techniki Programowania MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel danuta.makowiec at gmail.com

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

Podstawy programowania w języku C++

VII. Ciągi znaków łańcuchy

Podstawy programowania w języku C++

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

Programowanie Procedurale

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

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

Podstawy programowania skrót z wykładów:

tablica: dane_liczbowe

Projektowanie klas c.d. Projektowanie klas przykład

Języki programowania - podstawy

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

1 Wskaźniki. 1.1 Główne zastosowania wskaźników

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

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

Programowanie strukturalne i obiektowe

Pliki wykład 2 -przekazywanie strumieni do funkcji -funkcje get(char &) i getline(string)

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

Wstęp do informatyki- wykład 11 Funkcje

Wstęp do programowania

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Wstęp do programowania 1

Programowanie i struktury danych

Wstęp do programowania obiektowego. Przekazywanie parametrów do funkcji w C++ Metody i funkcje operatorowe Strumienie: standardowe, plikowe, napisowe

1 Pierwsze kroki w C++ cz.3 2 Obsługa plików

typ y y p y z łoż o on o e n - tab a lice c e w iel e owym m ar a o r we, e stru r kt k ury

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

2.4 Dziedziczenie. 2.4 Dziedziczenie Przykłady programowania w C - kurs podstawowy

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

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

Powtórka algorytmów. Wprowadzenie do języka Java.

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy:

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

Wstęp do informatyki- wykład 9 Funkcje

Podstawy programowania w języku C++

1 Podstawy c++ w pigułce.

Dr inż. Dariusz JĘDRZEJCZYK. Informacje organizacyjne, Wprowadzenie do programowanie w języku C++. Spotkanie 1

Język C++ wykład VIII

dr Gabriela Omiecińska pokój 274 piątek: sobota PDF stworzony przez wersję demonstracyjną pdffactory

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,

Podstawy i języki programowania

Wstęp do programowania

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

1 Podstawy c++ w pigułce.

Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5

Języki programowania obiektowego Nieobiektowe elementy języka C++

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

Algorytmika i programowanie. Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

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

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30

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

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

Transkrypt:

Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 2

Stałe całkowite inne niż dziesiętne Stałe ósemkowe Stałe szesnastkowe Aby wskazać czy dane maj a być wyświetlane w systemie dziesietnym, szesnastkowym, czy też ósemkowym, należy posłużyć się manipulatorami strumienia dec, hex, oct.

manip.cpp #include <iostream> int main() { using namespace std; cout << "Podaj liczbe calkowita: "; int n; cin >> n; cout << "n n*n\n"; cout << n << " " << n * n << " (dziesietnie)\n"; // ustaw tryb szesnastkowy cout << hex; cout << n << " " << n * n << " (szesnastkowo)\n"; // ustaw tryb osemkowy cout << oct << n << " " << n * n << " (osemkowo)\n"; //alternatywny sposob wywolania manipulatora cout << "Podaj liczbe calkowita: "; dec(cout); cin >> n; cout << n << " " << n * n << " (dziesietnie)\n"; cout << "Podaj liczbe calkowita w formacie szesnastkowym: "; hex(cin); cin >> n; cout << n << " " << n * n << " (szesnastkowo)\n"; return 0;

manip.cpp Podaj liczbe calkowita: 5 n n*n 5 25 (dziesietnie) 5 19 (szesnastkowo) 5 31 (osemkowo) Podaj liczbe calkowita: 23 23 529 (dziesietnie) Podaj liczbe w formacie szesnastkowym: ff 255 65025 (szesnastkowo)

hexoct.cpp #include <iostream> using namespace std; int main() { using namespace std; int pas = 42, reka = 42, noga = 42; cout << "Obwod pasa = " << pas << " (dziesietnie)" << endl; cout << hex; cout << "Dlugosc reki = " << reka << " szesnastkowo" << endl; cout << oct; cout << "Dlugosc nogi = " << noga << " (osemkowo)" << endl; cout << dec; pas = 42, reka = 0x42, noga = 042; cout << "Obwod pasa = " << pas << " (dziesietnie)" << endl; cout << "Dlugosc reki = " << reka << "(szesnastkowo)" << endl; cout << "Dlugosc nogi = " << noga << " (osemkowo)" << endl; return 0;

hexoct.cpp Obwod pasa = 42 (dziesietnie) Dlugosc reki = 2a szesnastkowo Dlugosc nogi = 52 (osemkowo) Obwod pasa = 42 (dziesietnie) Dlugosc reki = 66(szesnastkowo) Dlugosc nogi = 34 (osemkowo)

Funkcja składowa cout.put() - morechar.cpp #include <iostream> int main() { using namespace std; char ch = M ; int i = ch; cout << "Kod ASCII znaku " << ch << " to " << i << endl; cout << "Dodajemy do kodu znaku jedynke:" << endl; ch = ch + 1; i = ch; cout << "Kod ASCII znaku " << ch << " to " << i << endl; // uzycie metody cout.put() do pokazania znaku cout << "Wyswietlenie char ch za pomoca cout.put(ch): "; cout.put(ch); cout.put(i); // uzycie metody cout.put() do pokazania stalej znakowej cout.put(! ); cout << endl; return 0;

morechar.cpp - wynik Kod ASCII znaku M to 77 Dodajemy do kodu znaku jedynke: Kod ASCII znaku N to 78 Wyswietlenie char ch za pomoca cout.put(ch): NN!

Systemowe ograniczenia typów danych C++ dostarcza następuj acych narzędzi do programowego badania rozmiarów typów: operator sizeof zbiór climits (w starszych imoplementacjach limits.h). Plik zawiera systemowe ograniczenia dla różnych typów calkowitych. zbiór cfloat (w starszych imoplementacjach float.h). Plik zawiera systemowe ograniczenia dla różnych typów zmiennoprzecinkowych.

Typy całkowite -climits Stała Co wyraża Wartość CHAR_BIT Liczba bitów w 1 bajcie 8 SCHAR_MIN Wartość minimmalna dla typu signed char -127 SCHAR_MAX Wartość maksymalna dla typu signed char 127 UCHAR_MAX Wartość maksymalna dla typu unsigned char 255 CHAR_MIN Wartość minimmalna dla typu char SCHAR_MIN lub 0 CHAR_MAX Wartość maksymalna dla typu char SCHAR_MAX lub UCHAR_MAX MB_LEN_MAX Maksymalna liczba bajtów w wielobajtowym znaku 1 SHRT_MIN Wartość minimmalna dla typu short int -32767 SHRT_MAX Wartość maksymalna dla typu short int 32767 USHRT_MAX Wartość maksymalna. dla typu unsigned short int 65535 INT_MIN Wartość minimmalna dla typu int -32767 INT_MAX Wartość maksymalna dla typu int 32767 UINT_MAX Wartość maksymalna dla typu unsigned int 65535 LONG_MIN Wartość minimmalna dla typu long int -2147483647 LONG_MAX Wartość maksymalna dla typu long int 2147483647 ULONG_MAX Wartość maksymalna dla typu unsigned long int 4294967295

limits.cpp #include <iostream> #include <climits> int main() { using namespace std; int n_int = INT_MAX; short n_short = SHRT_MAX; long n_long = LONG_MAX; cout << "int ma " << sizeof (int) << " bajty." << endl; cout << "short ma " << sizeof n_short << " bajty." << endl; cout << "long ma " << sizeof n_long << " bajty." << endl; cout << "Wartosci maksymalne:" << endl; cout << "int: " << n_int << endl; cout << "short: " << n_short << endl; cout << "long: " << n_long << endl << endl; cout << "Minimalna wartosc typu int = " << INT_MIN << endl; cout << "Bitow na bajt = " << CHAR_BIT << endl; return 0;

limits.cpp - wynik int ma 4 bajty. short ma 2 bajty. long ma 8 bajty. Wartosci maksymalne: int: 2147483647 short: 32767 long: 9223372036854775807 Minimalna wartosc typu int = -2147483648 Bitow na bajt = 8

Uwaga o inicjalizacji zmiennych w C++ #include <iostream> #include <climits> int main() { using namespace std; // składnia zaczerpnięte z C int x = CHAR_MAX; cout << "Maksymalna wartosc typu char = " << x << endl; // nowa typowa składnia w C++ int y(char_max); cout << "Maksymalna wartosc typu char = " << y << endl; return 0;

Przepełnienia - exceed.cpp #include <iostream> #include <climits> int main() { using namespace std; short jan = SHRT_MAX; unsigned short ewa = jan; cout << "Jan ma " << jan << " dolarów, a Ewa ma "; cout << ewa << " dolarow." << endl; cout<< "Do obu kont dodaj 1$." << endl << "Teraz "; jan = jan + 1; ewa = ewa + 1; cout << "Jan ma " << jan << " dolarów, a Ewa ma "; cout << ewa << " dolarów.\n Biedny Jan!" << endl; jan = ewa = 0; cout << "Jan ma " << jan << " dolarów, a Ewa ma " << ewa; cout << " dolarów." << endl; cout << "Zabierzmy z obu kont 1$." << endl << "Teraz "; jan = jan - 1; ewa = ewa - 1; cout << "Jan ma " << jan << " dolarów, a Ewa ma " << ewa; cout << " dolarów." << endl << "Szczęściara Ewa!" << endl; return 0;

Wynik wykonania exceed.cpp Jan ma 32767 dolarów, a Ewa ma 32767 dolarow. Do obu kont dodaj 1$. Teraz Jan ma -32768 dolarów, a Ewa ma 32768 dolarów. Biedny Jan! Jan ma 0 dolarów, a Ewa ma 0 dolarów. Zabierzmy z obu kont 1$. Teraz Jan ma -1 dolarów, a Ewa ma 65535 dolarów. Szczęściara Ewa!

Typy zmiennoprzecinkowe - cfloat #include <iostream> #include <cfloat> int main(){ using namespace std; cout <<"Definicje minimalnej liczby cyfr znaczących " << endl; cout <<"long double: "<< LDBL_DIG << endl; cout <<"double: "<< DBL_DIG << endl; cout <<"float: "<< FLT_DIG << endl; cout <<"Definicje liczby bitów reprezentujących mantysę" << endl; cout <<"long double: "<< LDBL_MANT_DIG << endl; cout <<"double: "<< DBL_MANT_DIG << endl; cout <<"float: "<< FLT_MANT_DIG << endl; cout <<"Definicje maksymalnych wartości wykładnika: " << endl; cout <<"long double: "<< LDBL_MAX_10_EXP << endl; cout <<"double: "<< DBL_MAX_10_EXP << endl; cout <<"float: "<< FLT_MAX_10_EXP << endl; cout <<"Definicje minimalnych wartości wykładnika: " << endl; cout <<"long double: "<< LDBL_MIN_10_EXP << endl; cout <<"double: "<< DBL_MIN_10_EXP << endl; cout <<"float: "<< FLT_MIN_10_EXP << endl; return 0;

gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) Definicje minimalnej liczby cyfr znaczących long double: 18 double: 15 float: 6 Definicje liczby bitów reprezentujących mantysę long double: 64 double: 53 float: 24 Definicje maksymalnych wartości wykładnika: long double: 4932 double: 308 float: 38 Definicje minimalnych wartości wykładnika: long double: -4931 double: -307 float: -37

Metoda setf() Metoda setf() (ang. set flag) pozwala na kontrolowanie różnych aspektów formatowania danych wyjściowych, np. ios_base::showpoint - Wyświetlanie końcowego znaku dziesietnego ios_base::showbase - Wyświetlanie prefiksów systemow liczbowych ios_base::showpos - Wyświetlanie znaku + przed liczbami dodatnimi ios_base::fixed - Wyświetlanie liczb wnotacji stałoprzecinkowej ios_base::scientific - Wyświetlanie liczb w notacji naukowej

#include <iostream> int main(){ using std::cout; using std::ios_base; double price1 = 20.40; double price2 = 1.9 + 8.0 / 9.0; cout << "\"Futrzaki\" kosztuja " << price1 << " PLN!\n"; cout << "\"Smoki\" kosztuja " << price2 << " PLN!\n"; cout.setf(ios_base::showpoint); cout << "\"Futrzaki\" kosztuja " << price1 << " PLN!\n"; cout << "\"Smoki\" kosztuja " << price2 << " PLN!\n"; cout.precision(2); cout << "\"Futrzaki\" kosztuja " << price1 << " PLN!\n"; cout << "\"Smoki\" kosztuja " << price2 << " PLN!\n"; return 0;

"Futrzaki" kosztuja 20.4 PLN! "Smoki" kosztuja 2.78889 PLN! "Futrzaki" kosztuja 20.4000 PLN! "Smoki" kosztuja 2.78889 PLN! "Futrzaki" kosztuja 20. PLN! "Smoki" kosztuja 2.8 PLN!

#include <iostream> int main() { using namespace std; int pas = 42, reka = 0x42, noga = 042; cout.setf(ios_base::showbase); cout << "Obwod pasa = " << pas << endl; cout << "Dlugosc reki = " << hex << reka cout << "Dlugosc nogi = " << oct << noga return 0; << endl; << endl; Wynik Obwod pasa = 42 Dlugosc reki = 0x42 Dlugosc nogi = 042

#include <iostream> int main(){ using namespace std; float a, b; cout << "Podaj liczbe: "; cin >> a; cout << "Podaj druge liczbe: "; cin >> b; //rownowazne wyswietlaniu z cout.setf(ios_base::floatfield); cout << "a = " << a << "; b = " << b << endl; cout << "a + b = " << a + b << endl; cout << "a - b = " << a - b << endl; cout << "a * b = " << a * b << endl; cout << "a / b = " << a / b << endl; cout.setf(ios_base::fixed, ios_base::floatfield); cout << "a = " << a << "; b = " << b << endl; cout << "a + b = " << a + b << endl; cout << "a - b = " << a - b << endl; cout << "a * b = " << a * b << endl; cout << "a / b = " << a / b << endl; cout.setf(ios_base::scientific, ios_base::floatfield); cout << "a = " << a << "; b = " << b << endl; cout << "a + b = " << a + b << endl; cout << "a - b = " << a - b << endl; cout << "a * b = " << a * b << endl; cout << "a / b = " << a / b << endl; return 0;

Podaj liczbe: 2 Podaj druge liczbe: 3 a = 2; b = 3 a + b = 5 a - b = -1 a * b = 6 a / b = 0.666667 a = 2.000000; b = 3.000000 a + b = 5.000000 a - b = -1.000000 a * b = 6.000000 a / b = 0.666667 a = 2.000000e+00; b = 3.000000e+00 a + b = 5.000000e+00 a - b = -1.000000e+00 a * b = 6.000000e+00 a / b = 6.666667e-01

#include <iostream> int main() { using namespace std; int auks, bats, coots; // ponizsza instrukcja dodaje wartosci jako typ double, // nastepnie konwertuje wynik na int auks = 19.99 + 11.99; // te instrukcje dodaja wartosci jako typ int bats = (int) 19.99 + (int) 11.99; // stara skladnia C coots = int (19.99) + int (11.99); // nowa skladnia C++ cout << "auks = " << auks << ", bats = " << bats; cout << ", coots = " << coots << endl; char ch = Z ; // pokaz jako char cout << "Kod odowiadajacy znakowi " << ch << " to "; // pokaz jako int cout << int(ch) << endl; return 0;

auks = 31, bats = 30, coots = 30 Kod odowiadajacy znakowi Z to 90

#include <iostream> using namespace std; void fo() { static int a =5; a++; cout << a << endl; void go() { int a =5; a++; cout << a << endl; int main() { fo(); fo(); go(); go(); return 0; fo(); go(); Wynik 6 7 8 6 6 6

getline() #include <iostream> int main() { using namespace std; const int ArSize = 20; char name[arsize]; char dessert[arsize]; cout << "Podaj swoje imie:\n"; // wczytuje dane do znaku nowego wiersza cin.getline(name, ArSize); cout << "Podaj swoj ulubiony deser:\n"; cin.getline(dessert, ArSize); cout << "Mam dla ciebie " << dessert; cout << ", " << name << ".\n"; return 0;

getline() Podaj swoje imie: Bozena Wozna Szczesniak Podaj swoj ulubiony deser: Tort Czekoladowy Mam dla ciebie Tort Czekoladowy, Bozena Wozna Szczesniak. Metoda cin.getline() wczytuje znaki oraz zank nowego wiersza wygenerowany przez naciśnięcie klawisza ENTER, zastępujac go znakime pustym.

getline() #include <iostream> int main() { using namespace std; const int ArSize = 20; char name[arsize]; char dessert[arsize]; cout << "Podaj swoje imie:\n"; // wczytuje dane bez znaku nowego wiersza cin.get(name, ArSize); cout << "Podaj swoj ulubiony deser:\n"; //wczytujemy znak nowego wiersza cin.get(); cin.get(dessert, ArSize); cout << "Mam dla ciebie " << dessert; cout << ", " << name << ".\n"; return 0;

get() Podaj swoje imie: Bozena Wozna Szczesniak Podaj swoj ulubiony deser: Tort Czekoladowy Mam dla ciebie Tort Czekoladowy, Bozena Wozna Szczesniak. Metoda cin.get() wczytuje znaki, ale nie wczytuje zanku nowego wiersza wygenerowanego przez naciśnięcie klawisza Eneter. Metoda cin.get() pozostawia Enter w kolejce. Aby go przeczytać należy wywołać następujac a instrukcję: cin.get();

get() #include <iostream> int main() { using namespace std; const int ArSize = 20; char name[arsize]; char dessert[arsize]; cout << "Podaj swoje imie:\n"; // wczytuje dane bez znaku nowego wiersza cin.get(name, ArSize).get(); cout << "Podaj swoj ulubiony deser:\n"; cin.get(dessert, ArSize); cout << "Mam dla ciebie " << dessert; cout << ", " << name << ".\n"; return 0;

Odczytywanie danych składajacych się z liczb i łańcuchów #include <iostream> int main() { using namespace std; cout << "W ktorym roku zbudowano twoj dom?\n"; int rok; cin >> rok; cout << "Przy jakiej ulicy mieszkasz?\n"; char adres[80]; cin.getline(adres, 80); cout << "Rok budowy: " << rok << endl; cout << "Adres: " << adres << endl; return 0;

Odczytywanie danych składajacych się z liczb i łańcuchów W ktorym roku zbudowano twoj dom? 1200 Przy jakiej ulicy mieszkasz? Rok budowy: 1200 Adres: Kiedy cin odczytuje rok w strumieniu pozostaje znak enter. Znak ten jest czytane przez kolejne wywołanie cin.getline(). Dlatego też do zmiennej tablica przypisany zostaje pusty łańcuch.

Odczytywanie danych składajacych się z liczb i łańcuchów #include <iostream> int main() { using namespace std; cout << "W ktorym roku zbudowano twoj dom?\n"; int rok; cin >> rok; cin.get(); // wybranie entera z kolejki cout << "Przy jakiej ulicy mieszkasz?\n"; char adres[80]; cin.getline(adres, 80); cout << "Rok budowy: " << rok << endl; cout << "Adres: " << adres << endl; return 0;

Odczytywanie danych składajacych się z liczb i łańcuchów W ktorym roku zbudowano twoj dom? 2000 Przy jakiej ulicy mieszkasz? Armii Krajowej Rok budowy: 2000 Adres: Armii Krajowej