Kód: Vybrat vše
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <ctype.h>
int main(int argc, char** argv) {
char zprava[100];
int vyber;
int i,j;
char heslo[33];
int hodnota;
char opakovat = 1;
while (opakovat == 1)
{
printf("Zadejte operaci\n");
printf("Šifrovat - 1 \n");
printf("Dešifrovat - 2\n");
scanf("%d",&vyber);
if (vyber == 1) {
printf("Zadejte zprávu k zašifrování\n");
fgets (zprava, 100, stdin);
while (getchar() != '\n');
printf("TEXT: ***%s***\n",zprava);
printf("Zadejte heslo\n");
scanf("%s", &heslo);
printf("HESLO: ***%s***\n",heslo);
for(i=0,j=0;i<strlen(zprava);i++,j++) {
if (zprava[i] == ' ')
continue;
if(j>=strlen(heslo))
{
j=0;
}
if (!isupper(zprava[i]))
{
hodnota = ((zprava[i]) - 96) + (heslo[j] - 96);
}
if (!islower(zprava[i]))
{
hodnota = ((zprava[i]) - 64) + (heslo[j] - 64);
}
printf("%c", 97 + (hodnota % 26));
}
}
else if (vyber == 2) {
printf("Zadejte zprávu k dešifrování\n");
scanf("%s", &zprava);
printf("Zadejte heslo\n");
scanf("%s",&heslo);
for(i=0,j=0;i<strlen(zprava);i++,j++)
if (zprava[i] == ' ')
continue;
{
if(j>=strlen(heslo))
{
j=0;
}
if (!isupper(zprava[i]))
{
hodnota = (zprava[i] - 96) - (heslo[j] - 96);
}
if (!islower(zprava[i]))
{
hodnota = ((zprava[i]) - 64) - (heslo[j] - 64);
}
if
(hodnota < 0)
{
hodnota = hodnota * - 1;
}
printf("%c", 97 + (hodnota % 26));
}
printf("\nChcete opakovat?? [1/0]\n");
scanf("%d", &opakovat);
}
}
return (EXIT_SUCCESS);
}