void Pobierz(Student &a); void Wypisz(Student a); void Ustaw_zaliczenia(Student t[],int r); void Wypisz_najlepszych(Student t[],int r, float prog);

Podobne dokumenty
Program 22. #include <iostream> using namespace std; struct Osoba { string Imie; string Nazwisko; char Plec; int RokUr; };

Program 14. #include <iostream> #include <ctime> using namespace std;

1,3,4,2,3,4,0,1,4,5,0. Wówczas największa suma trzech kolejnych liczb (zaznaczone na czerwono) wynosi:

Program 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:

PDF stworzony przez wersję demonstracyjną pdffactory Pro Program 15

Program znajduje największa lub najmniejsza z podanych liczb. Liczby podajemy dopóki nam sie nie znudzi.

Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku.

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną)

Wstęp do programowania

Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5

Część 4 życie programu

Wstęp do programowania

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

Podstawy Programowania Podstawowa składnia języka C++

Struktura pliku projektu Console Application

Mechanizm dziedziczenia

8. Wektory. Przykłady Napisz program, który pobierze od użytkownika 10 liczb, a następnie wypisze je w kolejności odwrotnej niż podana.

Programowanie - wykład 4

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

I - Microsoft Visual Studio C++

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy:

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

3. Instrukcje warunkowe

4. Funkcje. Przykłady

Zajęcia nr 5 Algorytmy i wskaźniki. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Programowanie komputerowe. Zajęcia 1

Wstęp do informatyki- wykład 7

Struktury Struktura polami struct struct struct struct

Wstęp do programowania

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

Podstawy programowania skrót z wykładów:

Materiał. Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Funkcje Wskaźniki Referencje Tablice dynamiczne Typ string Przeładowania funkcji

Algorytmy i język C++

1 Podstawy c++ w pigułce.

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 1. Wprowadzenie, środowisko programistyczne, pierwsze programy

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Zadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy.

Podstawy Programowania C++

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1

1 Wskaźniki. 1.1 Główne zastosowania wskaźników

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Wstęp do Programowania, laboratorium 02

Język C++ zajęcia nr 2

Wstęp do programowania

Pliki wykład 2. Dorota Pylak

1 Podstawy c++ w pigułce.

Projektowanie klas c.d. Projektowanie klas przykład

Algorytmika i programowanie. Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

Tablice są typem pochodnym. Poniżej mamy przykłady deklaracji różnych tablic:

Budowa i generowanie planszy

C++ wprowadzanie zmiennych

Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory

Funkcje. Deklaracja funkcji. Definicja funkcji. Wykorzystanie funkcji w programie.

Deklaracja i definicja metod, zwracanie wartości z metod, przekazywania parametrów do metod

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

C-struktury wykład. Dorota Pylak

Mechanizm dziedziczenia

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 3

Wstęp do informatyki- wykład 10 Funkcje (przekazywanie parametrów przez wartość i zmienną)

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 6. Karol Tarnowski A-1 p.

XII. Warunek wielokrotnego wyboru switch... case

Laboratorium 1 - Programowanie proceduralne i obiektowe

Języki i techniki programowania Ćwiczenia 2

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 8. Karol Tarnowski A-1 p.

Podstawy algorytmiki i programowania - wykład 4 C-struktury

Podstawy Programowania.

Podstawy algorytmiki i programowania - wykład 5 C-struktury cd.

Rozwiązanie. #include <cstdlib> #include <iostream> using namespace std;

Przekazywanie argumentów wskaźniki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Wstęp do programowania

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

#include <iostream> using namespace std; void ela(int); int main( ); { Funkcja 3. return 0; }

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Pytania sprawdzające wiedzę z programowania C++

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

Programowanie i struktury danych

2.4 Dziedziczenie. 2.4 Dziedziczenie Przykłady programowania w C - kurs podstawowy

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wstęp do programowania

Wyszukiwanie. Wyszukiwanie binarne

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

C-struktury wykład. Dorota Pylak

- - Ocena wykonaniu zad3. Brak zad3

Tablice są typem pochodnym. Poniżej mamy przykłady deklaracji różnych tablic:

Programowanie komputerowe. Zajęcia 4

Programowanie obiektowe - zadania

