Wszystkie ćwiczenia


Ćwiczenia 2

Tablice statyczne, I/O

Tablice: czyli co robić, gdy kończy się pomysły na nazwy zmiennych

Zadanie 0

Stwórz tablicę integerów o wymiarze zadeklarowanym jako stała preprocesora (np. 20).

Następnie przypisz każdemu elementowi wartość odpowiadającemu jej indeksowi.


#include <iostream>
#define stala_programu 10

int main() {
    std::cout << stala_programu << std::endl;
}
            
Przykład: Podstawowe operacje na tablicach.

// tworzenie tablicy (statycznej)
int elementy[40];
// przypisywanie wartości
elementy[0] = 10;
// odczytywanie wartości
int last = elementy[39];
                
Zadanie 1

Sprawdź eksperymentalnie, jak zachowa się program napisany w c++, gdy:

  1. odwołamy się do elementu o indeksie poza zakresem tablicy?
  2. odczytamy niezainicjowany element tablicy?
Zadanie 2

Napisz metodę, która będzie pseudolosować liczbę z zakresu 1-100 (wykorzystaj kod poniżej oraz operację modulo).

Sprawdź, jak na program wpływa zmiana wywołania metody srand.


#include <cstdlib>
#include <iostream>
#include <ctime>

using std::srand;
using std::time;
using std::rand;

int main() {
    // ustawiamy ziarno losowania
    srand(time(nullptr));
    // losowanie z zakresu [0-RAND_MAX]
    std::cout << "[0, " << RAND_MAX << "]: " << rand() << std::endl;
}
            
Zadanie 3

Dana jest struktura punktu (x, y, z). Stwórz program, który:

  1. Stworzy tablicę o wymiarze zadanym przez użytkownika
  2. Wypełni ją punktami o pseudosolowych wartościach.
  3. Zapisze wyniki do pliku o rozszerzeniu csv.

Postaraj się o dekompozycję zadania na takie metody / funkcje, aby kod programu był "zgodny ze sztuką programowania".


#include <iostream>
#include <fstream>
#include <cstdlib>

int main() {
    std::fstream file;
    file.open("results.csv", std::ios::out);
    if (!file.good()) {
        std::cout << "Error" << std::endl;
        return 1;
    }
    file << "lorem ipsum";
    file.close();
    std::cout << "Success" << std::endl;
}
            
Tryb Znaczenie
in Otwarcie pliku do odczytu
out Otwarcie pliku do zapisu
binary Plik nie zostanie potraktowany jako tekst (zmienia formę odczytu na binary)
app Zapis do pliku odbywa się na końcu pliku
trunc Wyczyszczenie pliku przed otwarciem
Zadanie 4

Stwórz własną bazę danych (dla jednej encji / tabeli)

  1. Aplikacja pyta użytkownika, którą akcję chce zrobić:

    • Dodać rekord
    • Usunąć rekord
    • Nadpisać rekord
    • Odczytać rekord
  2. Baza zapisuje stan aplikacji w tablicy (w ramie)
  3. Po każdej zmianie nadpisuje plik .csv