Convertir una cadena a numeros!!!
Necesito hacer lo siguiente y no tengo la menor idea:
Escribir un programa que lea 10 claves Alfanumericas, las claves estarán cmpuestas de una letra (A..I), seguida de tres dígitos (ejemplo: A215), cada letra de la A..I, tendrán los valores 1,2,3,4,5,6,7,8 y 9 respectivamente. Para poder utilizar cualquiera de las funciones HASH(modulo, cuadrado, plegamiento o truncamiento), en el programa transformará la clave A215 en 1215 (A=1) para poder aplicar la funcion escogida. Si alguien me da una idea de como hacerlo, se lo agradecere infinitamente, Gracias!!!
Escribir un programa que lea 10 claves Alfanumericas, las claves estarán cmpuestas de una letra (A..I), seguida de tres dígitos (ejemplo: A215), cada letra de la A..I, tendrán los valores 1,2,3,4,5,6,7,8 y 9 respectivamente. Para poder utilizar cualquiera de las funciones HASH(modulo, cuadrado, plegamiento o truncamiento), en el programa transformará la clave A215 en 1215 (A=1) para poder aplicar la funcion escogida. Si alguien me da una idea de como hacerlo, se lo agradecere infinitamente, Gracias!!!
Puedes leer la clave con algo como esto
char letra;
int numero;
scanf ("%c%d", &letra, &numero);
Para convertir la letra a numero haces una cuenta simple
int codigo = letra - 'A' + 1;
Esto resta el codigo ascii de la A del codigo ascii de la letra leida. La A quedará como 0, la B como 1, etc. Sumando 1 arreglado.
La clave final la puedes obtener asi
int clave_final = codigo*1000 + numero;
Se bueno
char letra;
int numero;
scanf ("%c%d", &letra, &numero);
Para convertir la letra a numero haces una cuenta simple
int codigo = letra - 'A' + 1;
Esto resta el codigo ascii de la A del codigo ascii de la letra leida. La A quedará como 0, la B como 1, etc. Sumando 1 arreglado.
La clave final la puedes obtener asi
int clave_final = codigo*1000 + numero;
Se bueno
