Tengo una DUDA

_malcom_
19 de Febrero del 2005
Hola, quiero hacer un programa que codifique y descodifique, la cosa no parece muy complicada a primera vista

Se ejecuta el programa y te pregunta que quieres hacer, si CODIFICAR UN FICHERO DE TEXTO O DESCODIFICAR UNO.

Se supone que hay dos ficheros uno "codificado.txt" y el otro "descodificado.txt"

Ahora bien no consigo hacer que funcione ¬¬ el programa me peta, y no veo donde puede estar el fallo. Alguien lo sabe?

//Funcions Oceans_Club
char Tabla (char letra)
{
if (letra=='a')
letra='c';
else if (letra=='b')
letra='d';
else if (letra=='c')
letra='e';
else if (letra=='d')
letra='f';
else if (letra=='e')
letra='g';
else if (letra=='f')
letra='h';
else if (letra=='g')
letra='i';
else if (letra=='h')
letra='j';
else if (letra=='i')
letra='k';
else if (letra=='j')
letra='l';
else if (letra=='k')
letra='m';
else if (letra=='l')
letra='n';
else if (letra=='m')
letra='ñ';
else if (letra=='n')
letra='o';
else if (letra=='ñ')
letra='p';
else if (letra=='o')
letra='q';
else if (letra=='p')
letra='r';
else if (letra=='q')
letra='s';
else if (letra=='r')
letra='t';
else if (letra=='s')
letra='u';
else if (letra=='t')
letra='v';
else if (letra=='u')
letra='w';
else if (letra=='v')
letra='x';
else if (letra=='w')
letra='y';
else if (letra=='x')
letra='z';
else if (letra=='y')
letra='a';
else if (letra=='z')
letra='b';
else
letra=letra;
return letra;
}

//Funcion codificar
void Codificar (FILE *fa)
{
FILE *fb;
char letra;

fa = fopen("codificado.txt","r");
fb = fopen("descodificado.txt","w");

while (!feof(fa))
{
fscanf(fa,"%c",letra);
letra=Tabla(letra);
fprintf(fb,"%c",letra);
}
fclose(fa);
fclose(fb);
}

//Funcion decodificar
// FALTA HACER

//main
main ()
{
int n;
FILE *fa;
fa = fopen("codificado.txt","r");
do
{ printf("nCodificador/Decodificador");
printf("nSELECCIONA QUE QUIERES UTILIZARn");
printf("n1 - DESCODIFICAR TEXTOn");
printf("n2 - CODIFICAR TEXTOn");
printf("n0 - PARA SALIRn");

scanf("%d",&n);
switch(n)
{
case 1:
//DESCOFICAR
break;
case 2:
Codificar (fa);

break;
case 0:
printf("nnByeeeeenn");
break;
}
}while(n!=0);
}

_malcom_
19 de Febrero del 2005
Ninguna sugerencia?????????????? jur jur