Acabo de revisar tu código y tienes una cantidad bastante grande de fallos con el trabajo de las cadenas.
Por ejemplo:
Línea 76:
if (entrada == titulo)
Así no se compara el contenido de dos cadenas tipo C (array de caracteres), lo que haces es comprobar si los dos direcciones de inicio de sendas cadenas son iguales. Para comparar deberías haber usado strcmp o strncmp.
No muy lejos de allí, línea 83:
nuevoTitulo == titulo;
Después de capturar una cadena con cin y dejarla en nuevoTitulo querías pasársela a la variable titulo. En es línea has cometido tres errores.
1. El operador de asignación es '=', un sólo símbolo de igualdad.
2. El operando que recibe el valor se sitúa a la izquierda, a la derecha va el que entrega el dato.
3. Los dos operandos son cadenas C por tanto no se puede usar la igualdad sino el strcpy o strncpy.
Después está lo de gets y lo de main, como te había dicho. Ahora tienes trabajo para corregir.