Autor Tema: C printf scanf isalpha saber si usuario introduce caracter consola lenguajeC  (Leído 2035 veces)

lbellone

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Hola gente de la comunidad tengo un problema con scanf.

Cuando hago esto funciona:

Código: [Seleccionar]
#include <stdio.h>
#include <ctype.h>

int main (){

float a='b';
int escaracter=0,terminar=0;


    escaracter=(int)a;
    terminar=isalpha(escaracter);
    printf("terminar=%d\nescaracter=%d\na=%f\n",terminar,escaracter,a);
    if(terminar!=0){
        printf("ES CARACTER\n");
        return 1;
                    }
    printf("NO ES CARACTER\n");
return 0;
}

Pero cuando hago esto no:

Código: [Seleccionar]
#include <stdio.h>
#include <ctype.h>

int main (){

float a=0;
int escaracter=0,terminar=0;
printf("Ingrese NUMERO o CARACTER\n");   
scanf("%f",&a);
    escaracter=(int)a;
    terminar=isalpha(escaracter);
    printf("terminar=%d\nescaracter=%d\na=%f\n",terminar,escaracter,a);
    if(terminar!=0){
        printf("ES CARACTER\n");
        return 1;
                    }
    printf("NO ES CARACTER\n");
return 0;
}
No entiendo porque scaf("%f",&a); si le pongo un caracter no me guarda nada, me guarda cero, como si ubiera ingresado un cero (0).
Porfavor si me puede ayudar, muchas gracias.
« Última modificación: 18 de Junio 2017, 18:33 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola lbellone, parece que estás haciendo un uso extraño de los conceptos de C, si le pones un caracter no te guarda nada puesto que has declarado que la variable es de tipo float que es un tipo numérico decimal

Te recomiendo revisar los conceptos, explicados en el curso C desde cero disponible en http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=82&Itemid=210

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".