Biblioteka obiektowa C++ klasa string - parę przykładów programów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ
|
|
- Justyna Kalinowska
- 8 lat temu
- Przeglądów:
Transkrypt
1 programowanie w C++ dla OWK Biblioteka obiektowa C++ klasa string - parę przykładów programów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ 1
2 Streszczenie W tym rozdziale podamy kilka najprostszych przykładów programów korzystających z biblioteki obiektowej string w C++. Często programiści C++, którzy wcześniej przez długie lata programowali w języku C z przyzwyczajenia ograniczają się do klasy string.h rodem z języka C (w programach C++ włącza się ją poprzez polecenie #include <cstring>) unikając biblioteki obiektowej. Niepotrzebnie. W poniższych przykładach skorzystamy dodatkowo z klasy kontenerowej vector. Wybrane przykłady Na wstępie rozważmy program string1.cc który nie wymaga dłuższego tłumaczenia. Komentarze w źródle kodu powinny wystarczyć. Z kodu można zrozumieć w jaki sposób obiektom z klasy string przypisać łańcuchy znakowe, jak dodawać do siebie obiekty klasy string. Przede wszystkim uderzająca jest prostota tych poleceń, są bardziej proste niż przy korzystaniu z pomocy biblioteki cstring wymagającej dodatkowej wiedzy nt tablic typu znakowego. 2 #include <s t r i n g > // b i b l o t e k a j e z y k a C++ nie mylic z // z b i b l i o t e k a lancuchow znakowych j e z y k a C 4 using namespace std ; 6 int main ( ) { 8 s t r i n g imie, nazwisko ; // d e k l a r a c j a obiektow z k l a s y s t r i n g 9 // sa p uste i c h d l u g o s c =0; 10 s t r i n g s ; // t e z pusta d e k l a r a c j a. Zeby zobaczyc d l u g o s c 11 // t a k i e g o lancucha korzystamy z metody l e n g t h ( ) 12 1 cout<<endl<<" uruchamiamy metode length(), tj. podaj dlugosc" ; 14 1 cout<<imie. l e n g t h ()<<endl ; //wydrukowana z o s t a n i e d l u g o s c lancuch=0 16 // bo j e s t pusty 1 18 cout<<" Podaj swoje imie"<<e n d l ; 19 cin>>imie ; // t u t a j z o s t a n i e o b i e k t o w i imie przypisana wartosc 20 cout<<" Wpisales imie: "<<imie<<e n d l ; cout<<"dlugosc lancucha imie="<<imie. length()<<endl ; 2 24 cout<<" Podaj swoje nazwisko"<<e n d l ; cin>>nazwisko ; // t u t a j z o s t a n i e o b i e k t o w i imie przypisana wartosc 0 1 s=imie+nazwisko ; // o b i e k t y typu s t r i n g mozna dodawac 2 cout<<" "<<endl ; 4 cout<<" Dzien dobry "<<s<<e n d l ; cout<<" "<<endl ; 6 // Nie wyglada to j e s z c z e dobrze d l a t e g o 8 // t e r a z wstawimy s p a c j e pomiedzy imie i nazwisko i a na koncu dodamy buzke 9 2
3 40 s=imie + " " + nazwisko + " :)" ; cout<<" Dzien dobry "<<s<<e n d l ; return 0 ; 46 } Łańcuchy możemy prównywać ze sobą analogicznie jak zmienne numeryczne. Świadczy o tym poniższy przykład string2.cc. 2 #include <s t r i n g > 4 using namespace std ; 6 int main ( ) { 8 cout<<" Porownujemy obiekty typu string"<<e n d l ; 9 10 s t r i n g wyraz1, wyraz2 ; cout<<" Wpisz dwa wyrazy: " ; 1 14 c i n >>wyraz1>>wyraz2 ; 1 16 i f ( wyraz1!=wyraz2 ){ 1 cout<<" Wyrazy nie sa te same"<<e n d l ; 18 i f ( wyraz1>wyraz2 ) cout<<wyraz1<<" jest wiekszy niz "<<wyraz2<<e n d l ; 19 e l s e cout<<wyraz1<<" jest mniejszy "<<wyraz2<<e n d l ; 20 } 21 e l s e cout<<wyraz1<<" = "<<wyraz2<<e n d l ; 22 return 0 ; 2 } Rozważymy teraz trochę trudniejszy przykład, w którym pokażemy jak z wprowadzonego łańcucha znakowego można wydrukować każdy znak niezależnie i jak podmienić grupę znaków innymi znakami. W tym celu rozważmy program string.cc. 2 #include <s t r i n g > 4 using namespace std ; 6 int main ( ) { 8 s t r i n g Wyraz ; // d e k l a r a c j a obiektow, kore sa lancuchami 9 // sa p uste i c h d l u g o s c =0; cout<<" Teraz wpisz jakis wyraz"<<e n d l ; 1 cin>>wyraz ; // t u t a j z o s t a n i e o b i e k t o w i Wyraz przypisana wartosc 14 1 int dlugosc=wyraz. l e n g t h ( ) ; 16 1 cout<<"dlugosc wpisanego tekstu wynosi "<<dlugosc <<endl ; 18 19
4 20 21 char znak=wyraz [ 0 ] ; // p i e r w s z y znak wpisanego t e k s t u 22 2 cout<<" Pierwszy wpisany znak Twojego tekstu to: "<<znak<<e n d l ; 24 2 znak=wyraz [ dlugosc 1]; 26 cout<<" Ostatni znak Twojego teksu to: "<<znak<<e n d l ; cout<<endl<<endl<<"a teraz wypiszemy wszystkie znaki w Twoim tekscie"<<e n d l ; 0 1 for ( int i =0; i<dlugosc ; i ++){ 2 cout<<i <<"\t"<<wyraz [ i ]<<endl ; 4 } 6 cout<<"********************"<<endl ; cout<<" Wpisz dlugi wyraz zawierajacy slowo aku"<<e n d l ; 8 s t r i n g inny ; 9 cin>>inny ; // t e r a z zapytamy o numer znaku w ktorym z n a j d u j e s i e poszukiwany 42 // lancuch znakowy np. slowo aku 4 //W tym c e l u uruchamiamy metode f i n d ( ) 44 4 int numer=inny. f i n d ( "aku" ) ; 46 4 cout<<" lancuch znakow aku znajduje sie na "<<numer<<" miejscu"<<e n d l ; 48 cout<<"w wyrazie :"<<e n d l ; 49 cout<<inny<<endl ; 0 return 0 ; 1 } Zauważmy że nasz wyraz (łańcuch znakowy) musi być politycznie poprawny tzn. nie może zawierać spacji. Wszystko psuje się. W kolejnym przykładzie zobaczymy że jednak możemy włączyć spacje w przypadku gdzy obiektowi z klasy string przypisujemy literał znakowy. 2 #include <s t r i n g > 4 using namespace std ; 6 int main ( ) { 8 9 s t r i n g zdanie ; // przypiszemy mu l i t e r a l znakowy 10 //w przypadku podania w a r t o s c i poprzez l i t e r a l lancuch znakowy 11 //moze zawierac s p a c j e 12 1 z d a n i e=" Ma powstac tekst byle dlugi lub krotki" ; 14 cout<<zdanie<<endl ; 1 cout<<" "<<endl ; 16 cout<<" Znajdziemy w tym zdaniu slowo dlugi i zamienimy slowem jaki"<<e n d l ; 1 18 s t r i n g ZnalezioneZnaki ( "dlugi" ) ; 19 s t r i n g NoweZnaki ( "jaki " ) ; // dajemy jedna s p a c j e w i e c e j aby 20 // i c h b y l o t y l e i l e zastepowanych znakow slowa d l u g i 4
5 21 22 // bedziemy p r z e g l a d a c lancuch zdanie od p o z y c j i 0 2 // i szukac slowa d l u g i 24 2 int n = zdanie. f i n d ( ZnalezioneZnaki, 0 ) ; // zmienna n podaje p o l o z e n i e 26 2 // pojawi s i e pewna l i c z b a c a l k o w i t a 28 cout<<s t r i n g : : npos<<endl ; 29 0 //Sprawdzamy czy slowo d l u g i z o s t a l o z n a l e z i o n e 1 // i j e s l i tak to zstepujemy nowymi znakami 2 i f ( n!= s t r i n g : : npos ){ zdanie. r e p l a c e (n, NoweZnaki. s i z e ( ), NoweZnaki ) ; 4 } 6 // wydruk zdania cout<<zdanie<<endl ; 8 return 0 ; 9 } Poniżej jest źródło string.cc w którym wykorzystujemy kontenerową klasę vector do której będziemy wrzucać obiekty klasy string. Komentarze w źródle tego programu pozwolą korzystać ze składni klasy kontenerowej bez wstępnego jej omówienia. 2 #include <s t r i n g > #include <vector > // k l a s a kontenerowa 4 //do kontenera mozna wkladac o b i e k t y dowolnych k l a s // a l e w tym p r z y k l a d z i e bedziemy w k o n t e r n e r z e umieszczac 6 // t y l k o o b i e k t y k l a s y s t r i n g 8 using namespace std ; 9 10 int main ( ) { // bedziemy s k l a d a c wyrazy zdania w kontenerze zdanie 1 14 vector <s t r i n g > zdanie ; // a l o k a c j a kontenera zdanie 1 //do kontenera wrzucamy wyrazy o d d z i e l o n e s p a c j a 16 s t r i n g wyraz ; 1 cout<<" Wpisz zdanie zakonczone przez nacisniecie klawisza ENTER"<<e n d l ; 18 while ( cin>>wyraz ){ // s p a c j e o d d z i e l a j a p o s z c z e g o l n e wyrazy 19 zdanie. push back ( wyraz ) ; //metoda push back ( ) s l u z y do wkladania 20 i f ( c i n. peek()== \n ) break ; // obiektow do kontenera 21 } 22 2 cout<<" Napisane zostalo zdanie: " ; 24 2 for ( int i =0; i <zdanie. s i z e ( ) ; i ++){ 26 cout<<zdanie [ i ]<<" " ; 2 } 28 cout<<endl ; return 0 ; 2 }
6 Dla części młodego pokolenia programistów kontenery będą wygodniejsze niż stosowanie tablic. To że nie jest to trudne widać z kolejnego przykładu kontener1.cc. 1 // z d e f i n i u j e m y wlasna k l a s e 2 // k t o r e j o b i e k t y umiescimy w kontenerze 4 #include <iostream> #include <vector > // kontener v e c t o r 6 #include <c s t d l i b > 8 using namespace std ; 9 10 class Czlowiek { // d e f i n i u j e m y k l a s e Czlowiek 11 private : 12 int wiek ; 1 double waga ; 14 public : 1 Czlowiek (){} // k o n s t r u k t o r bezparametrowy 16 Czlowiek ( int w){ wiek=w; } // k o n s t r u k t o r z parametrem 1 18 void WpiszWiek ( int a ){ wiek=a ; } 19 int PodajWiek ( ) { return wiek ; } void WpiszWage ( double w){ waga=w; } 22 double PodajWage ( ) { return waga ; } 2 } ; int main ( ) { 2 28 typedef std : : vector <Czlowiek > Rodzina ; // s k l a d n i a d l a d e f i n i c j i 29 // kontenera Rodzina 0 Rodzina Kowalscy ; // pusty kontener Kowalscy 1 Rodzina Wojewodzki ; // pusty kontener Wojewodzki 2 // rodzina Kowalskich osoby 4 for ( int n=0;n<;n++){ 6 Kowalscy. push back (new Czlowiek ) ; // wkladanie obiektow do kontenera } 8 9 // rodzina Wojewodzki 2 osoby Wojewodzki. push back (new Czlowiek ( ) ) ; 42 Wojewodzki. push back (new Czlowiek ( 0 ) ) ; 4 44 double waga ; 4 46 for ( int n=0;n<kowalscy. s i z e ( ) ; n++){ // losowe p r z y p i s a n i e wagi 4 waga=random ()/(1.0+RAND MAX) ; 48 Kowalscy [ n] >WpiszWage ( waga ) ; 49 } 0 1 for ( int n=0;n<wojewodzki. s i z e ( ) ; n++){ 2 waga=random ()/(1.0+RAND MAX) ; Wojewodzki [ n] >WpiszWage ( waga ) ; 4 } 6
7 cout<<" Rodzina Kowalscy:"<<e n d l ; 6 for ( int n=0;n<kowalscy. s i z e ( ) ; n++){ cout<<kowalscy [ n] >PodajWage()<<" kg"<<e n d l ; 8 } return 0 ; 6 } Biblioteke string można też wykorzystać do kopiowania łańcuchów znakowych z pliku do innego pliku. Mozliwości te widać z kolejnego przykładu gdzie nie martwimy sie już wielkością strumienia wejściowego bo o wszystko dba biblioteka string. 1 // Inny p r z y k l a d kopiowania binarnego p l i k u na inny p l i k binarny 2 #include <iostream> 4 #include <fstream> 6 using namespace std ; 8 main ( int argc, char argv ) 9 { 10 i f ( argc!=){ 11 cout<<" Poprawny format polecenia: "<<e n d l ; 12 cout<<argv [0] <<" nazwa_pliku_do_skopiowania nazwa_nowego_pliku"<<e n d l ; 1 return 1 ; 14 } 1 16 s t r i n g l i n i a ; 1 fstream WE,WY; // kopiowanie binarne ma dodatkowo i o s : : binary 20 //Do kopiowania t e k s t u w y s t a r c z y l o b y WE. open ( argv [ 1 ], i o s : : in ) d l a c z y t a n i a z p l i k u 21 // i WY. open ( argv [ 2 ], i o s : : out ) do z a p i s u do p l i k u 22 2 WE. open ( argv [ 1 ], i o s : : in i o s : : binary ) ; 24 WY. open ( argv [ 2 ], i o s : : out i o s : : binary ) ; 2 26 i f (WE. good ( ) == f a l s e WY. good ( ) == f a l s e ) { 2 cout << "Nie moge otworzyc jednego z plikow" << endl ; 28 return ( 1 ) ; 29 } while (1){ 4 g e t l i n e (WE, l i n i a ) ; 6 i f (WE. e o f ( ) ) break ; 8 WY<<l i n i a <<endl ; 9 40 } return 0 ;
8 44 } 8
Programowanie w C++ z użyciem kontenerów - parę przykładów programów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ
programowanie w C++ dla OWK Programowanie w C++ z użyciem kontenerów - parę przykładów programów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ 1 Streszczenie W tym rozdziale podamy kilka najprostszych
Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw
Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej
2.4 Dziedziczenie. 2.4 Dziedziczenie Przykłady programowania w C - kurs podstawowy
2.4 Dziedziczenie Poprzednie dwa rozdziały które dotyczyły zagadnienia automatów komórkowych na przykładach programów w C++. Mogłyby one sugerować że niekoniecznie trzeba programować obiektowo aby napisać
Sztuczne neurony - programowanie w C++ Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ
programowanie w C++ dla OWK Sztuczne neurony - programowanie w C++ Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ 1 Streszczenie Dyskusja o stworzeniu sztucznego mózgu zawsze powoduje duże emocje. Pierwszy
Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.
M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza
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
Programowanie i struktury danych
Programowanie i struktury danych 1 / 30 STL Standard Template Library, STL (ang. = Standardowa Biblioteka Wzorców) biblioteka C++ zawierająca szablony (wzorce), które umożliwiają wielokrotne użycie. Główne
Języki programowania obiektowego Nieobiektowe elementy języka C++
Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Przetwarzanie tablic znaków Łańcuchy znakowe jako tablice znaków
Programowanie w C++ - wybrane przykłady szablonów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ
programowanie w C++ dla OWK Programowanie w C++ - wybrane przykłady szablonów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ 1 Streszczenie W tym rozdziale podamy kilka najprostszych przykładów programów
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
M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część siódma Przetwarzanie tablic znaków Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
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
Projektowanie klas c.d. Projektowanie klas przykład
Projektowanie klas c.d. ogólne wskazówki dotyczące projektowania klas: o wyodrębnienie klasy odpowiedź na potrzeby życia (obsługa rozwiązania konkretnego problemu) o zwykle nie uda się utworzyć idealnej
Języki programowania. Przetwarzanie tablic znaków. Część druga. Autorzy Tomasz Xięski Roman Simiński
Języki programowania Część druga Przetwarzanie tablic znaków Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego w nim
Podstawy programowania
Podstawy programowania Część siódma Przetwarzanie tablic znaków Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze opracowanie zawiera skrót treści wykładu,
DANE TEKSTOWE W JĘZYKU C/C++ - TABLICE ZNAKOWE
DANE TEKSTOWE W JĘZYKU C/C++ - TABLICE ZNAKOWE Stała tekstowa / łańcuchowa jest tablicą znaków zakończoną znakiem o kodzie: 0 np. stała łańcuchowa: Jestem tekstem ASCII... J e s t e m t e k s t e m \0...
Pytania sprawdzające wiedzę z programowania C++
Pytania sprawdzające wiedzę z programowania C++ Wstęp 1. Zaprezentuj mechanikę tworzenia programu napisanego w języku C++. 2. Co to jest kompilacja? 3. Co to jest konsolidacja? 4. Co to jest kod wykonywalny?
Wstęp do programowania
wykład 8 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2016/2017 Tablice wielowymiarowe inaczej Efekt tablicy wielowymiarowej można uzyskać definiując tablicę jednowymiarową odpowiedniego
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji
Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119
Tablice Tablica to struktura danych, która może przechowywać wiele wartości tego samego typu. Na przykład tablica może zawierać: 10 wartości typu int opisujących liczbę studentów przyjętych na kierunek
wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Historia C++ został zaprojektowany w 1979 przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i
KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
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,
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy
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
Języki i metodyka programowania. Wprowadzenie do języka C
Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia
Podstawy Programowania
Podstawy Programowania dr Elżbieta Gawrońska gawronska@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej dr Elżbieta Gawrońska (ICIS) Podstawy Programowania 05 1 / 15 Plan wykładu 1 Biblioteka
TEMAT : KLASY POLIMORFIZM
TEMAT : KLASY POLIMORFIZM 1. Wprowadzenie do polimorfizmu i funkcji wirtualnych w języku C++ Język C++ zakłada, że w pewnych przypadkach uzasadnione jest tworzenie klas, których reprezentanci w programie
wykład V uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C++ klasy i obiekty wykład V dr Jarosław Mederski Spis Język C++ - klasy
i obiekty Programowanie i obiekty uzupełnienie notatek: dr Jerzy Białkowski i obiekty 1 2 3 4 i obiekty Obiektowość języka C++ Na tym wykładzie poznamy: ˆ Klasa (w języku C++ rozszerzenie struktury, typ
Wstęp do programowania
wykład 6 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji
dr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2011/2012 Pracownia nr 9 (20.01.2012) dr inż. Jarosław Forenc Rok
Część 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej
Laboratorium 1 - Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Punkty Na laboratorium można zdobyć 60 punktów. Ocena ogólna z zajęć:
Wstęp do programowania. Wykład 1
Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.
Laboratorium 1 - Programowanie proceduralne i obiektowe
Laboratorium 1 - Programowanie proceduralne i obiektowe mgr inż. Kajetan Kurus 4 marca 2014 1 Podstawy teoretyczne 1. Programowanie proceduralne (powtórzenie z poprzedniego semestru) (a) Czym się charakteryzuje?
KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Aby uzyskać zaliczenie w pierwszym terminie (do 30 stycznia 2018) rozliczyć trzeba co najmniej 8 projektów, po 4 z każdej z części: C++ oraz Python.
Aby uzyskać zaliczenie w pierwszym terminie (do 30 stycznia 2018) rozliczyć trzeba co najmniej 8 projektów, po 4 z każdej z części: C++ oraz Python. Pliki z rozwiązaniami projektu (wszystkie polecenia
Programowanie w C++ Wykład 8. Katarzyna Grzelak. 7 maja K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31
Programowanie w C++ Wykład 8 Katarzyna Grzelak 7 maja 2018 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31 STL - powtórzenie STL Standard Template Libarary standardowa biblioteka szablonów Składowe biblioteki:
Dla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.
Przygotować program tworzący tablicę dwuwymiarową zawierającą zestawy 10 2, 10 4, 10 6 liczb losowych zmiennoprzecinkowych. Korzystając z funkcji bibliotecznych uporządkować zawartość każdego (a) wiersza
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)
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.
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;
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
// Potrzebne do memset oraz memcpy, czyli kopiowania bloków
ZAWARTOŚCI 3 PLIKOW W WORDZIE: MAIN.CPP: #include #include #include pamięci // Potrzebne do memset oraz memcpy, czyli kopiowania bloków #include "Rysowanie_BMP.h" using
Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Programowanie obiektowe i C++ dla matematyków
Programowanie obiektowe i C++ dla matematyków Bartosz Szreder szreder (at) mimuw... 10 I 2012 1 Zabronienie kopiowania Czasami nie ma sensu, żeby obiekty pewnego typu były kopiowane z innych obiektów.
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 1 Podstawy programowania dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Ramowy program warsztatów 1. Pierwsze: Podstawy programowania 2. Drugie:
Zasady programowania Dokumentacja
Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika
ŁAŃCUCHY W JĘZYKU C/C++
ŁAŃCUCHY W JĘZYKU C/C++ Stała tekstowa / łańcuchowa jest tablicą znaków zakończoną znakiem o kodzie: 0 np. stała łańcuchowa: Jestem tekstem... 74 101 115 116 101 109 32 116 101 107 115 116 101 109 0......
Program 22. #include <iostream> using namespace std; struct Osoba { string Imie; string Nazwisko; char Plec; int RokUr; };
Program 22 Zadeklarować strukturę Osoba przechowującą dane osoby: imię, nazwisko (ciągi znaków), płeć (pojedynczy znak) oraz rok urodzenia (liczba całkowita). Napisać następujące funkcje: funkcje pobierającą
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,
Programowanie w C++ Wykład 6. Katarzyna Grzelak. kwiecień K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40
Programowanie w C++ Wykład 6 Katarzyna Grzelak kwiecień 2019 K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40 STL - powtórzenie STL Standard Template Libarary standardowa biblioteka szablonów Składowe biblioteki:
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 5 1 SPECYFIKATOR const Specyfikator (przydomek) const: Umieszczenie przed nazwą zmiennej specyfikatora const w jej definicji informuje kompilator,
I - Microsoft Visual Studio C++
I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i
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
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:
Wskaźniki są nieodłącznym elementem języka C. W języku C++ także są przydatne i korzystanie z nich ułatwia pracę, jednak w odróżnieniu do C wiele rzeczy da się osiągnąć bez ich użycia. Poprawne operowanie
Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Tablica znaków w językach C i C++ (oraz pochodnych) łańcuch znaków przechowywany jest jako
Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz
Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres Funkcje przetwarzające teksty (biblioteka ) - tworzenie własnych
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
Podstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:
Ćwiczenie nr 6 Temat: Operacje na łańcuchach znaków. Zagadnienia: Zasady pracy z łańcuchami tekstowymi (tablice wartości typu char). funkcje standardowe operacji na łańcuchach, funkcje I/O dla operacji
Wstęp do programowania
wykład 7 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Napisy w stylu C (tablice znaków) Łańcuch to ciąg znaków przechowywanych w kolejnych bajtach. Łańcuchy reprezentują napisy.
Wstęp do programowania
wykład 7 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Tablice wielowymiarowe Tablice wielowymiarowe, podobnie jak jednowymiarowe, przechowują wartości tego samego typu. Przykłady:
Tablice, funkcje - wprowadzenie
Tablice, funkcje - wprowadzenie Przemysław Gawroński D-10, p. 234 Wykład 5 25 marca 2019 (Wykład 5) Tablice, funkcje - wprowadzenie 25 marca 2019 1 / 12 Outline 1 Tablice jednowymiarowe 2 Funkcje (Wykład
dr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013 Wykład nr 6 (07.12.2012) dr inż. Jarosław Forenc Rok
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
Kurs programowania. Wykład 9. Wojciech Macyna
Wykład 9 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa zbiór, lista czy
Programowanie komputerowe. Zajęcia 1
Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program
Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły
STL: Lekcja 1&2. Filozofia STL
STL: Lekcja 1&2 Tematy: Filozofia STL Po co nam STL? Podstawowa zawartość STL Co warto znać zanim zaczniemy pracę z STL?: wskaźniki Praca na tekstach: klasa String Vector: nowy wymiar standardowych tablic.
Struktura pliku projektu Console Application
Struktura pliku projektu Console Application #include #include using namespace std; int main(int argc, char *argv[]) // to jest komentarz system("pause"); return EXIT_SUCCESS; Na początku
Zajęcia 6 wskaźniki i tablice dynamiczne
Zajęcia 6 wskaźniki i tablice dynamiczne 1. Napisz funkcję void zamien(int *a, int *b), która otrzymuje wskaźniki dwóch zmiennych typu całkowitego, a następnie dokonuje zamiany wartości wskazywanych zmiennych.
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
Szablon klasy std::vector
Szablon klasy std::vector Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat
Paradygmaty programowania
Paradygmaty programowania Programowanie generyczne w C++ Dr inż. Andrzej Grosser Cz estochowa, 2016 2 Spis treści 1. Zadanie 3 5 1.1. Wprowadzenie.................................. 5 1.2. Obiekty funkcyjne................................
Wprowadzenie do programowania i programowanie obiektowe
Wprowadzenie do programowania i programowanie obiektowe Wirtotechnologia Zajęcia nr 10 autor: Grzegorz Smyk Wydział Odlewnictwa Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza
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:
Wstęp do programowania
wykład 3 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Instrukcja wielokrotnego wyboru Instrukcja wielokrotnego wyboru switch umożliwia podejmowanie decyzji na podstawie wartości
public: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje
Zbudujemy klasę Definicję klasy zapiszmy w pliku tstring.h #ifndef TSTRING_H #define TSTRING_H #include // w pliku nagłówkowym NIE // otwieramy przestrzeni std // interfejs private: // implementacja
e-learning: Automaty komórkowe
0.1 Jednowymiarowe automaty komórkowe Przykłady programowania w C++ e-learning: Automaty komórkowe Mirosław Dudek dla Otwartych Warsztatów Komputerowych Streszczenie Celem tego krótkiego kursu jest pokazanie
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 2 Stałe całkowite inne niż dziesiętne Stałe ósemkowe Stałe szesnastkowe Aby wskazać czy dane maj a
ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje
Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych
obiekty funkcyjne - funktory
#include #include #include #include #include #include #include #include #include #include using namespace
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 8 Przykład realizowany na wykładzie Klasy StringBad i String. Wstępne pliki załaczone jako źródła.
Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()
Wprowadzenie do języka Java
WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.
Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej
Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, rok
Microsoft IT Academy kurs programowania
Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego
Wstęp do programowania. Dariusz Wardecki, wyk. X
Wstęp do programowania Dariusz Wardecki, wyk. X Na czym polega przeciążanie operatorów Zamiast podawaê nazwí metody, moøna jπ oznaczyê z pomocπ symbolu operatora. Wtedy liczba argumentów metody zaleøy
void Pobierz(Student &a); void Wypisz(Student a); void Ustaw_zaliczenia(Student t[],int r); void Wypisz_najlepszych(Student t[],int r, float prog);
Program 19 Zadeklarować strukturę Student o polach: Imie, Nazwisko (ciągi znaków), Oceny (pięcioelementowa tablica wartości rzeczywistych reprezentujących oceny studenta) i Semestr_zaliczony (wartość logiczna
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
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