Wejściówka na ćwiczenia nr 5

Napisz program wczytujący z pliku listę rekordów (rekord to kolekcja kilku dowolnych wartości, każda ściśle określonego typu, występujących w ustalonej, zawsze tej samej kolejności). Wczytywane rekordy składają się z trzech wartości. Wartości te są zapisane w jednym wierszu pliku tekstowego; każdy wiersz zawiera kolejno: nr indeksu studenta, nazwisko i ocenę, które rozdzielone są znakiem spacji. Rekord ma następującą strukturę:


struct para {
int nr_indeksu;
char nazwisko[30];
float ocena;
struct para *nast;
};

W funkcji ‘main’ pobierz od użytkownika nazwę pliku z danymi, otwórz ten plik w trybie do odczytu, a następnie wczytaj zawartość pliku do tablicy (przyjmij, że liczba rekordów może być większa niż rozmiar tablicy – w kodzie wczytującym dodaj zabezpieczenie, które w razie zapełnienia tablicy przerywa wczytywanie; nadmiarowe dane z pliku powinny zostać wtedy zignorowane). W trakcie wczytywania program powinien wypisywać na ekranie aktualnie odczytywane wartości. Po zakończeniu czytania zamknij plik. Przyjmij, że dane w pliku są zawsze poprawne, tj. wiersz zawsze zawiera trójkę prawidłowych napisów w tej samej kolejności.

Po odczytaniu wypisz w oknie konsoli elementy reprezentujące studentów, którzy mają ocenę niższą niż 4.

Następnie pobierz od użytkownika nazwę pliku do zapisu, otwórz plik o podanej nazwie w trybie do zapisu i zapisz do niego zawartość tablicy (tylko tych komórek, które przechowują wczytane wcześniej dane). Po zakończeniu zapisywania zamknij plik i zakończ działanie programu.

Przygotuj odpowiedni plik tekstowy z prawidłowymi danymi wejściowymi i umieść go we właściwym katalogu. Przygotuj dane w pliku tak, aby rekordy reprezentujące studentów z oceną poniżej 4 były przemieszane z rekordami studentów z oceną 4 i wyższą niż 4 i aby znalazły się na początku, w środku i na końcu pliku.

Do obsługi plików wykorzystaj funkcje ‘fopen’, ‘fclose’, ‘fprintf’, ‘fscanf’ i ‘feof’. Wszystkie z biblioteki: ‘stdio.h’.

Przetestowany, działający program uploaduj do systemu moodle jako rozwiązanie zadania “wejściówka” ćwiczenia nr 5.

Dobre słowa kluczowe w zapytaniach do wyszukiwarki na najbliższy tydzień to: ‘fopen’, ‘fclose’, ‘fprintf’, ‘fscanf’ i ‘feof’ w połączeniu z ‘ansi c”.