Šifrování
Čas na další projekt! Tento miniprojekt využije řetězce a funkce z posledních dvou lekcí a k tomu všechno, co jste se naučili před nimi. Stejně jako v předchozích miniprojektech pokyny říkají, co má program vypsat, a každé cvičení spustí váš program i s jinými daty.
Projekt. S kamarádem si posíláte tajné zprávy. Ve třech cvičeních váš program zprávu zašifruje, rozšifruje kamarádovu odpověď a nakonec prolomí zprávu, jejíž klíč neznáte.
Šifra. Použijete jednu z nejstarších šifer, kterou prý používal už Julius Caesar: každé písmeno se posune o několik míst dál v abecedě. S posunem 3 se z a stane d, z b se stane e a tak dál. Na konci abecedy se pokračuje znovu od začátku: z x se stane a, z y b a ze z c. Velká písmena zůstanou velká a všechno, co není písmeno, třeba mezery, číslice a interpunkce, zůstane, jak je. Šifra počítá s anglickou abecedou, a proto jsou zprávy bez diakritiky.
Data. Pole zprava obsahuje zprávu a posun říká, o kolik míst se každé písmeno posune. Program musí fungovat i pro jiné zprávy a pro jakýkoli posun od 1 do 25.
Úkol. Vypište zprávu a pod ni zašifrovanou zprávu:
Zpráva: Sejdeme se v zoo u zirafy
Zašifrováno: Vhmghph vh y crr x cludibTip: napište funkci, která posune jedno písmeno a vrátí to nové. Budete ji potřebovat i v dalších dvou cvičeních. Znak je číslo (vzpomeňte si na lekci o proměnných), takže s ním můžete počítat, a % vás vrátí na začátek abecedy. Funkce z ctype.h vám řeknou, jestli je znak písmeno a jestli je velké.
Jak psát:
Pokyny
Vypište zprávu a zašifrovanou zprávu, stejně jako v ukázce.
Začněte programovat zdarma
1/3