ESERCIZIO STRINGA IN C

di il
3 risposte

ESERCIZIO STRINGA IN C

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:
29959_3bd92b2d27640d7b10c7663f427cf366.jpg
29959_3bd92b2d27640d7b10c7663f427cf366.jpg

3 Risposte

Devi accedere o registrarti per scrivere nel forum
3 risposte