Como hago un string, que solo permita LETRAS
Publicado por El pepe (3 intervenciones) el 08/10/2020 23:26:19
Como hago un string, que solo permita LETRAS, que no puedan ingresar numeros o caracteres como parte del string
Valora esta pregunta


0
program ValidaSoloLetras;
uses crt;
type
conjunto = array[1..100] of string;
var
alfabeto:conjunto;//contiene mayusculas y minusculas
i,j,k,cont,longlista:byte;//i,j,k iterativos;contador;longitud de lista
valido:boolean;
letras:string;
begin clrscr;
//Letras minusculas y mayusculas
longlista:=52;
for i:=1 to 26 do
alfabeto[i]:=chr(64+i); //es necesario ver la Tabla Ascii. Mayusculas
for i:=1 to 26 do
alfabeto[26+i]:=char(96+i);//es necesario ver la Tabla Ascii. Minusculas
write('Escriba solo letras: ');
readln(letras);
//proceso de validación
j:=1; valido:=true;
while (j<=length(letras)) and (valido=true) do//siempre y cuando cada_caracter sea letra
begin //primer while
k:=1 ; cont:=0;
while (k<=longlista) and (cont=0) do//siempre y cuando el_caracter sea una letra
begin //segundo while
if copy(letras,j,1) = alfabeto[k] then //si el_caracter es una letra
cont:=cont+1;//ese_caracter es valido
k:=k+1;
end;//segundo while
if cont <> 1 then//si un_caracter no es una letra
valido:=false;//ese_caracter no es válido
j:=j+1;
end; //primer while
//mostrar si tiene solo letras
if valido then
writeln(' solo tiene letras')
else
writeln(' tiene caracteres que no son letras');
readkey; end.
program ValidaSoloLetras;
uses crt;
const
max = 100;
type
conjunto = array[1..max] of string;
var
alfabeto:conjunto;//contiene mayusculas y minusculas
i,j,k,longlista:byte;//i,j,k iterativos;longitud de lista
valido,fin_lista:boolean;
letras:string;
begin clrscr;
//Letras minusculas y mayusculas
for i:=1 to 26 do
alfabeto[i]:=chr(64+i); //es necesario ver la Tabla Ascii. Mayusculas
for j:=1 to 26 do
alfabeto[i+j]:=char(96+j);//es necesario ver la Tabla Ascii. Minusculas
//hallar la longitud de lista
k:=1; fin_lista:=false;
while (k<=max) and (fin_lista=false) do //mientras no se llegue al fin de lista
begin
if alfabeto[k] = '' then
begin
longlista:=k-1;
fin_lista:=true;
end;
k:=k+1;
end;
//el usuario introduce las letras
write('Escriba solo letras: ');
readln(letras);
//proceso de validación
j:=1; valido:=true;
while (j<=length(letras)) and (valido=true) do//siempre y cuando cada_caracter sea letra
begin //primer while
k:=1 ; valido:=false;
while (k<=longlista) and (valido=false) do//siempre y cuando el_caracter sea una letra
begin //segundo while
if copy(letras,j,1) = alfabeto[k] then //si el_caracter es una letra
valido:=true;//ese_caracter es valido
k:=k+1;
end;//segundo while
j:=j+1;
end; //primer while
//mostrar si tiene solo letras
if valido then
writeln(' solo tiene letras')
else
writeln(' tiene caracteres que no son letras');
readkey; end.