Transkrypt:

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 informująca, czy semestr jest zaliczony, czy nie). A. Napisać: funkcję pobierającą dane studenta podanego jako parametr, "pilnującą" prawidłowego podania danych (ocena nie moŝe być liczbą inną niŝ 2, 3, 3.5, 4, 4.5, 5) i nadającą polu Semestr_zaliczony wartość fałszywą; funkcję wypisującą wszystkie dane studenta podanego jako parametr, program wykorzystujący powyŝsze funkcje do wczytania i wypisania tablicy studentów o długości podanej przez uŝytkownika. B. Rozszerzyć program z punktu A o funkcję Ustaw_zaliczenia, której parametrami są: tablica studentów i długość tej tablicy, zaliczającą (poprzez ustawienie pola Semestr_zaliczony, bez wypisywania jakichkolwiek komunikatów) semestr studentom posiadającym ze wszystkich przedmiotów oceny wyŝsze niŝ 2. Wykorzystać powyŝszą funkcję w programie z punktu A, zaliczając semestr studentom w utworzonej wcześniej tablicy. C. Rozszerzyć program z punktów A-B o funkcję Wypisz_najlepszych o parametrach: tablica uczniów, długość tej tablicy i liczba rzeczywista reprezentująca próg średniej ocen, wypisującą (przy uŝyciu funkcji z punktu A) studentów o średniej nie mniejszej od podanego progu. Funkcję wykorzystać w programie. #include <iostream> using namespace std; struct Student string Imie; string Nazwisko; float Oceny[5]; bool Semestr_zaliczony; ; void Pobierz(Student &a); void Wypisz(Student a); void Ustaw_zaliczenia(Student t[],int r); void Wypisz_najlepszych(Student t[],int r, float prog); int main() int n; cout<<"podaj liczbe studentow: "; cin>>n; Student tab[n]; cout<<"wprowadz dane studenta "<<i+1<<": "<<endl;

Pobierz(tab[i]); Ustaw_zaliczenia(tab,n); cout<<"dane studenta "<<i+1<<": "<<endl; Wypisz(tab[i]); Wypisz_najlepszych(tab,n,3.6); system("pause"); return 0; void Pobierz(Student &a) cout<<"imie: "; cin>>a.imie; cout<<"nazwisko: "; cin>>a.nazwisko; for(int i=0;i<5;i++) cout<<"ocena "<<i+1<<": "; cin>>a.oceny[i]; if((a.oceny[i]!=2)&&(a.oceny[i]!=3)&&(a.oceny[i]!=3.5)&& (a.oceny[i]!=4)&&(a.oceny[i]!=4.5)&&(a.oceny[i]!=5)) cout<<"ocena nieprawidlowa - wprowadz ponownie"<<endl; i--; a.semestr_zaliczony=false; void Wypisz(Student a) cout<<"imie: "<<a.imie<<endl; cout<<"nazwisko: "<<a.nazwisko<<endl; for(int i=0;i<5;i++) cout<<"ocena "<<i+1<<": "<<a.oceny[i]<<endl; cout<<"semestr zaliczony: "<<a.semestr_zaliczony<<endl; void Ustaw_zaliczenia(Student t[],int r)

if((t[i].oceny[0]>2)&&(t[i].oceny[1]>2)&& (t[i].oceny[2]>2)&&(t[i].oceny[3]>2)&&(t[i].oceny[4]>2)) t[i].semestr_zaliczony=true; void Wypisz_najlepszych(Student t[],int r, float prog) float suma_ocen, float srednia; cout<<"studenci majacy srednia ocen nie mniejsza niz " <<prog<<endl; suma_ocen=0; for(int j=0;j<5;j++) suma_ocen=suma_ocen+t[i].oceny[j]; srednia=suma_ocen/5; if(srednia>=prog) Wypisz(t[i]); Omówienie programu Na początku programu definiujemy strukturę Student (o strukturach moŝesz przeczytać w omówieniu Programu 6): struct Student string Imie; string Nazwisko; float Oceny[5]; bool Semestr_zaliczony; ; Struktura ma 4 pola: Imie, Nazwisko (ciągi znaków - string), Oceny (pięcioelementowa tablica wartości rzeczywistych float - reprezentujących oceny studenta) i Semestr_zaliczony (wartość logiczna bool - informująca, czy semestr jest zaliczony (true), czy nie (false)).

