May 4, 2024, Saturday, 124

C/Zadanie 9

From MJanik

Jump to: navigation, search

Zadania na laboratorium będą miały charakter powtórzeniowy. Należy dokładnie rozumieć pojęcie funkcji (wartości zwracanej przez funkcję, argumentów funkcji, wywołanie/użycie funkcji), struktur (pola składowe, obiekty typu danej struktury, rożnica między obiektem a wskaźnikiem na obiekt, ustawianie, odczytywanie, praca na składnikach sturktur), alokacji pamięci, wczytywania i zapisywania do plików.

Przypominam, że to ostatnie zajęcia przed Projektem!


Zadanie będzie składalo się z kolejnych części sprawdzających wiedzę dotyczącą poszczególnych elementów języka C.

  • Należy napisać strukturę Pokazowa zawierającą następujące składniki:
    • liczbę całkowitą a (przechowującą informację o długości tablicy tab1)
    • liczbę zmiennoprzecinkową b
    • łańcuch znaków o długości 20 znaków nazwa
    • tablicę jednowymiarową tab1 liczb całkowitych (tablica o zmiennej długości, powinna być alokowana dynamicznie)
    • tablicę dwuwymiarową tab2 liczb całkowitych 3x3
  • W funkcji main stworzyć obiekt struktury Pokazowa o następujących parametrach: a = 5, b = 5.5, nazwa = "piatka", tablica jednowymiarowa: 5 liczb, każda to 5, tablica dwuwymiarowa wypełniona: liczbami od 1 do 9 (należy użyć odpowiednich pętli!). (1.5 p)
  • Należy napisać zestaw funkcji służących do podstawowego zarządzania programem (1.5 p) .
    • Napisz funkcję Witaj nie przyjmującą ani nie zwracającą żadnych parametrów. Funkcja ma wypisywać na ekran: "Witaj w naszym pokazowym programie!". Należy wykorzystać napisaną funkcję w programie.
    • Napisz funkcję Wypisz przyjmującą wskaźnik na strukturę Pokazowa i wypisującą na ekran wszystkie elementy tej konkretnej struktury. Należy wykorzystać napisaną funkcję w programie.
    • Napisz funkcję SumaAiB która przyjmuje wskaźnik na strukturę Pokazowa i zwraca (nie: wypisuje na ekran) sumę składników a i b. Należy wykorzystać napisaną funkcję w programie - obliczona wartość powinna zostać wypisana na ekranie.
  • Należy napisać funkcję która losuje wartość z przedziału (x do y) oraz wypełnia nimi obie tablice stuktury podanej jako argument: zarówno jedno- jak i dwuwymiarową. Wartości x i y również powinny być podane jako argumenty funkcji. Należy przetestować w programie działanie funkcji. (1 p)
  • Wczytywanie i zapisywanie do pliku informacji o wszystkich polach struktury. Należy napisać dwie oddzielne funkcje zajmujące się zapisywaniem do pliku oraz wczytywaniem informacji. Należy samemu zaprojektować sposób w jaki sposób należy dane zapisywać. (2 p)
  • Na samym początku programu należy użyć polecenia clear by wyczyścić zawartość terminala:
Komenda
system("clear");
z biblioteki stdlib.h
na systemach UNIXowych czyści całe okno terminala: umożliwia to np. zastępowanie jednego menu innym.


Działanie programu

./lab10 
Witaj w naszym pokazowym programie!
a: 5, b: 5.500000, nazwa: piatka, tab1: 5 5 5 5 5 
tab2:
0 1 2 
3 4 5 
6 7 8 
Suma a i b: 10.500000
Losowanie!
a: 5, b: 5.500000, nazwa: piatka, tab1: 7 6 7 5 5 
tab2:
3 7 6 
5 3 7 
3 5 4 
------wczytana z pliku------
a: 5, b: 5.500000, nazwa: piatka, tab1: 7 6 7 5 5 
tab2:
3 7 6 
5 3 7 
3 5 4