0 votos
por (20 puntos) en C/C++

Buenas estoy hablando por este foro porque tengo una duda ,

estoy intentando comprobar que una cadena de caracteres, introducidas por el usuario, sea alfanumerica. He intentado utilizar la libreria ctype.h con la funcion isalnum pero nada. Os enseño mi programa:

#include <iostream>
#include <ctype.h>

using namespace std;

const int KNAME=32;

struct Hero{
  char name[KNAME];
}hero1;

bool nombre ();
int main(){
    bool nom;
    nom=true;
    
    cout<<"Introduce un nombre alfanumerico: ";
    nom=nombre();
    if (nom==false)
        cout<<"Otra vez";
    else
        cout<<"good";

    return 0;
}

bool nombre(){
    int i, aux;
    bool cd;
    aux=0;
    cin.getline(hero1.name, KNAME-1, '\n');
    for(i=0;i<KNAME-1;i++){
        if(isalnum(hero1.name[i])!=0 || hero1.name[i]==' '){
        aux=aux+1;
        cd=true;
        }
        else if (isalnum(hero1.name[i])!=1){
            cd=false;
        }
    }
    
    cout<<aux<<" "<<cd;
    return cd;
}

 El fallo por lo que he visto se produce en el for pero no se por que. 

Gracias por su tiempo

2 Respuestas

0 votos
por (400 puntos)

Alfanumérico es un término colectivo que se utiliza para identificar letras del alfabeto latino y de números arábigos. ​ Es un vocablo híbrido (derivado de: a) «alfa» (primera letra del alfabeto griego), aféresis de la dicción «alfabeto»; b) el sustantivo latino «número»; c) el sufijo «ico»: relativo a.

0 votos
por (740 puntos)

Los caracteres alfanuméricos comprenden la combinación de los veintiséis caracteres del alfabeto (de la A a la Z) y los números del 0 al 9. Por lo tanto, 1, 2, q, f, m, p y 10 son todos ejemplos de caracteres alfanuméricos. Los símbolos como *, & y @ también se consideran caracteres alfanuméricos.

Preguntas relacionadas

0 votos
0 respuestas
preguntado por sanchez82192 (20 puntos) Oct 22, 2020 en C/C++
+1 voto
3 respuestas
preguntado por anónimo Feb 9, 2016 en Java
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...