ciao ragazzi sono nuova del mondo C e volevo chiedervi una mano su qst esercizio:

Bisogna scrivere un programma che legga una sequenza di caratteri terminata da . (mediante getchar) e faccia il cifrario di cesare dopo aver inserito in input il codice di cifratura.
es:
5 mamma li Turchi
rfrrf qn Yzwhmn

21 rfrrf qn Yzwhmn
mamma li Turchi

io ho scritto la prima parte che è qst:

#include <stdio.h>
int main (void)
{
int c, k;
char spazio = ' ';

printf("Inserisci chiave di cifratura: ");
scanf("%d", &k);

printf("Inserisci testo da cifrare!!\n");

while ((c = getchar()) != '.'){

putchar(c+k); //**************

}
return 0; }

teoricamente funziona ma se voglio farlo uguale all'esempio non so' come faccio a stampare il codice di cifratura viscino il testo(prima cosa), seconda cosa il putchar (c+ k) mi da' dei problemi cioè se la lunghezza della parola è piu lunga di k, in compilazione il cursore torna sulla parola e di conseguenza rischio di scriverci sopra(magari con un esempio faccio prima: se inserisco k = 3 e parola "ciao" il cifrario funziona mi stampa fldr, e ok ma il cursore è sopra la f) cosa dovrei fare????
ultima domanda, come posso utilizzare es. fldr nel mio codice per fare la contro prova???

grazie in anticipo