Program zaliczeniowy I
Napisać program umożliwiający pewne operacje na plikach zawierających napisy
w filmach. Format takiego pliku jest następujący:
HH:MM:SS:Tekst1
HH:MM:SS:Tekst2
itd.
Oto przykładowy plik:
00:00:17:Wlazł kotek na płotek o mruga
00:00:24:Ładna to piosenka niedługa
00:00:37:Niedługa niekrótka a w sam raz
00:00:43:Zaśpiewaj koteczku jeszcze raz
Wymagane funkcje to:
- Opóźnianie i przyspieszanie napisów, np. opóżnienie o 21 sekund powinno spowodować
następujący efekt (na pliku podanym powyżej):
00:00:38:Wlazł kotek na płotek o mruga
00:00:45:Ładna to piosenka niedługa
00:00:58:Niedługa niekrótka a w sam raz
00:01:04:Zaśpiewaj koteczku jeszcze raz
- Zmiana standardu polskich znaków ze standardu ISO-8859-2 na Windows-1250 i na odwrót. Oto tabela
kodów w obu standardach:
|
ISO |
Windows |
|
ISO |
Windows |
Ą |
161 |
165 |
ą |
177 |
185 |
Ć |
198 |
198 |
ć |
230 |
230 |
Ę |
202 |
202 |
ę |
234 |
234 |
Ł |
163 |
163 |
ł |
179 |
179 |
Ń |
209 |
209 |
ń |
241 |
241 |
Ó |
211 |
211 |
ó |
243 |
243 |
Ś |
166 |
140 |
ś |
182 |
156 |
Ź |
172 |
143 |
ź |
188 |
159 |
Ż |
175 |
175 |
ż |
191 |
191 |
- Zmiana nazwy pliku.
Program powinien działać z linii poleceń a polecenia powinny być przyjmowane
za pomocą argumentów programu. Poprawne wywołania mają postać
pz1.exe opcje plik_źródłowy plik_docelowy
gdzie opcje mogą zawierać argumenty (oddzielone spacjami):
- -w - zamień ISO na Windows
- -i - zamień Windows na ISO
- -oLICZBA_SEKUND, np. -o17 - opóźnij o daną liczbę sekund
- -pLICZBA_SEKUND, np. -p227 - przyspiesz o daną liczbę sekund
Przykładowe wywołanie:
pz1.exe -w -p3 napisy.txt napisy2.txt
Ocena programu będzie liczbą wymierną z przedziału [0,6]. Punkty będę przyznawane za
- Poprawność działania programu (max. 4 p.) Liczba punktów będzie obniżana w przypadku,
gdy program zawiesza się, działa niepoprawnie lub jego funkcjonalność jest niepełna.
- Kod programu (max. 2 p.) Kod programu powinien opatrzony wyczerpującymi komentarzami.
Program powinien być logicznie podzielony na funkcje (i ewentualnie biblioteki), a działanie każdej z nich opisane.
Rozwiązania należy nadsyłać na adres ziemians@mimuw.edu.pl nie później niż 20 grudnia.
Uwaga - program powinnien być napisanu samodzielnie!
Powodzenia
Krzysztof Ziemiański