Salve... Non riesco a comprendere quali siano gli errori poiché durante la stampa escono dei simboli e non i caratteri seguenti
Messaggicifrati (cifrario di Cesare)
«Un semplice metodo crittografico per cifrare messaggi, già noto ai tempi di Giulio Cesare 100 a C consiste nel traslare ogni lettera di K posizioni in avanti nell'alfabeto Ad esempio, se K= 3 il messaggio " diventa fldr se K= 10 il messaggio " diventa " Negli esempi precedenti, ciao" e "PORTO" sono detti testo in chiaro, fldr e "ZYBDY" sono il testo cifrato, il valore K è detto chiave di cifratura » Scrivere un programma che richiede all'utente un messaggio e un numero intero K Il programma deve mostrare il messaggio cifrato
#include <stdio.h>
#include<string.h>
#define DIM 50
int main(void) {
char frase[DIM],ch;
int k,n,i;
printf("Frase da cifrare: ");
i=0;
while((ch=getchar())!='\n') {
frase[i]=ch;
i++;
}
frase[i]='\0';
printf("Chiave di cifratura: ");
scanf("%s",&k);
n=strlen(frase);
for(i=0;i<n;i++){
frase[i]=frase[i]+k;
}
frase[i]='\0';
printf("Frase cifrata: %s \n",frase);
return 0;
}
Allegati: