¿Cómo puedo validar que un nombre no contenga caracteres que no sean números o letras?
Publicado por Jesus (16 intervenciones) el 11/08/2020 06:25:23
Hola. Soy algo nuevo en esto de programar en C++.
Tengo que validar que al ingresar un nombre no ingrese caracteres que no sean letras, números o espacios,
es decir, que se deba ingresar por ejemplo "mario kart 8". sin otro tipo de caracter.
También quisiera saber por qué sale un error de visual studio al ingresar un punto en un string.
Intenté hacerlo y así me quedó, pero no funciona. Lo hice por medio del codigo ascii (creo que así se usa).
Y ahora que lo pienso, todo esto lo podría hacer como do while no?
Tengo que validar que al ingresar un nombre no ingrese caracteres que no sean letras, números o espacios,
es decir, que se deba ingresar por ejemplo "mario kart 8". sin otro tipo de caracter.
También quisiera saber por qué sale un error de visual studio al ingresar un punto en un string.
Intenté hacerlo y así me quedó, pero no funciona. Lo hice por medio del codigo ascii (creo que así se usa).
Y ahora que lo pienso, todo esto lo podría hacer como do while no?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
cout << "Introduzca el nombre del videojuego" << endl;
getline(cin, videojuegos[i].nombrevideojuego);
//INICIA LA VALIDACION DEL NOMBRE DEL VIDEOJUEGO
for (int k = 0; k < 7; k++) {
if (videojuegos[i].nombrevideojuego[k] < ' ' || videojuegos[i].nombrevideojuego[k] > 'z') {
contadornombre++;
}
else {
if (videojuegos[i].nombrevideojuego[k] > ' ' && videojuegos[i].nombrevideojuego[k] < '0') {
contadornombre++;
}
else {
if (videojuegos[i].nombrevideojuego[k] > '9' && videojuegos[i].nombrevideojuego[k] < 'A') {
contadornombre++;
}
else {
if (videojuegos[i].nombrevideojuego[k] > 'Z' && videojuegos[i].nombrevideojuego[k] < 'a') {
contadornombre++;
}
}
}
}
}
while (contadornombre > 0) {
system("CLS");
cout << "El nombre del videojuego tiene "<<contadornombre<<" caracteres incorrectos" << endl;
cout << "Ingrese el nombre del videojuego correctamente" << endl;
getline(cin, videojuegos[i].nombrevideojuego);
contadornombre = 0;
for (int k = 0; k < 7; k++) {
if (videojuegos[i].nombrevideojuego[k] < ' ' || videojuegos[i].nombrevideojuego[k] > 'z') {
contadornombre++;
}
else {
if (videojuegos[i].nombrevideojuego[k] > ' ' && videojuegos[i].nombrevideojuego[k] < '0') {
contadornombre++;
}
else {
if (videojuegos[i].nombrevideojuego[k] > '9' && videojuegos[i].nombrevideojuego[k] < 'A') {
contadornombre++;
}
else {
if (videojuegos[i].nombrevideojuego[k] > 'Z' && videojuegos[i].nombrevideojuego[k] < 'a') {
contadornombre++;
}
}
}
}
}
}
//TERMINA LA VALIDACION DEL NOMBRE DEL VIDEOJUEGO
Valora esta pregunta
0