Zmiana kodu C

Witam, mam kod na szyfrowanie liczb względem danego klucza, ale muszę go przerobić na szyfr afiniczny. Wiem, że nie jest to trudne, ale nie mam pomysłu. Jakieś pomysły co zmienić?

int klucz,a;
while((printf("klucz: "))&&(scanf(“d”,&klucz)==1))
{
while(getchar()!=’\n’) {}
klucz=klucz%26;
printf("podaj tekst: ");
while((a=toupper(getchar()))!=EOF)
{
if(isalpha(a)) a=((a-‘A’+26-klucz)%26)+‘A’;
}
}
return 0;
)

Ten kod jest tak zły jak tylko można sobie wyobrazić.

Jaki konkretnie masz problem z szyfrem afinicznym? Jako klucz masz parę liczb, która musi spełniać jedno wymaganie, po jego spełnieniu wyliczasz literę ze znanego wzoru.

1 polubienie

Może się przyda: https://4programmers.net/Forum/C_i_C++/194158-szyfrowanie_afiniczne