Odczyt i zapis danych


Zagadnienia
  • Etapy przetwarzania pliku
  • Metoda open
  • klasa umożliwiająca zapis i odczytywanie pliku
  • Przydatne narzędzia/oprogramowanie

  • Środowisko programowania np. CodeBlocks
  • edytor tektstowy np notepad++, notatnik
  • Zapis oraz odczyt

    Przetwarzanie plików

    Przy otwieraniu strumienia plikowego należy podać nazwę przechowywanego na dysku pliku.

    Do przetwarzania plików stosowane są strumienie w postaci następujących klas:
    ofstream - klasa umożliwiająca zapis do pliku
    ifstream - klasa umożliwiająca odczytywanie pliku
    fstream - klasa umożliwiająca zapis i odczytywaniew pliku

    Aby otworzyć plik do zapisu, używa się zmiennej typu ofstream. Aby otworzyć ten sam plik zarówno do odczytu, jak i do zapisu, należy użyć zmiennej typu fstream.
    Nazwy plików mogą zawierać informacje o ścieżce katalogu, np.
    ~/homework/input.dat (UNIX)
    c:\homework\input.dat (Windows)

    Jeśli nazwa pliku jest podawana w postaci literału tekstowego i zawiera lewe ukośniki (jak to ma miejsce w systemie Windows), każdy taki ukośnik należy podwoić:

    in_file.open("c:\\homework\\input.dat");

    Warto przypomnieć, że pojedynczy lewy ukośnik wewnątrz literału tekstowego jest znakiem specjalnym (ang. escape character), którego połączenie z innym znakiem ma określone znaczenie, np. zapis \n oznacza znak nowego wiersza, a \\ — pojedynczy lewy ukośnik.

    Przykład programu odczytującego zawartośc pliku i zapisującego odczytane dane w tablicy:

                    #include 
                    #include 
    
                    using namespace std;
    
                    int main()
                    {
                    fstream plik;
                    int t[10];
    
                    plik.open( "dane.txt", ios::in | ios::out );
    
                        int i=0;
                            while (!(plik.eof()))
                                {
                                    plik >> t[i];
                                    i++;
                                    cout  << t[i-1] << endl;
                                }
                            plik.close();
    
                    cout << "\n \n";
    
                    plik.open( "dane.txt", ios::in | ios::out );
                    for (int j=0; j<10; j++)
                    {
                        plik >> t[j];
                        cout << t[j] << endl;
                    }
                    plik.close();
    
                    return(0);
                    }
                    



    Zadania

    Zadanie 1 - pliki do zadania

    Pobierz dane (powyżej), pobrany plik "pliki.zip" przekopiuj do folderu z utworzonym projektem i tam wypakuj.
    1. Napisz program który wypisze odczytane liczby w jednym wierszu i w tym samym wierszu doda wyraz "suma = " i wypisze sumę liczb typu double zapisanych w pliku tekstowym o nazwie liczby.txt. Każda liczba jest w osobnej linii W pliku są trzy liczby. Np.: dla liczb 1.5, 2.3, 1.2 wypisze:
    1.5, 2.3, 1.2 suma= 5.0

    2. Napisz program, który odczyta do odpowiednio zdefiniowanej tablicy zawartość pliku "wyrazy.txt", wypisze odczytane wyrazy na standardowym urządzeniu wyjścia. Następnie wypisz zapisane wyrazy w tablicy w kolejności odwrotnej (od ostatniego do pierwszego. W pliku znajduje się pieć wyrazów każdywyraz w osobnym wierszu

    3. W pliku tekstowym "znaki.txt" zaisano 20 znaków (małe litery alfabetu angielskiego). Wczytaj znaki do odpowiednio zdefiniowanej tablicy. Wypisz na ekranie wszystkie wczytane znaki oddzielając je zn akiem spacji, a następnie wypisz w kolejnym wierszu znaki od 3 do 6.



    Zadania

    Zadanie 2 - pliki do zadania

    Pobierz plik tekstowy (powyżej). Pobrany plik "zad_liczby.txt" przekopiuj do folderu z utworzonym projektem.
    W pliku znajduje się 1000 liczb z przedziału od 1 do 1000000.
    Napisz program, który wypisze na ekranie monitora:
    1. Ilość liczb większych od 900000.
    2. Ilość liczb parzystych
    3. Ilość liczb, w których cyfra jedności wynosi 5
    4. największą oraz najmnniejszą liczbę
    5. Ilość liczb, które składają się dokładnie z 3 cyfr


    Ćwiczenie 1






    Brief



    Korzystając z wyszukiwarki


    Edytor online HTML



    Wyszukaj różne edytory online umożliwiające testowaniew kodu HTML (a także javascript i CSS/
    Uruchpm edytot ze strony https://www.w3schools.com/


    Karta pracy



    Wykonaj ćwiczenia oraz zadania zawarte w dokumencie: teoria, ćwiczenia HTML .


    Test wiedzy



    |
    		
    			Zadanie 1.
    			Znacznik <s> spowoduje
    			A. przekreślenie tekstu.
    			B. pochylenie tekstu.
    			C. uzyskanie indeksu górnego.
    			D. r ozpo częcie akapitu.
    			Zadanie 2.
    			Znaczrikjem pozwalającym na utworzenie bloku tekstu jest
    			A. <b>.
    			B, <a>.
    			C. <p>.
    			D.<i>.
    			Zadanie 3.
    			|aki aĘbut musi być lżyĘ, aby poprawnie stworzyć odsyłacz w dokumencie HTMLi
    			A. class.
    			B. href
    			C. align.
    			D. color.
    			Zadanie 4.
    			Do zdeprecjonowanych elementów języka HTML 4.01 nie zaliczamy znacznika
    			A. <center>.
    			B. <s>.
    			c. <b>.
    			D. <u>.
    			Zadanie 5.
    			Do grupowania elementów liniowych, takich jak tekst lub grafiki, można wykorzystać znacznk
    			A. <hr>.
    			B. <span>.
    			C. <title>.
    			D. <pre>.
    			
    		



    Podsumowanie







  • Przykładowe rozwiązania oraz komentarze do wybranych ćwiczeń i zadań


  • Rozwiązania do ćwiczeń z tej strony

    Ćwiczenie 5 - test
  • 1 --> A; 2 --> C; 3 --> B; 4 --> C; 5 --> B;