Wejście-wyjście w C++ Podstawy operacji
|
|
- Dominika Marta Komorowska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Wejście-wyjście w C++ Podstawy operacji C++ wspiera dwie kompletne systemy We/Wy: o We\Wy języka C o We\Wy obiektowy C++ Główną zaletą We\Wy C++ : jest możliwe przeciążenie enie dla tworzonych klas. Nadaje to możliwość wbudowywać w systemy We\Wy tworzone przez programista typy danych. Strumień to urządzenie logiczne, produkujące lub pobierajjące informacje. Wszystkie strumieni We/Wy zachowują się tak samo system We/Wy daje ten samy interfejs dla różnych urządzeń fizycznych. To oznacza, na przykład, że ta sama funkcja będzie wykonywała wyprowadzenie na monitor, w plik, na drukarkę,. 1
2 Przy starcie programu w języku C pozostają otworzone potoki stdin, stdout, stderr. W języku C++: Strumień Znaczenie Urządzenie domyślne cin Standardowe wejście Klawiatura cout Standardowe wyjście Ekran cerr Standardowe wyjście dla błędów Ekran clog Buforowana wersja cerr Ekran Standard C++ tworzy również potoki dodatkowe wcin, wcout, wcerr, wclog dla wide text format (wchar_t) (16-bitiwych) symbolów. System We\Wy bazuje się na dwóch różnych hierarchiach klasszablonów. 2
3 Pierwsza hierarchia klas jest pochodną od klasy dolnego poziomu basic_streambuf. Ten klas jest bazowym dla operacji We\Wy dolnego poziomu i wspiera cały system We\Wu. Druga hierarchia klas jest pochodną od klasy basic_ios. To jest klasa bazowa dla operacji We\Wy górnego poziomu, który zabezpiecza formatowanie, kontrole błędów i informacje o stanie strumienia. Biblioteka We\Wy tworzy dwie rozdzielne wersje hierarchii klas jedną 8-bitiwą, drugą 16-bitową. Klasa - szablon basic_streambuf basic_ios basic_istream basic_ostream basic_iostream basic_fstream basic_ifstream basic_ofstream Klasa dla wersji 8-bitowej streambuf ios istream ostream iostream fstream ifstream ofstream 3
4 Wirtualna klasa bazowa Stan strumienia ios_base Format stanu, który nie zależy od osobliwości nacjonalnych basic_ios <> Format stanu strumienia, który zależy od osobliwości nacjonalnych basic_ostream <> Formatuje << basic_istream <> Formatuje >> basic_iostream <> Formatuje << >> basic_ofstream <> Formatuje << basic_ifstream <> Formatuje >> basic_fstream <> Formatuje << >> 4
5 Dla dostępu do poważnej klasy ios trzeba dołączyć nagłówek <iostream> Formatowanie operacji Wejścia \ Wyjścia Formatowanie We\Wy można dokonywać: o przy użyci składowych klasy ios o przy wykorzystani manipulatorów specjalnych funkcji, które można umieszczać w wyrażeniach dotyczącycz We\Wy Formatowanie przy użyci składowych ios Z każdym strumieniem związany jest zbiór flag formatowania, kontrolujących sposób formatowania informacji. To są maski bitowe. W klasie ios zadekłarowana wyliczeniowa maska bitowa fmtflags: (class ios_base, members patrz MSDN) 5
6 Enumeration fmtflags: adjustfield floatfield right skipws basefild hex scientific unitbuf boolalpha internal showbase uppercase dec left showpoint fixed oct showpos flaga ustawiona wyzerowana skipws Przy wyprowadzeniu do strumienia wiodące znaki puste (spacje, tabulatory, nowej linii) są ignorowane nie są ignorowane left Wyrównanie po lewej krawędzi Jeśli wszystkie te right Wyrównanie po prawej krawędzi flagi są ignorowane internal Wartości numeryczne są dopełniane tak, by zajęły całe pole wstawiane spacje pomiędzy cyframi i znakiem liczby ustawienia domyślne 6
7 flaga ustawiona wyzerowana oct wyświetlanie wartości w systemie ósemkowym domyślnie - syst. w systemie szesnastkowym dziesiętnym hex dec przywrócenie do systemu dziesiętnego showbase pokazać podstawą systemu liczenia nie pokazywać uppercase w notacji naukowej wyświetlamy E, syst. Szesnastkowym X domyślnie: e, x showpos znak + jest wyświetlany nie wyświetlany showpoint wyświetla wietla wszędzie przecinek i zero końcowe nie wyświetla wietla scientific fixed unitbuf boolalpha wartości zmienno-przecinkowe są wyświetlane w notacji naukowej e+00 wartości zmienno-przecinkowe są wyświetlane w notacji zwykłej: bufor jest opróżniany (flush) po każdej operacji insertion (wyprowadzenie w strumień) wartości logiczne mogą być wprowadzone i wyprowadzone jako false, true kompilator sam wybiera odpowiednie notacje nie liczbami 0, 1 basefield dec hex oct nie 7
8 flaga ustawiona wyzerowana adjustfield internal left right nie floatfield fixed scientific nie Funkcji-składowe klasy ios_base: fmtflags setf(fmtflags flagi) Zwraca poprzednie ustawienie flag i ustawia wymienione na liście argumentów. stream.setf(ios::showpos ios::scientific); void unsetf(fmtflags flagi) stream strumień, do którego należy ustawienie flag, jest obiektem klasy pochodnej od klasy ios_base. W C++ nie istnieje formatowania globalnego, każde formatowanie odbywa się dla poszczególnych strumieni. showpos, scientific to są wartość wyliczeniowa w klasie ios, dla tego operator zakresu :: jest konieczny, inaczej kompilator nie widzi tych wartości. Flagi, wymienione na liście flagi, są wyzerowane. Wszystkie pozostałe flagi - bez zmian. 8
9 fmtflags flags(); fmtflags flags(fmtflags f); streamsize width(streamsize w); streamsize precision(streamsize p); Zwraca bieżący stan flag, nic nie zmienia w ustawieni flag ios::fmtflags f = flags(); Ustawia wszystkie flagi, zdefiniowane w szablonie fmtflags f, zwraca poprzednie ustawienie flag ios::fmtflags f = ios::showpos ios::showbase; cout.flags(f); domyślnie przy wyprowadzeni wartość zajmuje tyle pozycji, ile ma symbolów. Funkcje width() zadaje minimalną szerokość pola w, zwraca poprzednią szerokość pola. Po wykonaniu każdego wyprowadzenia szerokość pola pozostaje ustawiona jako wartość domyślna. Reszta pola (nie zajęta symbolami) będzie wypełniona symbolem zapełnienia (domyślnie spacja). Jeśli ilość symbolów przekracza ustawioną szerokość pola, będzie wyprowadzone tyle symbolów, ile ma wartość. Domyślnie liczby zmiennoprzecinkowe są wyprowadzone z dokładnością 6 cyfr. Dokładność można zmienić przy pomocy funkcji precision(). Zwraca poprzednią dokładność. Funkcja fill() składowa klasy pochodnej basic_ios: template <class Elem, class Traits> class basic_ios : public ios_base 9
10 char fill(char ch); Domyślnie wypełnienie pustych pozycji odbywa się spacjami. Funkcje fill() nadaje możliwość wypełnić te pozycji symbolem ch Przykład W11 Manipulatory We \ Wy Manipulatory to funkcje specjalne, które można włączać do wyrażeń We \ Wy. Dla dostępu k manipulatorom z parametrami trzeba dodać nagłówek <iomanip>. Standardowe manipulatory: manipulator przeznaczenie We \ Wy boolalpha Włącza flage boolalpha We \ Wy dec Włącza flage dec We \ Wy endl Wyprowadza znak nowej linii i opróżnia strumień ends Wyprowadza znak null Wy fixed Włącza flage fixed Wy flush Opróżnia strumień Wy Wy 10
11 manipulator przeznaczenie We \ Wy hex Włącza flagę hex We \ Wy internal Włącza flagęinternal Wy left Włącza flagę left Wy noboolalpha Wyłącza flagę boolalpha Wy noshowbase Wyłącza flagę showbase Wy noshowpoint Wyłącza flagę showpoint Wy noskipws Wyłącza flagę skipws Wy nounitbuf Wyłącza flagę unitbuf Wy nouppercase Wyłącza flagę uppercase Wy oct Włącza flagę oct We \ Wy resetiosflags(fmtflags f) Wyłącza flagi wymienione w f Wy right Włącza flagę right Wy scientific Włącza flagę scientific Wy setbase(int base) Przypisuje podstawie systemu liczenia wartość, wskazaną w base setfill(int ch) Definiuje jako znak wypelnienia ch Wy We \ Wy setiosflags(fmtflags f) Włącza flagi wymienione w f We \ Wy 11
12 manipulator przeznaczenie We \ Wy setprecision(int p) Ustala wartość dokładności Wy setw(int w) Definiuje szerokość pola jako w Wy showbase Włącza flagę showbase Wy showpoint Włącza flagę showpoint Wy showpos Włącza flagę showpos Wy skipws Włącza flagę skipws Wy unitbuf Włącza flagę unitbuf Wy uppercase Włącza flagę uppercase Wy ws Opuszcza puste znaki wiodące We Przykład: #include <iostream> #include <iomanip> using namespace std; int main() cout << hex << 100 << endl; cout << setfill(? ) << setw(10) << ; } wydruk: 64??????
13 Manipulatory występują w wyrażeniach złożonych i często okazują się bardziej przydatne dla zastosowania, niż składowe klasy ios. Jeśli manipulator nie pobiera argumenty (na przykład, endl, hex), nie występują nawiasy. Dzieje się tak dla tego, że jest to adres funkcji przekazywany do przeciążonego operatora <<. Manipulatory We \ Wy wpływają tylko na strumień, w wyrażenie dla którego są włączone. Na inne strumienie, otwarte w programie, nie wpływają. Przykład W11_1 13
14 Tworzenie własnego insertera przeciążenie operatora << Operator wyprowadzenia wstawia dane w strumień stąd i pochodzi nazwa inserter (insertion operator) ostream &operator << (ostream &stream, typ_klasy ob) //ciało funkcji return stream; } Operator << powinien być włączany w kolejką: stream << ob Operator << ma dwa operandy strumień i obiekt klasy, przy czym lewostronni operand to strumień, prawostronni obiekt klasy lub referencje do obiektu klasy ostream &operator << (ostream &stream, const typ_klasy &ob) Operator-funkcje nie może być składową klasy, dla którego jest tworzona, dla tego że włączanie w kolejkę stream << ob wymaga, że lewostronni operand powinien być strumieniem. 14
15 Wartość zwracana referencje do strumienia stream. To jest koniecznie dla tego,żeby można było włączać w wyrażenie stream << ob1 << ob2; Najczęściej przeciążona funkcje-operator << występuje jako funkcje zaprzyjaźniona do klasy, obiekt której ma wyprowadzić w strumień. To nadaje możliwość dostępu do ukrytych składowych klasy. Tworzenie własnego ekstraktora przeciążenie operatora >> istream &operator >> (istream &stream, typ_klasy &ob) //ciało extractora return stream; } Operator >> powinien być włączany w kolejką: stream >> ob dla tego zwraca referencje do strumienia stream. 15
16 Operator >> ma dwa operandy strumień i referencje do obiektu klasy, przy czym lewostronni operand to strumień, prawostronni referencje do obiektu klasy. Sprawa w tym, że przy wykonaniu wejścia wartości składowych klasy prawdopodobnie będą zmienione. Przykład: class mcoord protected: double x; double y; public: }; mcoord(double xx, double yy) x = xx; y = yy; } mcoord() x=0; y=0; } class node : public mcoord int numb; char str[512]; public: node(int nb, char *st, double xx, double yy); ~node() }.. friend ostream & operator << (ostream &stream, const node &ob); friend istream & operator >> (istream &stream, node &ob); }; 16
17 istream & operator >> (istream &stream, node &ob) /*========================================================== Ekstraktor przeciążenie operatora >> dla obiektów klasy node ===========================================================*/ stream >> ob.x >> ob.y >> ob.numb >> ob.str; return stream; } ostream & operator << (ostream &stream, const node &ob) /*========================================================== Inserter przeciążenie operatora << dla obiektów klasy node ===========================================================*/ } stream << ob.x << " " << ob.y << " " << ob.numb << " " << ob.str << endl; return stream; 17
18 Tworzenie własnych manipulatorów Pozwala konsolidować sekwencje kilku oddzielnych operacji wejściawyjścia w jeden manipulator Pozwala wielokrotnie powtarzalne operacji przy We\Wy zapakować w jeden manipulator, a dalej używać jego tyle razy, ile to jest potrzebne Istnieją dwa typy manipulatorów: o operujących na strumieniach wejściowych o operujących na strumieniach wyjściowych Każdą z tych grup można podzielić na manipulatory, pobierające argumenty, i manipulatory niepobierające argumenty. Tworzenie manipulatorów sparametryzowanych istotnie zależy od kompilatora. Dla tego rozważymy tworzenie manipulatorów niesparametryzowanych. Szkielet manipulatorów wyjścia: 18
19 ostream & nazwa_manipulatora(ostream &stream) //kod return stream; } Zwraca referencje do strumienia typu ostream. Wykorzystuje się jako element większego wyrażenia wyjścia (stream << << nazwa_manip <<..). Posiada jeden argument (referencje do strumienia, na którym operuje), przy wykorzystaniu nie jest używany żaden argument. ostream & manip_a(ostream &stream) stream.setf(ios::showbase); stream.setf(ios::hex ios::basefield); return stream; } int main() cout << 256 << " " << manip_a << 256 << endl; } system("pause"); return 0; 256 0x100 Для продолжения нажмите любую клавишу... 19
20 Szkielet manipulatorów wejścia: istream &nazwa_manipulatora(istream &stream) //kod return stream; } #include "stdafx.h" #include "windows.h" #include <iostream> using namespace std; istream & manip_b(istream &stream) MessageBeep(-1); cout << "wprowadź i wciśnij ENTER\n"; return stream; } //dzwięk int main() int i; cin >> manip_b >> i; } system("pause"); return 0; 20
21 Operacje Wejścia / Wyjścia, przeprowadzane na plikach Pliki dyskowe mają wielu unikalnych cech, dla tego w układzie We\Wy C++ pozostało tworzone klasy specjalne dla pracy z plikami: ofstream, ifstream, fstream (stor. 4) hierarchie klas. Nagłówek <fstream>. Dla zarządzania nizkopoziomowego strumieniami dla plików istnieje klasa szablonowa basic_filebuf basic_streambuf <> basic_filebuf <> (synonim filebuf) 21
22 Otwieranie i zamykanie pliku. Otwieranie pliku polega na połączeniu go ze strumieniem. Są trzy rodzaje strumieni: o wejściowe (obsługiwany przez klasę ifstream) o wyjściowy ( ofstream) o wejście\wyjście ( fstream) Otwieranie pliku powstaje przy wywołaniu konstruktora odpowiedniej klasy lub przy jawnym użyciu metody klasy open( ) Przykład W11_4 otwieranie pliku przy wywołaniu konstruktora klasy Metody open: void basic_ifstream::open( const char *_Filename, ios_base::openmode _Mode = ios_base::in, int _Prot = (int)ios_base::_openprot ); void basic_ofstream::open( const char *_Filename, ios_base::openmode _Mode = ios_base::out, int _Prot = (int)ios_base::_openprot ); void basic_fstream::open( const char *_Filename, ios_base::openmode _Mode = ios_base::in ios_base::out, int _Prot = (int)ios_base::_openprot ); 22
23 Tryb otwierania pliku zależy od wartości ios_base::openmode _Mode. typedef T3 openmode; static const openmode app, ate, binary, in, out, trunc; ios_base::app ios_base::ate ios_base::binary ios_base::in ios_base::out ios_base::trunc Przed każdym zapisem w plik wskaźnik pozycji pliku będzie przestawiony na koniec pliku (tryb dodawania w koniec pliku) Przy otwierani pliku wskaźnik pozycji będzie przestawiony na koniec pliku, przecież zapis \odczyt może być dokonywany w dowolnym miejscu pliku Tryb binarny. Domyślniepliki są otwarte w trybie tekstowym. Plik, otwarty w trybie tekstowym, widzi znaki formatowania i znaki specjalne. Plik, otwarty w trybie binarnym, nie widzi formatowania. Plik jest otwarty dla odczytu (extraction) Plik jest otwarty dla zapisu (insertion) Zawartość pliku istniejącego pozostaje zniszczona, plik w trakcie otwierania będzie ucięty do zerowej długości 23
24 basic_filebuf::open ios_base::in ios_base::out ios_base::out ios_base::trunc becomes "r" (open existing file for reading). becomes "w" (truncate existing file or create for writing). ios_base::out ios_base::app becomes "a" (open existing file for appending all writes) ios_base::in ios_base::out becomes "r+" (open existing file for reading and writing). ios_base::in ios_base::out becomes "w+"(truncate existing file or create for ios_base::trunc reading and writing). ios_base::in ios_base::out ios_base::app becomes "a+" (open existing file for reading and for appending all writes). _Prot - the default file opening protection. 24
25 Sprawdzenie poprawności otwarcia pliku. o W przypadku niepowodzenia strumień jest ustawiony na false: fstream iof( myfile.dat, ios_base::in ios_base::out); if(! iof) //plik nie pozostał otwarty } //OK o metoda bool basic_filebuf::is_open(): zwraca true, jeśli plik pozostał otwarty, false niepowodzenie. fstream iof( myfile.dat, ios_base::in ios_base::out); if(!iof.is_open()) //plik nie pozostał otwarty } //OK. Zamykanie plików: void basic_fstream :: close( ); 25
26 Niesformatowane i binarne operacje wejścia-wyjścia W funkcjach klasycznych We\Wy C\C++ pozostałe zrealizowane operacje na bajtach. Dla tego że sizeof(char) = 1 B, w prototypach tych funkcji jest używany typ char. Z wprowadzeniem Unicode (wchar_t) sytuacje się zmieniła. Ale w obrębie tego kursu będziemy i dalej posługiwali funkcjami klasycznymi. Pliki będziemy otwierać w trybie binarnym (ios_base::binary). Funkcje C++ Run-time library put, get dla plików binarnych powodują zapis i odczyt jednego bajta informacji: istream &get(char &ch); ostream &put(char ch); Przykład W11_5!!! 26
27 Funkcji C++ Run-time library read, write dla zapisu \ odczytu bloków basic_istream& read( char_type *_Str, streamsize _Count ); basic_ostream& write( const char_type *_Str, streamsize _Count ); Jeśli chodzi o plikach binarnych, to _Str jest wskaźnikiem do bufora pamięci rzutowany na typ char * lub const char *, a _Count podaje ilość bajtów, które trzeba zapisać \ przeczytać. Jeśli przy odczycie koniec pliku występuje wcześniej niż będzie przeczytane _Count bajtów, odczyt pozostaje przerwany, a buforze _Str znajduje się tyle bajtów, ile faktycznie pozostało przeczytane. Dla tego żeby wyjaśnić, ile bajtów pozostało przeczytane, istnieje funkcja streamsize basic_istream :: gcount( ) const; Dla wyładowania buforu systemowego We\Wy w plik, używamy basic_ostream& basic_ostream :: flush( ); Nie używamy fleszowanie pliku bez potrzeby zwalnia to istotnie działanie programu. Przy zamykaniu pliku powstaje automatyczne wyładowanie danych z bufora systemowego i ich zapis do pliku. 27
28 Dostęp swobodny (bezpośredni). W C++ plik ma 2 wskaźnika pozycji jeden określa pozycje pliku, gdzie nastąpi kolejna operacje wejścia, a drugi wyjścia. Dla przesunięcia wskaźników pozycji plików mamy 2 układy funkcji: xxxg() (get - odczyt), xxxp() (put zapis). Przesuwa wskaźnik pozycji pliku na wartość _Off odnośnie _Way : o _Way == ios_base::beg odnośnie początku pliku o _Way == ios_base::end odnośnie końca pliku o _Way == ios_base::cur odnośnie bieżącej pozycji basic_istream& basic_istream::seekg( off_type _Off, ios_base::seekdir _Way ); basic_ostream& basic_ostream:: seekp( off_type _Off, ios_base::seekdir _Way ); Ustawia wskaźnik pozycji pliku w pozycje, podaną przez _Pos: basic_istream& basic_istream::seekg( pos_type _Pos ); basic_ostream& basic_ostream:: seekp( pos_type _Pos ); Informuje, w której pozycji znajduje się wskaźnik pozycji pliku: pos_type basic_istream :: tellg( ); pos_type basic_ostream :: tellp( ); 28
29 Przykład: #include <iostream> #include <fstream> int main ( ) using namespace std; ifstream file; char c, c1; file.open( "basic_istream_seekg.txt" ); file.seekg(2); // chars to skip file >> c; cout << c << endl; Plik: basic_istream_seekg.txt: Output: file.seekg( 0, ios_base::beg ); file >> c; cout << c << endl; } file.seekg( -1, ios_base::end ); file >> c1; cout << c1 << endl; 29
30 Sprawdzenie stanu wejścia \ wyjścia. Bieżący stan systemu We \ Wy jest przechowywany w obiekcie typu ios_base::iostate : typedef T2 iostate; static const iostate badbit, eofbit, failbit, goodbit; ios_base::goodbit ios_base::eofbit ios_base::failbit ios_base::badbit Żaden bit błędu nie był wykryty 1 EOF, 0 nie pozostał osiągnięty 1 wystąpił niekrytyczny błąd We \ Wy, 0 nie wystąpił 1 wystąpił krytyczny błąd We \ Wy, 0 nie wystąpił Funkcje ios_base::iostate basic_ios:: rdstate( ) const; zwraca obiekt typu iostate, zawierający te flagi bitowe. failbit = 1 na przykaład, przy wprowadzeniu int okazał się symbol, który nie może być konwertowany poprawnie na typ int ( Przykład IO_1) 30
31 Przykład: template <typename T> void checkfilestate(t &stream) /*====================================================== T == ifstream T == ofstream T == fstream =======================================================*/ ios_base::iostate st = stream.rdstate(); } if(st & ios_base::eofbit) cout << "EOF achieved\n"; else if(st & ios_base::failbit) cout << "nie fatalny blad I/O\n"; else if(st & ios_base::badbit) cout << "fatalny blad I/O\n"; Inny sposób sprawdzenia: bool basic_ios::bad( ) const; //true, jeśli flaga badbit jest ustawiona bool basic_ios::eof( ) const; //true, jeśli flaga eofbit jest ustawiona bool basic_ios::fail ( ) const; // true, jeśli flaga failbit jest ustawiona bool basic_ios::good ( ) const; // true, jeśli flaga goodbit jest ustawiona 31
32 wyzerowanie flag błędów: void basic_ios::clear( iostate _State = goodbit ); Jeśli jako argument jest podana flaga goodbit, wszystkie flagi pozostaną wyzerowane. Jeśli jako argument podać inną flagę, tylko ta flaga będzie wyzerowana. Przykład W16 jeden plik dwa strumieni Przykład L7 jeden plik jeden strumień (otwieranie plików, odczyt-zapis, testowanie odczytu-zapisu, wielokrotne powtarzanie, eksportowanie pliku do Excel i uruchomienie procesu Excel). 32
Wejście wyjście strumieniowe
PARADYGMATY PROGRAMOWANIA Wykład 6 Wejście wyjście strumieniowe stdin standardowy strumień wejściowy stdout standardowy strumień wyjściowy stderr standardowy strumień komunikatów o błędach pliki - inne
klasy strumieniowe uzupełnienie Języki Programowania (język C++) Klasy strumieniowe Pliki nagłówkowe Klasy strumieniowe Obiekty globalne
Języki Programowania (język C++) uzupełnienie klasy strumieniowe Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Klasy strumieniowe Pliki nagłówkowe Definicje związane z klasami strumieniowymi
Programowanie w językach
Programowanie w językach wysokiego poziomu Obsługa plików za pomocą strumieni Elektronika i Telekomunikacja, semestr III rok akademicki 2013/2014 dr inż. Paweł Myszkowski Plan zajęć a) otwieranie i zamykanie
Pliki i manipulatory. - Łańcuchowe funkcje wejścia - getline(string) Dorota Pylak - Tryby otwarcia pliku - Formatowanie manipulatory
Pliki i manipulatory - Łańcuchowe funkcje wejścia - getline(string) Dorota Pylak - Tryby otwarcia pliku - Formatowanie manipulatory 2 Łańcuchowe funkcje wejścia - getline(string) Wprowadzanie danych do
Programowanie i struktury danych
Programowanie i struktury danych Wykªad 3 1 / 37 tekstowe binarne Wyró»niamy dwa rodzaje plików: pliki binarne pliki tekstowe 2 / 37 binarne tekstowe binarne Plik binarny to ci g bajtów zapami tanych w
Operacje wejścia/wyjścia (odsłona druga) - pliki
Operacje wejścia/wyjścia (odsłona druga) - pliki Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały
Wykład 2 Operacje wejściawyjścia. Ewa Gajda
Wykład 2 Operacje wejściawyjścia w C++ Ewa Gajda Strumienie Operacje wejścia-wyjścia w C++ realizowane są przy pomocy tak zwanych strumieni. Strumieo można sobie wyobrażad jako ciąg znaków bądź bajtów
C++ - strumienie. C++ - strumienie. C++ - strumienie. C++ - strumienie. C++ - strumienie STRUMIENIE
STRUMIENIE Motywacja wprowadzenia nowej biblioteki strumieni: W języku C istnieje intepreter odpowiedzialny za analizę łańcucha formatującego podczas wykonywania programu oraz pobierający zmienną liczbę
C++ - strumienie. C++ - strumienie. C++ - strumienie. C++ - strumienie. C++ - strumienie STRUMIENIE
STRUMIENIE Motywacja wprowadzenia nowej biblioteki strumieni: W języku C istnieje intepreter odpowiedzialny za analizę łańcucha formatującego podczas wykonywania programu oraz pobierający zmienną liczbę
Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory
1 Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.
Spis treści OBSŁUGA PLIKÓW W JĘZYKU C++ Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF32
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)
C++ - strumienie. Strumienie. C++ - strumienie. C++ - strumienie. C++ - strumienie. C++ - strumienie. Formatowanie strumieni wyjściowych
Formatowanie strumieni wyjściowych Każda klasa reprezentująca strumień ma tzw. flagi, opisujące stan strumienia. W szczególności sposób działania operatorów we/wy określony jest aktualnym stanem flag stanu
C++ - [3-5] Pliki i strumienie w C++
Slajd 1 z 13 C++ - [3-5] Pliki i strumienie w C++ Nysa 2004-2013. Autor: Wojciech Galiński. wersja dnia 19 maja 2013 r. Slajd 2 z 13 Klasy i obiekty do obsługi plików Aby korzystać z obiektów do obsługi
Pliki wykład 2. Dorota Pylak
Pliki wykład 2 Dorota Pylak Struktura programu działającego na plikach 1) Dyrektywa preprocesora #include //zapewnia dostęp do strumieni ifstream i ofstream 2) deklaracja zmiennej (strumienia)
Operacje na plikach. Informatyka. Standardowe strumienie wejścia i wyjścia
Materiały Operacje na plikach Informatyka Operacje wejścia-wyjścia w C/C++: Podejście proceduralne Podejście obiektowe Standardowe strumienie wejścia i wyjścia stdin - strumień wejściowy (klawiatura) cin
Strumienie standardowe C
Strumienie standardowe C Lista standardowych strumieni w języku C składa się z trzech elementów: stdin (strumień wejściowy), stdout (strumień wyjściowy) oraz stderr (standardowe wyjście błędów). W niektórych
Operacje wejścia/wyjścia odsłona pierwsza
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include
C++ - szablony. C++ - szablony. C++ - strumienie. C++ - strumienie. C++ - strumienie STRUMIENIE
C++ - szablony C++ - szablony class Pierwsza { public: void f() {} }; class Druga { public: void g() {} }; template class Trzecia { T t; public: void a() { t.f(); } void b() { t.g(); } }; int
Pliki wykład 2. Dorota Pylak
Pliki wykład 2 Dorota Pylak Struktura programu działającego na plikach 1) Dyrektywa preprocesora #include //zapewnia dostęp do strumieni ifstream i ofstream 2) deklaracja zmiennej (strumienia)
dr inż. Paweł Myszkowski Wykład nr 8 (22.04.2015)
dr inż. Paweł Myszkowski Politechnika Białostocka Wydział Elektryczny Elektronika i Telekomunikacja, semestr II, studia stacjonarne I stopnia Rok akademicki 2014/2015 Wykład nr 8 (22.04.2015) Plan prezentacji:
Język C++ wykład VIII
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Obiektowość języka C++ ˆ Klasa (rozszerzenie struktury), obiekt instancją klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie,
jest mocny, skoro da się w nim wyrazić nowe pojęcia; łatwiej przenieść go na nową platformę jest mniejszy.
Wejście-wyjście Nie jest elementem języka C++ Niezbyt istotne dla użytkownika, ważne dla języka: jest mocny, skoro da się w nim wyrazić nowe pojęcia; łatwiej przenieść go na nową platformę jest mniejszy.
Referencje. Zasady zaliczeń. Zasady zaliczeń. Zasady zaliczeń. Zasady zaliczeń. Zaawansowane Programowanie Obiektowe. Informacje organizacyjne:
Referencje Informacje organizacyjne: Wykład: środy, 13:15 14:45 Strona główna www z komunikatami dla ZPO: http://troja.uksw.edu.pl/category/zpo2017/ Zaawansowane Programowanie Obiektowe E-mail: k.trojanowski@uksw.edu.pl
Referencje. Zasady zaliczeń. Zasady zaliczeń. Zasady zaliczeń. Zasady zaliczeń. Zaawansowane Programowanie Obiektowe. Informacje organizacyjne:
Referencje Informacje organizacyjne: Wykład: wtorki, 15:00 16:30 Strona główna www z komunikatami dla ZPO: http://troja.uksw.edu.pl/category/zpo2016/ Zaawansowane Programowanie Obiektowe E-mail: k.trojanowski@uksw.edu.pl
Wykład 9 2014-06-20 09:37 PP2_W9
Wykład 9 Przykłady programów z wykorzystaniem klas - przykład funkcji operatorowych - obiektowa implementacja listy jednokierunkowej kopiowanie obiektów - klasa "latający napis" Pozycjonowanie w plikach
Programowanie Obiektowe i C++
Programowanie Obiektowe i C++ Marcin Benke Instytut Informatyki UW 13.11.2006 Marcin Benke (IIUW) Programowanie Obiektowe i C++ 13.11.2006 157 / 201 Wejście-wyjście Nie jest elementem języka C++ Niezbyt
Dziedziczenie & W slajdach są materiały zapożyczone z https://www.ii.uni.wroc.pl/~prz/2012lato/cpp/slajdy/cpp5.
Dziedziczenie 27.04.2016 & 04.05.2016 W slajdach są materiały zapożyczone z https://www.ii.uni.wroc.pl/~prz/2012lato/cpp/slajdy/cpp5.ppt class A{ private: int x, y; public: void setvaluex(); void setvaluey();
Programowanie obiektowe
Programowanie obiektowe 10.04.2017 W slajdach są materiały zapożyczone z https://www.ii.uni.wroc.pl/~prz/2012lato/cpp/slajdy/cpp5.ppt Przykład wykorzystania obiektu Obiekt X jest instancją klasy Y Obiekt
Klasa iostream... 1 Klasy ofstream, ifstream Struktura FILE... 8
12.1 12.2 Klasa iostream... 1 Klasy ofstream, ifstream... 3 12.3 Struktura FILE... 8 12.1 Klasa iostream Obiekty klasy stream tworzone automatycznie: istream& cin, standardowe wejście konsoli (klawiatura).
C++ - szablony. C++ - szablony. C++ - szablony. C++ - szablony. C++ - szablony. C++ - szablony
Słowo kluczowe class w linii: template nie oznacza, że T1 i T2 mogą być tylko klasami (jak widać na przykładzie); mogą to być dowolne typy (wbudowane lub definiowane przez użytkownika)
Pliki wykład. Dorota Pylak
Pliki wykład Dorota Pylak Pliki 2 Większość programów komputerowych korzysta z plików, np. w edytorach tekstów tworzymy pliki dokumentów. Plik (ang. file) jest porcją danych zapisanych na jakimś nośniku.
Pliki wykład 2 -przekazywanie strumieni do funkcji -funkcje get(char &) i getline(string)
Pliki wykład 2 -przekazywanie strumieni do funkcji -funkcje get(char &) i getline(string) Dorota Pylak Struktura programu działającego na plikach 2 1) Dyrektywa preprocesora #include //zapewnia
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 5. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 5 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Przestrzenie nazw Standardowa biblioteka szablonów
Biblioteka standardowa - operacje wejścia/wyjścia
Biblioteka standardowa - operacje wejścia/wyjścia Przemysław Gawroński D-10, p. 234 Wykład 6 15 stycznia 2019 (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 1 / 14 Outline
Wprowadzenie w dziedziczenie. Klasa D dziedziczy klasę B: Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class).
Wprowadzenie w dziedziczenie Klasa D dziedziczy klasę B: B klasa bazowa D klasa pochodna Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class). Najpierw jest tworzona klasa bazowa,
Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 5. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni Wykład 5 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Standardowa biblioteka szablonów (Standard Template
Referencje. Zasady zaliczeń. Zasady zaliczeń. Zasady zaliczeń. Zasady zaliczeń. Zaawansowane Programowanie Obiektowe. Informacje organizacyjne:
Referencje Informacje organizacyjne: Wykład: środy, 15:00 16:30 Strona główna www z komunikatami dla ZPO: http://t roja.u ksw.ed u.pl/c ategor y/zpo2 018/ Zaawansowane Programowanie Obiektowe E-mail: k.trojanowski@uksw.edu.pl
Spis treści OPERACJE WEJŚCIA-WYJŚCIA W JĘZYKU C++. STEROWANIE FORMATEM, MANIPULATORY. Informatyka 2
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)
W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :
Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;
Pliki wykład. Dorota Pylak
Pliki wykład Dorota Pylak Pliki 2 Większość programów komputerowych korzysta z plików, np. w edytorach tekstów tworzymy pliki dokumentów. Plik (ang. file) jest porcją danych zapisanych na jakimś nośniku.
Programowanie w C++ Wykład 11. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 24
Programowanie w C++ Wykład 11 Katarzyna Grzelak 21 maja 2018 K.Grzelak (Wykład 11) Programowanie w C++ 1 / 24 Strumienie Strumień bajtów płynacy od źródła do ujścia: 1 standardowe strumienie wejściowe
Język C++ zajęcia nr 1
I. Programowanie obiektowe Język C++ zajęcia nr 1 Zasadniczą cechą programowania obiektowego jest łączne rozpatrywanie zagadnień dotyczących algorytmów i struktur danych. Wyrazem tego jest zmiana w sposobie
Wstęp do programowania obiektowego. Przekazywanie parametrów do funkcji w C++ Metody i funkcje operatorowe Strumienie: standardowe, plikowe, napisowe
Wstęp do programowania obiektowego Przekazywanie parametrów do funkcji w C++ Metody i funkcje operatorowe Strumienie: standardowe, plikowe, napisowe 1 PRZEKAZYWANIE PARAMETRÓW DO FUNKCJI W C++ 2 W C++
Wstęp do programowania obiektowego
Wstęp do programowania obiektowego KLASA ISTREAM KLASA OSTREAM MANIPULATORY STRUMIENIOWE STRUKTURY W C++ DOMYŚLNE WARTOŚCI PARAMETRÓW KONSTRUKTORY I DESTRUKTORY KLAS POCHODNYCH KONSTRUKTOR KOPIUJĄCY POLIMORFIZM
Wykład 9 Pliki cz.3 (getline(string)) Typ wyliczeniowy enum
Wykład 9 Pliki cz.3 (getline(string)) Typ wyliczeniowy enum Dorota Pylak Przykład 4 funkcja get(char &) 2 Napisz funkcję, która dla pliku o nazwie podanej przez pierwszy parametr funkcji oblicza prawdopodobieństwo
Identyfikacje typu na etapie. wykonania (RTTI)
Identyfikacje typu na etapie (Run Time Type Identification) wykonania (RTTI) Może powstać taka sytuacje, gdy w trakcie kompilacji typ obiektu nie jest znany. C++ implementuje polimorfizm poprzez hierarchie
Wstęp do programowania
wykład 2 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2016/2017 Liczby Korzystanie z liczn C++ zna różne rodzaje liczb (różne typy liczbowe) i potrafi wykonywać na nich różne operacje
INFORMATYKA Studia Niestacjonarne Elektrotechnika
INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
TEMAT : KLASY DZIEDZICZENIE
TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą
Język C++ Różnice między C a C++
Język C++ Różnice między C a C++ Plan wykładu C a C++ Różnice ogólne Typy Deklaracje zmiennych C++ jako rozszerzenie C Domyślne argumenty funkcji Przeciążanie funkcji Referencje Dynamiczny przydział pamięci
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()
Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.
Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym
Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku.
Program 7 Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku. #include #include using namespace std; int main()
Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33
Programowanie w C++ Wykład 8 Katarzyna Grzelak 15 kwietnia 2019 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
Obsługa wyjątków. Język C++ WW12
Obsługa wyjątków Pozwala zarządzać błędami wykonania w uporządkowany sposób. Umożliwia automatyczne wywołanie części kodu, funkcji, metod klas, który trzeba wykonać przy powstaniu błędów. try //blok try
Szablony klas, zastosowanie szablonów w programach
Szablony klas, zastosowanie szablonów w programach 1. Szablony klas i funkcji 2. Szablon klasy obsługującej uniwersalną tablicę wskaźników 3. Zastosowanie metody zwracającej przez return referencję do
Funkcje przeciążone, konstruktory kopiujące, argumenty domyślne
Funkcje przeciążone, konstruktory kopiujące, argumenty domyślne Przeciążenie funkcji polega na użyciu funkcji z tą samą nazwą, które mają różne listy argumentów(różne typy, różna ilość lub to i inne).
Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30
Programowanie w C++ Wykład 9 Katarzyna Grzelak 14 maja 2018 K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe plus
PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec
PROE wykład 3 klasa string, przeciążanie funkcji, operatory dr inż. Jacek Naruniec Przypomnienie z ostatnich wykładów Konstruktory/destruktory i kolejność ich wywołania w złożonej klasie. Referencja Obiekty
1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
Nowe słowa kluczowe. Komentarze. Wskaźniki typu void. class, delete, new, friend,... /* Komentarz w C i C++ */ // Komentarz w C++ (do końca wiersza)
Różnice między C i C++ (Rozszerzenia C++) Nowe słowa kluczowe class, delete, new, friend,... Komentarze /* Komentarz w C i C++ */ // Komentarz w C++ (do końca wiersza) Wskaźniki typu void W C wskaźniki
Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki int getmax (int a, int b) { return (a > b? a : b); float getmax (float a, float b) { return (a > b? a : b); long getmax (long a, long b)
Podstawy programowania w C++
Podstawy programowania w C++ Strumienie wejścia cin>> i wyjścia cout
Przeciążenie operatorów
Przeciążenie operatorów W C++ można przeciążyć większość operatory tak, żeby wykonywali zadania, charakterystyczne dla danej klasy Po przeciążeniu odpowiednich operatorów można posługiwać się obiektami
Funkcje zawarte w bibliotece < io.h >
PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece
Wstęp do programowania
wykład 2 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Inicjalizacja zmiennych Zmiennej możemy nadać wartość już w momencie jej definiowania (inicjalizacja zmiennej). Przypisywana
Wykład nr 4. Temat: Dynamiczny przydział pamięci, zastosowania wskaźników, praca z plikami.
Wykład nr 4 Temat: Dynamiczny przydział pamięci, zastosowania wskaźników, praca z plikami. Cytaty: Zamiast dzielić ludzi na kobiety i mężczyzn, powinniśmy dzielić ich na statycznych i dynamicznych. Charles
Struktury, unie, formatowanie, wskaźniki
Struktury, unie, formatowanie, wskaźniki 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12, na rzecz swoich 143209 poddanych uchwalił dekret o 20 procentowej
Funkcje zawarte w bibliotece < io.h >
PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece
Programowanie Procedurale. Pliki w języku C++
Programowanie Procedurale. Pliki w języku C++ Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale. Pliki w języku C++
C++ wprowadzanie zmiennych
C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym
1 Pierwsze kroki w C++ cz.3 2 Obsługa plików
1 Pierwsze kroki w C++ cz.3 2 Obsługa plików Do pracy z plikami zewnętrznymi niezbędna będzie biblioteka fstream. Udostępnia ona programiście narzędzia do zapisu i odczytu plików. 2.1 Typ zmiennej fstream.
Bibliografia 1. B. Stroustrup. Jezyk C++. Wydawnictwo Naukowo-Techniczne, Warszawa,
Programowanie obiektowe (OOP) Dr. Inż. Hab. Siergiej Fialko, IMK-PK, http://torus.uck.pk.edu.pl/~fialko sfialko@riad.pk.edu.pl Bibliografia 1. B. Stroustrup. Jezyk C++. Wydawnictwo Naukowo-Techniczne,
Rzutowanie i konwersje
Rzutowanie i konwersje Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2013 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania
Podstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Referencje. Referencje. Zasady zaliczeń. Zasady zaliczeń. Zasady zaliczeń. Zaawansowane Programowanie Obiektowe. Informacje organizacyjne:
Referencje Informacje organizacyjne: Wykład: środy, 13:15 14:45 Strona główna www z komunikatami: http://troja.uksw.edu.pl/ Zaawansowane Programowanie Obiektowe E-mail: k.trojanowski@uksw.edu.pl maile
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można
Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.
Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice
Operatory na rzecz typu TString
Operatory na rzecz typu TString Dopiszmy w definicji klasy operator[], dzięki któremu potraktujemy obiekt jak tablicę class TString { public: char& operator[]( size_t n ); const char& operator[]( size_t
Ghost in the machine
Operacje na pami eci i odrobina I/O Zak lad Chemii Teoretycznej UJ 8 stycznia 2007 Funkcje operujace Wstep do operacji I/O na plikach 1 Operacje na pami eci 2 Funkcje operujace 3 Wst Funkcje operujace
Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this
Wstęp do programowania obiektowego WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this 1 Nazwa typu Rozmiar Zakres Uwagi bool 1 bit wartości true albo false stdbool.h TYPY ZNAKOWE
/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>
Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch
Zmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński
Języki programowania Część siódma Przetwarzanie plików amorficznych Konwencja języka C Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie
Wstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 5 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu:
Programowanie w C++ Adam Szmagliński, p. F215 Środowisko programistyczne: MS Visual Studio 2012
Programowanie w C++ Adam Szmagliński, p. F215 http://fizyka.szmaglinski.eu Środowisko programistyczne: MS Visual Studio 2012 Literatura: Jerzy Grębosz, Symfonia C++ standard, t. 1 i 2 Wykonywanie programu
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona
Pliki. Funkcje tworzące pliki i operujące na nich opisane są w części 2 pomocy systemowej. Tworzenie i otwieranie plików:
Pliki W celu wykonania jakiejkolwiek operacji na istniejącym pliku, plik ten musi zostać otwarty, natomiast jeśli plik jeszcze nie istnieje, to musi zostać utworzony. Plik może zostać otwarty w trybie:
Operacje na plikach (niskiego poziomu) < IO.H >
OPERACJE WEJŚCIA WYJŚCIA (część b) Operacje wejścia / wyjścia odczyt i zapis danych do róŝnych zewnętrznych urządzeń lub nośników pamięciowych komputera: np. klawiatury, ekranu monitora, dyskietki, czytnika
Abstrakcyjny typ danych
Abstrakcyjny typ danych Abstrakcyjny Typ Danych (abstract data type-adt): zbiór wartości wraz z powiązanymi z nimi operacjami; operacje są zdefiniowane w sposób niezależny od implementacji; operacje są
Składnia C++ Programowanie Obiektowe Mateusz Cicheński
Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Konstruktory i destruktory
Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki
Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:
Język ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013
Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Obsługa plików Kraków 2013 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim będziemy mogli
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
1. Proste typy danych- ciąg dalszy 2. Typy złożone danych : TABLICE Wykład 3 ZMIENNE PROSTE: TYPY WBUDOWANE Typy zmiennoprzecinkowe: float double long double Różne rozmiary bajtowe. W konsekwencji różne
Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest