traductor morse en C

Franki
05 de Octubre del 2008
Estoy intentando hacer un traductor de castellano-morse y viceversa.
He hecho esto:
"#include <stdio.h>

int main (){
unsigned char frase[30];
int i;
int e;

printf("nnTraductor de Código Morse/Castellanonn");
printf("1. Para traducir de castellano a morsen2. Para traducir de morse a castellano");
scanf(" %i", &i);
switch (i)
{
case 1:
printf("Escriba la frase (máximo 30 caracteres) en castellano para su traducción al morsen");
scanf("%s", frase);
e=0;
while( frase[e] != ''){
if(frase[e] = 'a' ){
printf( ".- ");
e++;
}
if(frase[e] = 'b'){
printf( "-... ");
e++;
}
if(frase[e] = 'c'){
printf( "-.-. ");
e++;
}
e++;
}
printf( "n");
break;
}
}
"

Cabe decir que no esta acabado, y que no funciona, si lo ejecuto me sale esto:
"

Traductor de Código Morse/Castellano

1. Para traducir de castellano a morse
2. Para traducir de morse a castellano1
Escriba la frase (máximo 30 caracteres) en castellano para su traducción al morse
cba
.- -... -.-. .- -... -.-. .- -... -.-. .- -... -.-.
"

A ver si me podéis aconsejar de que esta mal y el porque falla.

Muchas gracias