RE:Ayuda URGENTE EXAMEN!!
como no sé lo que realmente quieres ,prueba este programa .
la funcion capitalizar convierte a mayusculas el primer caracter de una cadena
y el resto a minusculas , este programa tambien hace lo contrario.
la funcion x_capitalizar convierte la primera letra de cada palabra a minusculas
y el resto del texto a mayusculas .
cambia x_capitalizar por capitalizar si es lo que necesitas .
saludos y no os presenteis todos con el mismo examen.
______________________________________________________
{
la funcion x_capitalizar usa la funcion mayusculas
minusculas convierte una cadena a minusculas
* mayusculas convierte una cadena a mayusculas
capitalizar convierte el primer caracter de una cadena a MAY
* X_capitalizar convierte el primer caracter de una cadena a minusculas
}
var cadena:string;
function minusculas(cadena:string):string;
var a:integer;
begin
for a:=1 to length (cadena) do
begin
if cadena[a] in ['A'..'Z'] then cadena[a]:=chr(ord(cadena[a])+32);
end;
minusculas:=cadena;
end;
function mayusculas(cadena:string):string;
var a:integer;
begin
for a:=1 to length (cadena) do
begin
if cadena[a] in ['a'..'z'] then cadena[a]:=chr(ord(cadena[a])-32);
end;
mayusculas:=cadena;
end;
function capitalizar(cadena:string):string;
var a:integer;
begin
cadena[1]:=upcase(cadena[1]);
for a:=1 to length(cadena) do
begin
if cadena[a]=' ' then (cadena[a+1]):=upcase(cadena[a+1]);
capitalizar:=cadena;
end;
end;
function x_capitalizar(cadena:string):string;
var a:integer;
caracter:char;
begin
cadena:=mayusculas(cadena); { todo a minusculas }
if (cadena[1] in ['A'..'Z']) then
cadena[1]:=chr(ord(cadena[1])+32); { primer caracter a min }
{ recorremos el bucle desde el segundo caracter hasta el final de la cadena }
{ si encontramos un caracter espacio, es nuestro separador de palabras }
{la siguiente letra, es el comienzo de una palabra la convertimos a minuscula}
{ siempre y cuando no sea tambien un caracter separador }
for a:=2 to length(cadena)do
begin
if cadena[a]=' ' then
begin
if (cadena[a+1]<>' ') then
(cadena[a+1]):=chr(ord(cadena[a+1])+32);
end;
end;
x_capitalizar:=cadena;
end;
{***************** AQUI COMIENZA EL PROGRAMA PRINCIPAL *********************}
begin
writeln('introducca una cadena de caracteres y ser canvertida ');
writeln('pulse solo INTRO para SALIR' );
repeat
write('cadena sin convertir:' );
readln(Cadena);
if cadena='' then
begin
writeln('Programa Terminado ');
readln;
halt;
end;
write('cadena convertida :' );
writeln(x_capitalizar(cadena));
readln;
until cadena=''; { repetimos }
END.
______________________________________________________
MICROPAIS