W programie wykorzystane są 4 funkcje. Funkcja Pobierz void Pobierz(Student &a) cout<<"imie: "; cin>>a.imie; cout<<"nazwisko: "; cin>>a.nazwisko; for(int i=0;i<5;i++) cout<<"ocena "<<i+1<<": "; cin>>a.oceny[i]; if((a.oceny[i]!=2)&&(a.oceny[i]!=3)&&(a.oceny[i]!=3.5)&& (a.oceny[i]!=4)&&(a.oceny[i]!=4.5)&&(a.oceny[i]!=5)) cout<<"ocena nieprawidlowa - wprowadz ponownie"<<endl; i--; a.semestr_zaliczony=false; Funkcja nie zwraca Ŝadnej wartości (słówko void przed nazwą funkcji). Do funkcji Pobierz przesyłany jest przez referencję jeden argument typu Student (o przesyłaniu argumentów do funkcji patrz omówienie Programu 6). Dzięki przesłaniu przez referencję funkcja moŝe modyfikować przesłaną do niej zmienną typu Student. Stąd: void Pobierz(Student &a) Wewnątrz funkcji mamy: cout<<"imie: "; cin>>a.imie; cout<<"nazwisko: "; cin>>a.nazwisko; czyli wprowadzamy wartości pól Imie i Nazwisko zmiennej a typu Student przesłanej do funkcji przez referencję. Następnie w funkcji Pobierz mamy pętlę for umoŝliwiającą wprowadzenie wartości ocen do tablicy Oceny (będącej polem zmiennej a): for(int i=0;i<5;i++) cout<<"ocena "<<i+1<<": "; cin>>a.oceny[i]; if((a.oceny[i]!=2)&&(a.oceny[i]!=3)&&(a.oceny[i]!=3.5)&& (a.oceny[i]!=4)&&(a.oceny[i]!=4.5)&&(a.oceny[i]!=5))

cout<<"ocena nieprawidlowa - wprowadz ponownie"<<endl; i--; a.semestr_zaliczony=false; W powyŝszej pętli zmienna i przyjmuje kolejno wartości 0,1,2,3,4. Wprowadzenie oceny do i-tego elementu tablicy Oceny: cin>>a.oceny[i]; PoniewaŜ funkcja ma "pilnować" prawidłowego podania danych dalej mamy instrukcję warunkową: if((a.oceny[i]!=2)&&(a.oceny[i]!=3)&&(a.oceny[i]!=3.5)&& (a.oceny[i]!=4)&&(a.oceny[i]!=4.5)&&(a.oceny[i]!=5)) cout<<"ocena nieprawidlowa - wprowadz ponownie"<<endl; i--; Instrukcja ta sprawdza czy ocena wprowadzona do a.oceny[i] jest róŝna od 2,3.5,4,4.5,5. Stąd implikacja (&&) warunków: a.oceny[i]!=2 a.oceny[i]!=3 a.oceny[i]!=3.5 a.oceny[i]!=4 a.oceny[i]!=4.5 a.oceny[i]!=5 W efekcie otrzymujemy warunek: (a.oceny[i]!=2)&&(a.oceny[i]!=3)&&(a.oceny[i]!=3.5)&& (a.oceny[i]!=4)&&(a.oceny[i]!=4.5)&&(a.oceny[i]!=5) Spełnienie powyŝszego warunku oznacza, Ŝe wprowadzona ocena nie jest poprawna (bo jest róŝna od 2,3.5,4,4.5,5). Wówczas na ekranie pojawia się komunikat: Ocena nieprawidlowa - wprowadz ponownie i wartość zmiennej i jest zmniejszana o 1: i--; Dzięki temu w następnym obiegu pętli moŝemy jeszcze raz wprowadzić ocenę do tego samego elementu tablicy: a.oceny[i]

