hola de nuevo necesito de ayuda para un programa el cual me piden que tengo q guardar una variable de tipo decimal(float) y guardarla en una char para luego imprimir en pantalla su valor de la tabla ascii, hay algunas condiciones :
el valor del numero debo pedirlo al usuario entre 0.0 a 9.9, y solamente debe ingresar 1 decimal, de lo contrario debo mostrar un mensaje de error y terminar el programa, si se puede me gustaria saber el metodo inverso, ke me den un simbolo de la tabla ascii y yo imprima su decimal correspondiente. , aki esta lo que hice (C):
/*
================================================== ==========================
Name : ascii.c
Author :
Version :
Copyright : Your copyright notice
Description : decimal a char y char a decimal
================================================== ==========================
*/
//Hacer un programa que pueda guardar un valor del 0.0 al 9.9(decimal o float) dentro de una variable char.
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
//#include <string.h>
int main(void) {
//declaracion de variables locales
float fdec;
char cdato;
//pedir un valor entre 0.0 y 9.9 y q se respete el rango
printf("\nIntroduce un numero del 0.0 al 9.9: ");
scanf("%f", & fdec);
if(fdec<0.0 || fdec>9.9)
{
puts("ERROR, valor no aceptado");
}
else{
fdec=fdec*10;
cdato=(char)fdec; //float-->char
printf("\n%c", cdato);
}
/*aqui no supe como comparar para saber si me dio el //numero con 2 punto decimal o mas.
if(strlen(cdato)>2){
printf("\nERROR, valor no aceptado");
}
//multiplicar por 10 para pasarlo a entero y asi imprimir su //valor char de la tabla ASCII
else{
printf("\n%c", cdato);
}
*/
/*aki no se hacer de char a decimal ;(
printf("\n------------------------------------------------------------\n");
printf("\nAhora introduzca un simbolo o letra:");
scanf("%c", & cdato);
*/
printf("\n\nFIN DE PROGRAMA");
return EXIT_SUCCESS;
}