Versión en C++ del algoritmo de cifrado César, programada por mí.

/****************************************
   @----------------------------------
   @ Autor original: [p3ll3]
   @ Version original: Java
   @ Autor modificacion: .:WindHack:.
   @ Version modificacion: C++
   @ Sitio web:
		- http://daw-labs.com
		- http://foro.code-makers.net
   @----------------------------------
*****************************************/
 
#include <iostream>
#include <string>
 
using namespace std;
 
/* Declaracion de variables..
El abecedario que usaremos para el cifrado. */
char Abecedario[]={'a','b','c','d','e','f','g','h','i','j','k',
				   'l','m','n','o','p','q','r','s','t','u','v',
				   'w','x','y','z'};
 
string Palabra,NuevaPalabra = "";
unsigned int i,x,ALength,Temp,Tmp,Clave = 0;
 
/* Funcion para convertir una cadena de texto a minusculas. */
string StringToLower(string strToConvert)
{
   for(unsigned int i=0;i < strToConvert.length();i++)
   {
	  strToConvert[i] = tolower(strToConvert[i]);
   }
   return strToConvert;
}
 
/* Instancia principal de la aplicacion. */
int main()
{
	cout << "Escriba la palabra que desea cifrar &gt; "; 			/* Pedimos la palabra */
	cin >> Palabra; 											/* La recibimos y guardamos en la variable "Palabra". */
	Palabra = StringToLower(Palabra); 							/* La convertimos a minusculas. */
	ALength = strlen(Abecedario); 								/* Obtenemos la longitud del abecedario */
	cout << "Escriba la clave para codificar (entre 1 y 24) &gt; ";/* Pedimos la clave de cifrado. */
	cin >> Clave; 												/* La recibimos y guardamos en la varible "Clave". */
		if ((Clave >= 1) & (Clave <= 26)){ 						/* Confirmamos si es correcta...*/
			for (i = 0; i < Palabra.length(); i++){ 			/* Recorremos la palabra hasta el final. */
				for (x = 0; x < ALength - 1; x++){ 				/* Recorremos el abecedarios. */
					if (Palabra[i] == Abecedario[x]){ 			/* Buscamos caracteres que estén en ambos. */
						if (x+Clave >= 26){
							Temp = x+Clave;
							Tmp = Temp-26;
							NuevaPalabra = NuevaPalabra + Abecedario[Tmp]; /* Creando la palabra. */
						}else
							NuevaPalabra = NuevaPalabra + Abecedario[x+Clave]; /* Creando la palabra. */
						}
						}
					}
					}else
			cout << "Clave errónea";
 
	cout << "La palabra cifrada es " << NuevaPalabra; /* Muestro la palabra cifrada. */
	getchar();
	return 0;
}

Una alternativa un poco más cómoda:

/*
    ===================================
    @Autor: .:WindHack:.
    @Sitio web: http://daw-labs.com
    @Fecha: vie 2 de jul, 20:52
    @Cifrado César
    ===================================
*/
 
#include <iostream>
#include <string.h>
 
#define MAX 128
 
using namespace std;
 
int main()
{
    int Key;
    char Temp[MAX]="",Cadena[MAX];
    cout << "Introduce la cadena a cifrar: ";
    cin >> Cadena;
    cout << "Introduce la clave de desplazamiento (número): ";
    cin >> Key;
    for(int i=0;i<strlen(Cadena);i++)
        Temp[i] = Cadena[i]+Key;
    cout << "Cadena cifrada: " << Temp;
    return 0;
}