Ostatnia linijka definicji funkcji Pobierz to: a.semestr_zaliczony=false; czyli wartość pola Semestr_zaliczony zmiennej a ustawiamy na false (fałsz). UWAGA: PoniewaŜ zmienna a jest przesłana do funkcji Pobierz przez referencję zatem wartości wprowadzonych pól zmiennej a nie ulegną zmianie po zakończeniu działania tej funkcji. Funkcja Wypisz void Wypisz(Student a) cout<<"imie: "<<a.imie<<endl; cout<<"nazwisko: "<<a.nazwisko<<endl; for(int i=0;i<5;i++) cout<<"ocena "<<i+1<<": "<<a.oceny[i]<<endl; cout<<"semestr zaliczony: "<<a.semestr_zaliczony<<endl; Funkcja Wypisz ma definicję podobną do funkcji Pobierz. RóŜnica polega na tym, Ŝe funkcja ta wypisuje (i nie zmienia ich!) wartości pól Imie, Nazwisko, Oceny (tablica dlatego w funkcji mamy pętlę for) i Semestr_zaliczony zmiennej a. UWAGA: PoniewaŜ funkcja Wypisz nie modyfikuje pól przesłanej do niej zmiennej a typu Student dlatego zmienna ta jest przesłana przez wartość, a nie przez referencję. Funkcja Ustaw_zaliczenia Działanie funkcji Ustaw_zaliczenia polega na zaliczeniu (poprzez nadanie polu Semestr_zaliczony wartości true) semestru studentom posiadającym ze wszystkich przedmiotów oceny wyŝsze niŝ 2. void Ustaw_zaliczenia(Student t[],int r) if((t[i].oceny[0]>2)&&(t[i].oceny[1]>2)&& (t[i].oceny[2]>2)&&(t[i].oceny[3]>2)&&(t[i].oceny[4]>2)) t[i].semestr_zaliczony=true;

Funkcja nie zwraca Ŝadnej wartości (słówko void przed nazwą funkcji). Funkcja posiada dwa argumenty. Pierwszy to tablica typu Student o nazwie t, argument drugi to liczba całkowita (int) będąca rozmiarem tablicy t. Wewnątrz funkcji mamy pętlę for: if((t[i].oceny[0]>2)&&(t[i].oceny[1]>2)&& (t[i].oceny[2]>2)&&(t[i].oceny[3]>2)&&(t[i].oceny[4]>2)) t[i].semestr_zaliczony=true; W powyŝszej pętli zmienna i przyjmuje kolejno wartości 0,1,2,,r-1. Dzięki temu mamy dostęp do wszystkich elementów tablicy t. Działanie pętli for jest następujące: Przyjmijmy, Ŝe i jest równe 0 UWAGA: oceny (jest ich 5 i zapisane są w tablicy Oceny) pierwszego elementu tablicy t to: t[0].oceny[0] t[0].oceny[1] t[0].oceny[2] t[0].oceny[3] t[0].oceny[4] Sprawdzamy czy spełniony jest warunek: (t[0].oceny[0]>2)&&(t[0].oceny[1]>2)&& (t[0].oceny[2]>2)&&(t[0].oceny[3]>2)&&(t[0].oceny[4]>2) JeŜeli tak, oznacza to, Ŝe wszystkie oceny pierwszego elementu tablicy t (czyli t[0]) są wyŝsze od 2. Wówczas wartość pola Semestr_zaliczony elementu t[i] ustawiamy na true (prawda): t[i].semestr_zaliczony=true; Działanie funkcji Ustaw_zaliczenia dla pozostałych elementów tablicy t (i pozostałych wartości zmiennej i) jest analogiczne. Funkcja Wypisz_najlepszych void Wypisz_najlepszych(Student t[],int r, float prog) float suma_ocen, srednia;

