Podstawy programowania w języku C++
|
|
- Ewa Stachowiak
- 9 lat temu
- Przeglądów:
Transkrypt
1 Podstawy programowania w języku C++ Część trzynasta Tablice struktur, pliki struktur Autor Roman Simiński Kontakt roman.siminski@us.edu.pl Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego w nim uczestnictwa. Opracowanie to jest chronione prawem autorskim. Wykorzystywanie jakiegokolwiek fragmentu w celach innych niż nauka własna jest nielegalne. Dystrybuowanie tego opracowania lub jakiejkolwiek jego części oraz wykorzystywanie zarobkowe bez zgody autora jest zabronione.
2 System ewidencji pojazdów dla autokomisu Jakich danych potrzebujemy? Obiekty rzeczywiste Analityk i/lub projektant systemu informatycznego Copyright Roman Simiński Strona : 2
3 Jakie informacje będziemy przetwarzać i przechowywać? Obiekty rzeczywiste Dane Marka Model Rok produkcji Cena Przebieg Nr rejestracyjny Analityk i/lub projektant systemu informatycznego Copyright Roman Simiński Strona : 3
4 Dane opisują jeden pojazd Dane Marka Model Rok produkcji Cena Przebieg Nr rejestracyjny Dane opisujące jeden pojazd to porcja różnych informacji Analityk i/lub projektant systemu informatycznego Copyright Roman Simiński Strona : 4
5 Pojazdów jest wiele... Dane Marka Model Rok produkcji Cena Przebieg Nr rejestracyjny Dane Marka Model Rok produkcji Cena Przebieg Nr rejestracyjny Dane Marka Model Rok produkcji Cena Przebieg Nr rejestracyjny Potrzeba wiele porcji danych. Każda z porcji jest złożona i zawiera różne dane opisujące pojazd. Dane Marka Model Rok produkcji Cena Przebieg Nr rejestracyjny Dane Marka Model Rok produkcji Cena Przebieg Nr rejestracyjny Dane Marka Model Rok produkcji Cena Przebieg Nr rejestracyjny Copyright Roman Simiński Strona : 5
6 Definicja typu strukturalnego raz jeszcze /* Maksymalna dlugosc pol marka i model */ #define MAKS_M 20 /* Maksymalna dlugosc pola numeru rejestracyjnego */ #define MAKS_R 10 /* Deklaracja typu strukturalnego, opisu informacji o pojezdzie */ struct _pojazd char marka[ MAKS_M ]; char model[ MAKS_M ]; short int rok_prod; float cena; float przebieg; char nr_rej[ MAKS_R ]; ; typedef struct _pojazd pojazd; Typ short int jest reprezentowany w postaci 16-to bitowej liczby ze znakiem zarówno w kompilatorach 16-to jak i 32-u bitowych. Taka deklaracja poprawi przenośność kodu programu oraz pliku z danymi. Copyright Roman Simiński Strona : 6
7 Potrzebujemy funkcji do odczytu/zapisu rekordu z stdio pojazd a; /* Przykladowe dane */ strcpy( a.marka, Honda ); strcpy( a.model, Accord ); a.rok_prod = 2006; a.przebieg = ; a.cena = 45000; strcpy( a.nr_rej, S1 XXXX ); pokaz_info( &a ); pojazd a; czytaj_info( &a );... if( zmiana_rocznika ) /* Zmniejsz cene o 10% */ a.cena -= a.cena * 0.9; pokaz_info( &a ); Copyright Roman Simiński Strona : 7
8 Funkcja wczytująca zawartość struktury z stdin void czytaj_info( pojazd * info ) char bufor[ 128 ]; printf( "\nmarka: " ); gets( bufor ); if( strlen( bufor ) >= MAKS_M ) bufor[ MAKS_M - 1 ] = '\0'; strcpy( info->marka, bufor ); printf( "Model: " ); gets( bufor ); if( strlen( bufor ) >= MAKS_M ) bufor[ MAKS_M - 1 ] = '\0'; strcpy( info->model, bufor ); printf( "Rok produkcji: " ); gets( bufor ); info->rok_prod = atoi( bufor ); printf( "Cena: " ); gets( bufor ); info->cena = atof( bufor ); printf( "Przebieg: " ); gets( bufor ); info->przebieg = atof( bufor ); printf( "Numer rejestracyjny: " ); gets( bufor ); if( strlen( bufor ) >= MAKS_R ) bufor[ MAKS_R - 1 ] = '\0'; strcpy( info->nr_rej, bufor ); Copyright Roman Simiński Strona : 8
9 Funkcja wyprowadzająca zawartość struktury do stdout void pokaz_info( pojazd * info ) printf( \nmarka: %s, info->marka ); printf( \nmodel: %s, info->model ); printf( \nrok produkcji: %d, info->rok_prod ); printf( \ncena: %g, info->cena ); printf( \nprzebieg: %g, info->przebieg ); printf( \nnr rejestracyjny: %s, info->nr_rej ); ` Copyright Roman Simiński Strona : 9
10 Zapis blokowy struktury do pliku pojazd a; FILE * f; czytaj_info( &a ); if( ( f = fopen( pojazdy.dat, wb ) )!= NULL ) fwrite( &a, sizeof( pojazd ), 1, f ); marka model rok_prod cena Mazda fclose( f ); przebieg nr_rej KTA1234 a fwrite( &a, sizeof( pojazd ), 1, plik ); Copyright Roman Simiński Strona : 10
11 Odczyt blokowy struktury z pliku pojazd a; FILE * f; if( ( f = fopen( pojazdy.dat, rb ) )!= NULL ) fread( &a, sizeof( pojazd ), 1, f ); marka model Mazda 626 pokaz_info( &a ); rok_prod cena fclose( f ); przebieg nr_rej KTA1234 a fread( &a, sizeof( pojazd ), 1, plik ); Copyright Roman Simiński Strona : 11
12 Odczyt struktury z pliku wykorzystanie funkcji int info_z_pliku( pojazd * info, FILE * file ) return ( fread( info, sizeof( pojazd ), 1, file ) == 1 );... if( ( f = fopen( auta.dat, rb ) )!= NULL ) if( info_z_pliku( &a, f ) ) pokaz_info( &a ); else printf( Blad odczytu danych ); fclose( f ); Copyright Roman Simiński Strona : 12
13 Zapis struktury do pliku wykorzystanie funkcji int info_do_pliku( pojazd * info, FILE * file ) return ( fwrite( info, sizeof( pojazd ), 1, file ) == 1 );... czytaj_info( &a ); if( ( f = fopen( auta.dat, wb ) )!= NULL ) if( info_do_pliku( &a, f ) ) printf( Dane zapisane poprawnie ); else printf( Blad zapisu danych ); fclose( f ); Copyright Roman Simiński Strona : 13
14 Tablica struktur pseudotabela z danymi /* Maksymalna liczba ewidencjonowanych pojazdow */ #define MAKS_P 200 /* Tablica struktur opisujacych pojazdy */ pojazd pojazdy[ MAKS_P ]; Typ elementów tablicy Maks. liczba elementów tablicy pojazd pojazdy [ MAKS_P ]; MAKS_P - 2 MAKS_P - 1 Tablica struktur Copyright Roman Simiński Strona : 14
15 Tablica struktur jak odwoływać się do pól struktur w tablicy? /* Maksymalna liczba ewidencjonowanych pojazdow */ #define MAKS_P 200 /* Tablica struktur opisujacych pojazdy */ pojazd pojazdy[ MAKS_P ]; pojazdy[ 0 ].przebieg = ; strcpy( pojazdy[ 0 ].marka, Mazda ); Mazda MAKS_P - 2 MAKS_P - 1 Tablica struktur Copyright Roman Simiński Strona : 15
16 Tablica struktur pusty magazyn na dane o pojazdach /* Maksymalna liczba ewidencjonowanych pojazdow */ #define MAKS_P 200 /* Tablica struktur opisujacych pojazdy */ pojazd pojazdy[ MAKS_P ]; /* Aktualna liczba ewidencjonowanych pojazdow, domyślnie zerowana */ short int lb_pojazdow = 0; /* Nazwa pliku danych ewidencji pojazdow */ const char nazwa_pliku[] = "pojazdy.dat"; lb_pojazdow 0 W sensie logicznym tabela jest pusta pojazdy MAKS_P - 2 MAKS_P - 1 Copyright Roman Simiński Strona : 16
17 Tablica struktur dopisanie rekordu do ewidencji... czytaj_info( &pojazdy[ lb_pojazdow ] ); lb_pojazdow++;... lub... czytaj_info( &pojazdy[ lb_pojazdow++ ] );... lb_pojazdow 1 Pierwszy wolny rekord pojazdy Mazda MAKS_P - 2 MAKS_P - 1 Copyright Roman Simiński Strona : 17
18 Tablica struktur dopisywanie kolejnych rekordów do ewidencji void dopisz_pojazd( void ) int jeszcze_jeden; /* Czy wczytac dane nastepnego pojazdu? */ if( lb_pojazdow < MAKS_P ) /* Czy jest miejsce w tablicy? */ do czytaj_info( &pojazdy[ lb_pojazdow ] ); lb_pojazdow++; printf( "\nczy wprowadzasz nastepny pojazd? (t/n): " ); jeszcze_jeden = ( tolower( getchar() ) == 't' ); fflush( stdin ); while( jeszcze_jeden && lb_pojazdow < MAKS_P ); if( lb_pojazdow == MAKS_P ) /* Czy wyczerpano miejsce w tablicy? */ printf( "\newidencja pelna!" ); Copyright Roman Simiński Strona : 18
19 Tablica struktur wypisywanie kolejnych rekordów z ewidencji void pokaz_pojazdy( void ) int nr; if( lb_pojazdow == 0 ) printf( "\newidencja jest pusta." ); for( nr = 0; nr < lb_pojazdow; nr++ ) printf( "\ndane pojazdu nr: %d\n", nr + 1 ); pokaz_info( &pojazdy[ nr ] ); if( nr < lb_pojazdow - 1 ) printf( "\n\n[enter] = Nastepny pojazd >>" ); else printf( "\n\n[enter] = Zakoncz przeglad" ); ( void )getchar(); fflush( stdin ); Copyright Roman Simiński Strona : 19
20 Tablica struktur zapis z tablicy do pliku Program lb_pojazdow 3 Pierwszy wolny rekord pojazdy Mazda 626 Honda Accord Volvo V MAKS_P - 2 MAKS_P - 1 Zapis liczby pojazdów: 1-en blok o rozmiarze sizeof( lb_pojazdow ), spod adresu &lb_pojazdow Zapis info o pojazdach: tyle bloków o rozmiarze sizeof( pojazd ) ile wynosi lb_pojazdow, spod adresu pojazdy Copyright Roman Simiński Strona : 20
21 Struktura pliku ewidencji pojazdów Fizycznie 3 Mazda 626 Honda Accord Volvo V40 EOF Logicznie Liczba rekordów 3 rekordy opisu pojazdów Copyright Roman Simiński Strona : 21
22 Tablica struktur zapis liczby pojazdów Program lb_pojazdow 3 Pierwszy wolny rekord pojazdy Mazda 626 Honda Accord Volvo V MAKS_P - 2 MAKS_P - 1 fwrite( &lb_pojazdow, sizeof( lb_pojazdow ), 1, plik ); Copyright Roman Simiński Strona : 22
23 Tablica struktur zapis rekordów z danymi pojazdów Program lb_pojazdow 3 Pierwszy wolny rekord pojazdy Mazda 626 Honda Accord Volvo V MAKS_P - 2 MAKS_P - 1 fwrite( pojazdy, sizeof( pojazd ), lb_pojazdow, plik ); Copyright Roman Simiński Strona : 23
24 Tablica struktur zapis rekordów z kontrolą poprawności int n; n = fwrite( &lb_pojazdow, sizeof( lb_pojazdow ), 1, plik ); if( n!= 1 ) printf( "\nblad zapisu pliku ewidencji pojazdow." ); Liczba zapisanych bloków jest if( lb_pojazdow > 0 ) niezgodna n = fwrite( pojazdy, sizeof( pojazd ), lb_pojazdow, plik ); if( n!= lb_pojazdow ) printf( "\nblad w pliku ewidencji pojazdow." ); Copyright Roman Simiński Strona : 24
25 Tablica struktur zapis z wykorzystaniem funkcji void z_tablicy_do_pliku( void ) FILE * plik; printf( "\nzapisywanie ewidencji..." ); if( ( plik = fopen( nazwa_pliku, "wb" ) ) == NULL ) printf( " blad aktualizacji pliku." ); else Zapis liczby pojazdów w ewidencji int n; n = fwrite( &lb_pojazdow, sizeof( lb_pojazdow ), 1, plik ); if( n!= 1 ) printf( "\nblad zapisu pliku ewidencji pojazdow." ); if( lb_pojazdow > 0 ) n = fwrite( pojazdy, sizeof( pojazd ), lb_pojazdow, plik ); if( n!= lb_pojazdow ) printf( "\nblad w pliku ewidencji pojazdow." ); fclose( plik ); Zapis blokowy rekordów z tablicy Copyright Roman Simiński Strona : 25
26 Tablica struktur odczyt liczby pojazdów z pliku lb_pojazdow 3 Tyle rekordów należy odczytać Program pojazdy MAKS_P - 2 MAKS_P - 1 fread( &lb_pojazdow, sizeof( lb_pojazdow ), 1, plik ); Copyright Roman Simiński Strona : 26
27 Tablica struktur odczyt danych z pliku, do rekordów w tablicy Program lb_pojazdow 3 Pierwszy wolny rekord pojazdy Mazda 626 Honda Accord Volvo V MAKS_P - 2 MAKS_P - 1 fread( pojazdy, sizeof( pojazd ), lb_pojazdow, plik ); Copyright Roman Simiński Strona : 27
28 Tablica struktur odczyt z wykorzystaniem funkcji void z_pliku_do_tablicy( void ) FILE * plik; printf( "\nladowanie ewidencji..." ); if( ( plik = fopen( nazwa_pliku, "rb" ) ) == NULL ) printf( "plik ewidencji pojazdow nie istnieje." ); else Odczyt liczby pojazdów w ewidencji int n; n = fread( &lb_pojazdow, sizeof( lb_pojazdow ), 1, plik ); if( n!= 1 ) printf( "\nblad w pliku ewidencji pojazdow." ); n = fread( pojazdy, sizeof( pojazd ), lb_pojazdow, plik ); if( n!= lb_pojazdow ) printf( "\nblad w pliku ewidencji pojazdow." ); fclose( plik ); Odczyt blokowy rekordów z pliku Copyright Roman Simiński Strona : 28
Języki programowania. Tablice struktur, pliki struktur. Część ósma. Autorzy Tomasz Xięski Roman Simiński
Języki programowania Część ósma Tablice struktur, pliki struktur 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
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziesiąta Rekordy w C/C++ struktury Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze opracowanie zawiera skrót
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziesiąta Rekordy w C/C++ struktury Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część jedenasta Przetwarzanie plików amorficznych Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
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
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,
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
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
Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim
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,
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
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
wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,
, Programowanie, uzupełnienie notatek: dr Jerzy Białkowski , 1 2 3 4 , Wczytywanie liczb , Wczytywanie liczb 1 #include 2 #include < s t d l i b. h> 3 4 int main ( ) { 5 int rozmiar, numer
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziewiąta Tablice a zmienne wskaźnikowe Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Wprowadzenie do programowania w języku C
Wprowadzenie do programowania w języku C Część druga Instrukcje sterujące przebiegiem programu Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót
Programowanie w języku C++
Programowanie w języku C++ Część dziewiąta Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi
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()
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
Wprowadzenie do programowania w języku C
Wprowadzenie do programowania w języku C Część piąta Tablice koncepcja, reprezentacja, przetwarzanie Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część jedenasta Reprezentacja i przetwarzanie plików Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików
Plik to uporządkowany ciąg danych Dostęp do danych w pliku jest sekwencyjny, tj. istnieje pojęcie elementu aktualnego (tzw. wskaźnika pliku). Możliwy dostęp do danych w pliku jest tylko tam, gdzie wskazuje
Programowanie w języku C++
Programowanie w języku C++ Część siódma Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi
Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1
Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
Podstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Tablice deklaracja, reprezentacja wewnętrzna
Tablice deklaracja, reprezentacja wewnętrzna Tablica jest zmienną złożoną z elementów tego samego typu. Obejmuje ona ciągły obszar pamięci operacyjnej dokładnie tak duży, aby zmieścić wszystkie jej elementy.
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ę
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część jedenasta Reprezentacja i przetwarzanie plików Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze
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
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
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
Podstawy programowania
Podstawy programowania Część ósma Tablice znaków i przetwarzanie napisów Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura
Struktury czyli rekordy w C/C++
Struktury czyli rekordy w C/C++ Wprowadzenie do programowania w języku C struktury. pola bitowe, unie Struktury (rekordy) są złożonymi zmiennymi, składającymi się z elementów różnych typów zwanych polami,
۰ Elementem jednostkowym takiego pliku jest bajt. ۰ Format pliku binarnego: [bajty pliku][eof]
1 Plik jest wydzielonym fragmentem pamięci (najczęściej dyskowej) posiadającym nazwę. Z punktu widzenia C plik jest ciągiem bajtów, z których każdy może zostać oddzielnie odczytany. Zgodnie ze standardem
ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików
Plik to uporządkowany ciąg danych Dostęp do danych w pliku jest sekwencyjny, tj. istnieje pojęcie elementu aktualnego (tzw. wskaźnika pliku). Możliwy dostęp do danych w pliku jest tylko tam, gdzie wskazuje
Formatowane (tekstowe) wejście/wyjście. Binarne wejście/wyjście.
Formatowane (tekstowe) wejście/wyjście. Binarne wejście/wyjście. wer. 10 z drobnymi modyfikacjami! Wojciech Myszka 2018-03-27 09:06:38 +0200 Część I Formatowane (tekstowe) wejście/wyjście Otwarcie pliku
Strumienie i pliki. Programowanie Proceduralne 1
Strumienie i pliki. Programowanie Proceduralne 1 Ogólnie o plikach Plik - ciąg bajtów o skończonej długości Nawa pliku nie stanowi jego części Położenie pliku określone przez ścieżkę dostępu Pliki są opatrzone
Programowanie w językach wysokiego poziomu
Programowanie w językach wysokiego poziomu zajęcia nr 2 Elektronika i Telekomunikacja, semestr III rok akademicki 2014/2015 Plan dzisiejszych zajęć Pliki tekstowe 1. Operacje na plikach - wprowadzenie
Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Wskaźniki. Programowanie Proceduralne 1
Wskaźniki Programowanie Proceduralne 1 Adresy zmiennych Sterta 1 #include 2 3 int a = 2 ; 4 5 int main ( ) 6 { 7 int b = 3 ; 8 9 printf ( " adres zmiennej a %p\n", &a ) ; 10 printf ( " adres
Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.
Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 4 Obsługa plików Kraków 2010 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim
Wprowadzenie do programowania w języku C
Wprowadzenie do programowania w języku C Część trzecia Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów
Wskaźniki do funkcji. Wykład 11. Podstawy programowania ( język C ) Wskaźniki do funkcji (1) Wskaźniki do funkcji (2)
Podstawy programowania ( język C ) Wskaźniki do funkcji Wykład 11. Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Wskaźniki do funkcji (1) W języku C funkcje nie są zmiennymi, ale
PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki <stdio.h>
PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki Pliki TEKSTOWE zawierające ciągi liczb: TXT- 1: Kalkulator sumowanie dwóch liczb zapisanych w pliku tekstowym ( fopen, fscanf, fprintf,
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski
Plik jest reprezentowany przez strumień znaków (bajtów) o zmiennej długości. Koniec strumienia identyfikowany jest znacznikiem końca pliku EOF.
Pliki w C++ Plik jest reprezentowany przez strumień znaków (bajtów) o zmiennej długości. Koniec strumienia identyfikowany jest znacznikiem końca pliku EOF. Z każdym strumieniem związany jest wskaźnik bieżącej
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
Wprowadzenie do programowania w języku C
Wprowadzenie do programowania w języku C Część szósta Zmienne wskaźnikowe koncepcja, zastosowania, sztuczki i triki Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
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++
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
Podstawy programowania 1
Podstawy programowania 1 Krzysztof Grudzień kgrudzi@kis.p.lodz.pl Wykład nr 2 1 Plan spotkań Wskaźniki Tablice jednowymiarowe & wska źniki. Programowanie w C. Wikibooks 2 Co to jest wskaźnik?? Wskaźnik
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,
Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi.
Przykład: $ ls more Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi. Tworzenie łącza #include int pipe(int filedes[2]); Przykład: int
WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5
WYKŁAD 10 Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5 Tomasz Zieliński ZMIENNE O ZŁOŻONEJ BUDOWIE (1) Zmienne
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
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. Może posiadać określone atrybuty, a odwołanie do niego odbywa się poprzez nazwę. Każdy plik ma skończoną
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziewiąta Tablice a zmienne wskaźnikowe Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści
MATERIAŁY POMOCNICZE PODSTAWY PROGRAMOWANIA Na podstawie: Programowanie w C - Stworzone na Wikibooks, bibliotece wolny podręczników
MATERIAŁY POMOCNICZE PODSTAWY PROGRAMOWANIA Na podstawie: Programowanie w C - Stworzone na Wikibooks, bibliotece wolny podręczników Funkcja getchar() Jest to bardzo prosta funkcja, wczytująca 1 znak z
W języku C każdy plik fizyczny jest ciągiem bajtów, z których każdy może być niezależnie odczytany. Borland 01234
Dr inż. Robert Wójcik Zakład Podstaw Informatyki i Teleinformatyki Instytut Cybernetyki Technicznej, Politechnika Wrocławska Wykład 15 15. Obsługa plików 15.1. Pliki tekstowe i binarne 15.2. Standardowa
Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411b Plan wykładu Operacje wejścia-wyjścia Dostęp do plików Struktury
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
Programowanie Proceduralne
Programowanie Proceduralne Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 7 strlen size_t strlen(char const *s); Oblicza długość napisu wskazywanego przez s Przykładowy
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
Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe
Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)
Programowanie Proceduralne
Programowanie Proceduralne Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Co dziś będzie: Definiowanie struktury Deklarowanie zmiennych bȩda cych strukturami
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 1
Wstęp do programowania 1 Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Struktura dla dat - przykład #include struct Date { int y; short m; short
Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego
Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego 1 /24 Pisanie pojedynczych znaków z klawiatury do pliku #include void main(void) { FILE *fptr; // wkaznik do pliku, tzw. uchwyt
Wprowadzenie do programowanie obiektowego w języku C++
Wprowadzenie do programowanie obiektowego w języku C++ Część czwarta Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura
Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1
Tablice i struktury czyli złożone typy danych. Programowanie Proceduralne 1 Tablica przechowuje elementy tego samego typu struktura jednorodna, homogeniczna Elementy identyfikowane liczbami (indeksem).
Struktury - wprowadzenie
Struktury - wprowadzenie Przemysław Gawroński D-10, p. 234 Wykład 6 5 kwietnia 2019 (Wykład 6) Struktury - wprowadzenie 5 kwietnia 2019 1 / 12 Outline 1 Struktury (Wykład 6) Struktury - wprowadzenie 5
Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1 Pętle Pętla jest konstrukcją sterującą stosowaną w celu wielokrotnego wykonania tego samego zestawu instrukcji jednokrotne
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziewiąta Tablice a zmienne wskaźnikowe Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze opracowanie zawiera
PODSTAW PROGRAMOWANIA WYKŁAD 7 ŁAŃCUCHY
PODSTAW PROGRAMOWANIA WYKŁAD 7 ŁAŃCUCHY Łańcuch tekstowy w języku c jest pamiętany jako jednowymiarowa tablica znaków zakończona bajtem 0. char * tekst = dzień dobry wszystkim ; char tekst[22]= dzień dobry
Programowanie strukturalne i obiektowe
Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie
Łańcuchy znaków. Agnieszka Nowak - Brzezińska
Łańcuchy znaków Agnieszka Nowak - Brzezińska Warto najpierw zajrzeć http://gpl.ii.us.edu.pl/~romex/pp_cxx/pp_cxx_w_07.pdf Wszystkie funkcje są omówione w wykładzie! Etap I Napisz program w całości na tablicach
Co nie powinno być umieszczane w plikach nagłówkowych:
Zawartość plików nagłówkowych (*.h) : #include #define ESC 27 dyrektywy dołączenia definicje stałych #define MAX(x,y) ((x)>(y)?(x):(y)) definicje makr int menu(char* tab[], int ilosc); struct
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
Tablice w argumentach funkcji. Tablicy nie są przekazywane po wartości Tablicy są przekazywane przez referencje lub po wskaźniku
Tablice w argumentach funkcji Tablicy nie są przekazywane po wartości Tablicy są przekazywane przez referencje lub po wskaźniku Przykład: char str[] = abcdef ;... fun(str); // argument faktyczny to id
Program wykonujący operację na plikach powinien zachować schemat działania zapewniający poprawną pracę:
Rozdział 1 Obsługa plików W językach C pliki powiązane są ze strumieniami i pracuje się na nich podobnie jak na innych strumieniach. W języku C do operacji na plikach służą funkcje z biblioteki stdio.h,
Funkcja (podprogram) void
Funkcje Co to jest funkcja? Budowa funkcji Deklaracja, definicja i wywołanie funkcji Przykłady funkcji definiowanych przez programistę Przekazywanie argumentów do funkcji Tablica jako argument funkcji
Struktury. Przykład W8_1
Struktury Struktury pozwalają na grupowanie zmiennych różnych typów pod wspólną nazwą. To istotnie ułatwia organizacje danych, które okazują się w jednym miejscu kodu programu. To jest bardzo ważne dla
Temat: Operacje na plikach. Pliki tekstowe i binarne. Faza otwarcia, zapisu/odczytu i zamknicia pliku.
Temat: Operacje na plikach. Pliki tekstowe i binarne. Faza otwarcia, zapisu/odczytu i zamknicia pliku. 1. Rodzaje plików W jzyku C/C++ wyróniamy dwa rodzaje plików: pliki binarne pliki tekstowe Plik binarny
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.
Systemy ekspertowe Część siódma Realizacja dziedzinowego systemu ekspertowego Roman Simiński
Część siódma Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Realizacja dziedzinowego systemu ekspertowego Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych
Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 12 Struktury, unie, pola bitowe 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Struktury 2 Struktury Struktury to złożone typy danych
Ćwiczenie 7. Strumień trójelementowy. A g a EOF... EOF... Wprowadzenie do programowania w języku C. Wskaźnik bieżącej pozycji. bieżącej pozycji.
Ćwiczenie 7 Przetwarzanie plików Ćwiczenie to poświęcone jest poznaniu metod przetwarzania plików. W ramach tego ćwiczenia przewidziane jest wykonanie programów realizujących różne operacje na plikach.
Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik
Wykład X Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2016 c Copyright 2016 Janusz Słupik Drzewa binarne Drzewa binarne Drzewo binarne - to drzewo (graf spójny bez cykli) z korzeniem (wyróżnionym
Języki programowania. Karolina Mikulska-Rumińska Pokój 573, tel Konsultacje wtorek 9-10.
Języki programowania Karolina Mikulska-Rumińska E-mail: karolamik@fizyka.umk.pl Pokój 573, tel. 3346 Konsultacje wtorek 9-10. Pliki Dwa rodzaje plików: Tekstowe, Binarne Aby otworzyć plik należy najpierw
tablica: dane_liczbowe
TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica
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
7 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 7 1/5 Język C Instrukcja laboratoryjna Temat: Operacje na plikach. 7 Przygotował: mgr inż. Maciej Lasota 1) Pliki. Plik (ang. file), jest to nazwany ciąg danych (inaczej zbiór danych),
Systemy ekspertowe Część siódma Realizacja dziedzinowego systemu ekspertowego Roman Simiński
Część siódma Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Realizacja dziedzinowego systemu ekspertowego Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych
1 Przetwarzanie plików
Ćwiczenie 5 1 Przetwarzanie plików Ćwiczenie to poświęcone jest poznaniu metod przetwarzania plików. W ramach tego ćwiczenia przewidziane jest wykonanie programów realizujących różne operacje na plikach.
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania
KURS C/C++ WYKŁAD 7. struct Punkt { int x, y; int kolor; };
Typy pochodne. Referencje Referencja jest inną nazwą zmiennej. KURS C/C++ WYKŁAD 7 Referencje tworzymy przy pomocy unarnego operatora &: int a; int &refer = a; // referencja musi być inicjowana Powyższe
Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe
Algorytmy i złożoności Wykład 3. Listy jednokierunkowe Wstęp. Lista jednokierunkowa jest strukturą pozwalającą na pamiętanie danych w postaci uporzadkowanej, a także na bardzo szybkie wstawianie i usuwanie
int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania
Rok akademicki 2013/2014, Pracownia nr 10 2/20 Informatyka 1 Tablica elementów ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu Politechnika Białostocka - Wydział Elektryczny Elektrotechnika,
Programowanie i struktury danych
Programowanie i struktury danych 1 / 19 Dynamiczne struktury danych Dynamiczną strukturą danych nazywamy taka strukturę danych, której rozmiar, a więc liczba przechowywanych w niej danych, może się dowolnie