Ayuda!! Programa En C!!!!!

Frank Hernandez
12 de Diciembre del 2009
Bueno Aqui He Traido El Programa Ya Funcionando Y Todo!!! Al Fin Investigando Un Poco Encontre Todo Por Partes Solo Debi Unirlos Y Cambiar Un Par De Cosas...

Pero Necesito Ayudaaaaaaaaa Porfavor!!! Lo Debo Entregar Antes De La Media Noche De Hoy Sabado...

Mi Problema Es Que Esta Todo Bien!! Pero Cuando Digitas Muchas Letras Y La Suma Es Por Ejemplo: 283 Pues Me Suma Es 28 + 3 Y Yo Necesito Es Que Me Sume 2+8+3 = 13 Y Luego El 1+3(Esta Parte Si La Hace)

Cuando La Suma Del Nombre Da 2 Digitos Si Los Suma Bien Pero Cuando Son 3 Pues... Toma Los Dos Primeros Y Los Suma Con El Ultimo T.T Help!!


#include<conio.h>
#include<stdio.h>
#include<string.h>


struct Nombre{
char nom[30];
}n;


int valorletras(char *nombre){
char letra;
letra = *nombre;
printf("%c" , letra );

if(letra==\'a\' || letra==\'b\' || letra==\'c\' || letra==\'A\' || letra==\'B\' || letra==\'C\' ){
printf(" = 0 \n");
return 0;
}
else if(letra==\'d\' || letra==\'e\' || letra==\'f\' || letra==\'D\' || letra==\'E\' || letra==\'F\' ){
printf(" = 1 \n");
return 1;
}
else if(letra==\'g\' || letra==\'h\' || letra==\'i\' || letra==\'G\' || letra==\'H\' || letra==\'I\' ){
printf(" = 2 \n");
return 2;
}
else if(letra==\'j\' || letra==\'k\' || letra==\'l\' || letra==\'J\' || letra==\'K\' || letra==\'L\' ){
printf(" = 3 \n");
return 3;
}
else if(letra==\'m\' || letra==\'n\' || letra==\'o\' || letra==\'M\' || letra==\'N\' || letra==\'O\' ){
printf(" = 4 \n");
return 4;
}
else if(letra==\'p\' || letra==\'q\' || letra==\'r\' || letra==\'P\' || letra==\'Q\' || letra==\'R\' ){
printf(" = 5 \n");
return 5;
}
else if(letra==\'s\' || letra==\'t\' || letra==\'S\' || letra==\'T\' ){
printf(" = 6 \n");
return 6;
}
else if(letra==\'u\' || letra==\'v\' || letra==\'U\' || letra==\'V\' ){
printf(" = 7 \n");
return 7;
}
else if(letra==\'W\' || letra==\'w\' || letra==\'X\' || letra==\'x\' ){
printf(" = 8 \n");
return 8;
}
else if(letra==\'y\' || letra==\'z\' || letra==\'Y\' || letra==\'Z\' ){
printf(" = 9 \n");
return 9;
}
return -1;
}

int main()
{

printf("Introduce tu nombre: ");
fflush(stdin);
gets(n.nom);
int acu=11;
int j=0, i=0;
i = 0;
acu = 0;
while( n.nom[i] != \'\0\' )
{
int valor = valorletras(&n.nom[i]);
if(valor!=-1)
{
acu+=valor;
}
i += 1;
}
printf("\n Suma De Todas Las Letras %d", acu);
int modulo, divi;

while(acu>=10)
{
j+=1;
modulo=acu%10;
divi=(int)acu/10;
acu=modulo+divi;
printf("\n Valor Temporal %d+%d", divi, modulo);
printf("\n Valor Final %d", acu, j);
}

printf("\n\nEl Resultado Es: %d", acu);
getch();
return 0;
}



Y Algo Mas.... Perdon Las Molestias, Quisiera Si Se Pudiera Que Donde Esta Definidas Las Palabras El int valorletras, quedara por debajo del menu y no arriba, al yo hacerlo pues me pide llamar al valor letras antes del menu entonces haber si se podria poner algo arriba del menu que llame la funcion de las letras que este abajo de todo...