A chiffer er en enkel type kode som erstatter hver bokstav i hemmelig melding med et bestemt symbol eller tegn. En av de mest kjente er Caesar chiffer , som rett og slett fremskritt alfabetet et gitt antall bokstaver , slik at A er B og B er C , eller A er M og B er N, avhengig av hvor langt du flytter den. Ved å manipulere ASCII-verdier , kan du enkelt skrive et program i C som kan utføre operasjoner som dette for deg på sparket , kjapt kryptere en melding du skriver . Instruksjoner
en
Inkluder standard input /output header -fil og erklære en kryptering funksjon som tar et heltall. Dette heltall vil representere antall bokstaver å skifte siffer . I et siffer med en forskyvning på 1, vil A være B , med en forskyvning på 2, vil A være C og så videre. Denne foreløpige koden skal se slik ut : en
# include
ugyldig kryptere ( int letter_shift ) ;
2
Opprett kryptere ( ) funksjon . Dette bør begynne med å erklære en røye variabel , som vil stå for brevet tiden blir kodet eller dekodet. Skrive ut en melding på skjermen ber om innspill , og deretter lagre som innspill i røye variabel. Det skal se omtrent slik ut : en
void kryptere ( int letter_shift )
{
røye ch ;
printf (" Skriv inn teksten til å kryptere : ");
lm = getchar ();
3
Skriv en stund loop som undersøke den nåværende karakter og utfører kryptering. Sløyfen bør sjekke for å se om karakteren faller innenfor ASCII alfabetet rekkevidde, bare kryptere den hvis den gjør det, og flytte bokstaver nær slutten av alfabetet tilbake til begynnelsen. Denne måten et siffer med en forskyvning av en vil gjengi Z som A , ikke som [ . Sløyfen skal skrive hver bokstav på skjermen som det krypterer det , bare stoppe når den støter på linjeskift karakter . Denne andre halvdelen av krypter ( )-funksjonen skal se ut som følgende : en
while ( lm = '\\ n' ! )
{
If ( isalpha ( lm ) )
{
if ( isupper ( lm ) && isupper ( lm + letter_shift )