cout<<"studenci majacy srednia ocen nie mniejsza niz " <<prog<<endl; suma_ocen=0; for(int j=0;j<5;j++) suma_ocen=suma_ocen+t[i].oceny[j]; srednia=suma_ocen/5; if(srednia>=prog) Wypisz(t[i]); Funkcja nie zwraca Ŝadnej wartości (słówko void przed nazwą funkcji). Funkcja posiada trzy argumenty/parametry. Pierwszy to tablica typu Student o nazwie t, argument drugi to zmienna całkowita (int) będąca rozmiarem tablicy t, argument trzeci to zmienna typu float o nazwie prog. Funkcja Wypisz_najlepszych ma za zadanie wypisać studentów o średniej nie mniejszej od podanego progu określonego przez wartość zmiennej prog. Wewnątrz funkcji mamy kolejno: Definicje dwóch zmienny typu float: float suma_ocen, srednia; Instrukcję wypisującą na ekran komunikat Studenci majacy srednia ocen nie mniejsza niŝ i wartość średniej będącej progiem (zmienna prog): cout<<"studenci majacy srednia ocen nie mniejsza niz " <<prog<<endl; Pętlę for dla zmiennej i przyjmującej wartości 0,1,2,,r-1: suma_ocen=0; for(int j=0;j<5;j++) suma_ocen=suma_ocen+t[i].oceny[j];

srednia=suma_ocen/5; if(srednia>=prog) Wypisz(t[i]); Działanie pętli jest następujące: Przyjmijmy, Ŝe i jest równe 0 UWAGA: oceny (jest ich 5 i zapisane są w tablicy Oceny) pierwszego elementu tablicy t to: t[0].oceny[0] t[0].oceny[1] t[0].oceny[2] t[0].oceny[3] t[0].oceny[4] Na początku sumujemy wszystkie oceny elementu t[0] (pierwszy student w tablicy t) i wartość tej sumy zapisujemy w zmiennej suma_ocen: suma_ocen=0; for(int j=0;j<5;j++) suma_ocen=suma_ocen+t[0].oceny[j]; Następnie obliczmy średnią ocen studenta t[0] czyli wartość zmiennej suma_ocen dzielimy przez 5 i otrzymany wynik zapisujemy w zmiennej srednia: srednia=suma_ocen/5; JeŜeli otrzymana średnia ocen elementu t[0] jest nie mniejsza od wartości zmiennej prog wówczas wykorzystując funkcję Wypisz wypisujemy informacje o elemencie t[0]: if(srednia>=prog) Wypisz(t[0]); Działanie pętli for dla pozostałych elementów tablicy t (i pozostałych wartości zmiennej i) jest analogiczne. Jak widać powyŝsza pętla umoŝliwia obliczenie średniej ocen kaŝdego elementu tablicy t i jeŝeli średnia ta dla któregoś elementu jest wyŝsza od wartości zmiennej prog na ekranie wypisywane są informacje o tym elemencie.

Omówione powyŝej funkcje są wykorzystane w następującym programie: int main() int n; cout<<"podaj liczbe studentow: "; cin>>n; Student tab[n]; cout<<"wprowadz dane studenta "<<i+1<<": "<<endl; Pobierz(tab[i]); Ustaw_zaliczenia(tab,n); cout<<"dane studenta "<<i+1<<": "<<endl; Wypisz(tab[i]); Wypisz_najlepszych(tab,n,3.6); system("pause"); return 0; Na początku wprowadzamy liczbę studentów i zapisujemy ją w zmiennej n: int n; cout<<"podaj liczbe studentow: "; cin>>n; Definiujemy tablicę o nazwie tab typu Student: Student tab[n]; Wykorzystując pętlę for i funkcję Pobierz (omówiona powyŝej) wprowadzamy dane do tablicy tab: cout<<"wprowadz dane studenta "<<i+1<<": "<<endl; Pobierz(tab[i]); Następnie wywołujemy omówioną powyŝej funkcję Ustaw_zaliczenia (z argumentami tab i n), której działanie polega na zaliczeniu (poprzez nadanie polu

Semestr_zaliczony wartości true) semestru studentom posiadającym ze wszystkich przedmiotów oceny wyŝsze niŝ 2: Ustaw_zaliczenia(tab,n); Pętla: cout<<"dane studenta "<<i+1<<": "<<endl; Wypisz(tab[i]); umoŝliwia wypisanie informacji o wszystkich elementach tablicy tab (o wszystkich studentach). Na końcu programu mamy wywołanie funkcji Wypisz_najlepszych: Wypisz_najlepszych(tab,n,3.6); Funkcja ta wypisuje informacje o studentach (których dane są zapisane w tablicy tab) posiadających średnią nie mniejszą niŝ 3.6.