Pliki i strumienie - Zadania

Napisz program kopiujący zawartość pliku do innego pliku

Napisz program, który do pliku zapisze N wygenerowanych liczb losowych z przedziału '[A,B]'. Nazwę pliku wynikowego oraz wartości A, B, i N podaje użytkownik

Napisz program, który wyświetli na ekranie wszystkie komentarze z podanego pliku źródłowego w języku C

Napisz program, który wyświetli na ekranie najdłuższy wyraz z podanego pliku tekstowego.

Napisz program, który wyświetli częstość występowania wszystkich liter alfabetu w podanym pliku tekstowym.

Napisz program, który wyświetla tekst zawarty w pliku HTML pomijając wszystkie tagi, tzn. wyrażenia postaci <pewien tekst>.

Napisz program porównujący dwa pliki znak po znaku. W przypadku pojawienia się pierwszej różnicy program kończy działanie wypisując wartość różniących się bajtów i ich pozycję w pliku (podobnie jak polecenie powłoki Unix/Linux cmp)

Napisz program porównujący dwa pliki linia po linii. Przy napotkaniu pierwszej różniącej się linii program przerywa swoje działanie wypisując różniące się wiersze.

Napisz program, który z pliku wyświetli tylko te linie w których znajduje się pewien wzorzec (podobnie do polecenia grep).

Napisz program wyznaczający wartość średnią wszystkich liczb rzeczywistych zapisanych w pliku. Zakładamy, że plik zawiera wyłącznie liczby w postaci tekstowej odseparowane białymi znakami.

Napisz program, który połączy pomiary zawarte w dwóch plikach. Pomiary zapisane są w postaci tekstowej w rosnącej kolejności, po jednej liczbie w każdym wierszu. Wynikowy plik powinien zawierać wszystkie liczby z obu plików ułożone w rosnącej kolejności. Program powinien działać dla dowolnie dużych plików, przekraczających rozmiarem nawet ilość pamięci operacyjnej.

Załóżmy, że pewien plik zawiera w postaci tekstowej bazę danych medycznych, gdzie w pojedynczej linii zapisane są następujące informacje: nazwisko (nie dłuższe niż 20 znaków), imię (nie dłuższe niż 20 znaków), następnie umieszczona jest liczba całkowita określająca wiek a następnie dwie liczby rzeczywista określające wzrost i wagę. Np.:
Bond James 33 199.5 85.5
Załóżmy, że plik nie zawiera więcej niż 1000 takich wpisów.

Napisz program, który wyświetli na ekranie w kolejnych liniach imię, nazwisko i współczynnik masy ciała BMI każdego badanego. Dla pacjentów z nadwagą lub niedowagą wyświetlany jest dodatkowo komunikat o przekroczeniu normy.

Napisz program, który wyznaczy średnią wagę i średni wzrost dla wszystkich pacjentów powyżej 30 roku

Napisz program, który wyświetli wpisy w porządku rosnącej wagi ciała

Napisz program, który wyświetli wpisy w porządku alfabetycznym względem nazwisk

Napisz program realizujący prostą bazę danych studentów. Pojedynczy rekord zawiera imię, nazwisko, numer indeksu i średnią z ocen. Program powinien umożliwiać:

dodanie nowego rekordu do bazy

wyświetlenie na ekranie wszystkich rekordów

zapisanie całej bazy do pliku

odczyt bazy z pliku

Napisz program szyfrujący i deszyfrujący tekst zawarty w podanym pliku. Program pobiera nazwę pliku do zaszyfrowania, nazwę pliku do którego zapisze zaszyfrowany tekst oraz słowo-klucz. Komunikat zaszyfrowany przy pomocy danego klucza powinien być możliwy do odszyfrowania wyłącznie po podaniu takiego samego słowa-klucza. Obmyśl samodzielnie algorytm szyfrowania, lub wykorzystaj dowolny znany Ci algorytym lub jego modyfikację (np. szyfr Cezara)