Napisałem szyfr Cezara, ktory szyfruje mi jeden wyraz. Chciałbym teraz, żeby był on w stanie szyfrować całe zdanie, ponadto chciałby zeby przy wpisaniu ' . ' program przestał wczytywać tekst.
Wiem, że zeby program przestał wczytywać tekst po kropce muszę sprawdzić znak ASCII każdego wprowadzanego po kolei znaku, jednak nie wiem jak to zrobić w C
#include <stdio.h>
#include <ctype.h>
#include<stdbool.h>
#include <string.h>
#include <math.h>
int main (void)
{
bool ok = true;
int wybor, klucz;
char jawny[181];
while (ok)
{
printf ("1.wpisz\n2.szyfruj\n3.koniec\n");
scanf("%d",&wybor);
switch (wybor)
{
case 1: //
printf ("Podaj swoje zdanie \n");
scanf ("%s", jawny);
printf ("twoj napis to %s\n", jawny);
break;
case 2:
printf ("podaj klucz: ");
scanf ("%d", &klucz);
printf ("twoj klucz to: %d\n",klucz);
for (int i=0; i<strlen(jawny); i++)
{
if (isupper(jawny[i]))
{
jawny[i]='A'+(char)(jawny[i]-'A'+klucz)%26;
}
else if (islower(jawny[i]))
{
jawny[i]='a'+(char)(jawny[i]-'a'+klucz)%26;
}
else
jawny[i]=jawny[i];
}
printf ("%s\n", jawny);
break;
case 3:
ok = false;
break;
default :
ok = false;
break;
}
}
}