PDF de programación - Práctica Nº 11: Cadenas de caracteres: strings

Imágen de pdf Práctica Nº 11: Cadenas de caracteres: strings

Práctica Nº 11: Cadenas de caracteres: stringsgráfica de visualizaciones

Publicado el 16 de Marzo del 2019
669 visualizaciones desde el 16 de Marzo del 2019
32,7 KB
4 paginas
Creado hace 20a (09/12/2003)
[

] Departament

Departamento de Informática

d’Informàtica

Informática
PRÀCTICA 11
Curs 2002-2003

FACULTAT DE MATEMATIQUES

UNIVERSITAT DE VALENCIA

Práctica Nº 11: Cadenas de caracteres: strings

Objetivos de la práctica:
- Utilización de cadenas de caracteres (clase string de C++).
- Uso de funciones que operan con cadenas: funciones de la biblioteca string y de la ctype
- Uso de funciones de entrada y salida para trabajar con caracteres.

Cadenas de caracteres
Una cadena de caracteres (strings) no es más que un array de caracteres. Por esta razón, se suele
relacionar el concepto de string con el de array.
Las cadenas nos permiten la manipulación de textos.
En C++, existe el tipo (clase, en la nomenclatura de los lenguajes orientados a objetos) string. Para su
uso es preciso utilizar #include <string> (no usar <string.h> que es
la cabecera
correspondiente a la biblioteca de cadenas en C).

Definición de variables:
string palabra, frase;
string cadena(“Hola”);

Asignación de variables:
frase = “hola”;
palabra = frase;

Acceso a los caracteres:
Accederemos a cada uno de los caracteres integrantes de la cadena como si accediéramos a los
elementos de un array (una cadena es un array de caracteres).
char caracter
palabra=”hola”;
caracter= palabra[0] // Variable carácter tenemos el carácter “h” que es el
primer elemento // de la variable palabra

lectura/escritura:
Leer una palabra sola
cin >> palabra;
Leer toda una frase hasta encontrar el final de línea.
getline (cin, frase); // lee la frase del teclado hasta encontrar el final
de línea
cout << frase; //Muestra por pantalla una frase

Práctica Nº 11: Cadenas de caracteres: strings

1/4

[

] Departament

Departamento de Informática

d’Informàtica

Informática
PRÀCTICA 11
Curs 2002-2003

FACULTAT DE MATEMATIQUES

UNIVERSITAT DE VALENCIA

Paso de cadenas a las funciones
Al igual que los arrays, cuando se pasa una cadena a una función, sólo se le pasa la dirección de
comienzo de la cadena y no una copia de la cadena entera, es decir, el paso de cadenas como parámetro
de una función es también un paso por referencia, por tanto será parámetro de entrada pero al mismo
tiempo será parámetro de salida.

Funciones de entrada y salida de caracteres en C++
C++ ofrece algunos recursos para la entrada y salida de datos de caracteres.

Función

cin.get(car);

Descripción
Lee un carácter de entrada y lo guarda en una
variable de tipo char.

cout.put(car); Escribe un carácter de tipo char por la salida

estándar.

cin.ignore( ); Este método permite descartar caracteres

existentes en el buffer de entrada.

Ejemplos

char c1;
cin.get(c1);
char c1;
cout.put(c1);
cin.get(ch1);
cin.ignore( ); // Ignora
‘\n’

Operaciones que podemos realizar sobre las cadenas:
Operación

Descripción
Concatena (une) dos cadenas

cad1 + cad2

cad1 += cad2

El contenido de cad2 se
concatena (añade) al final) de
cad2; el tamaño se ajusta de
manera acorde.

cad1.insert(pos,cad2)

len= cad1.length( );

cad1.erase(pos,long)

Inserta la cadena cad2 en la
cadena cad1 a partir de la
posición pos.
Devuelve
caracteres de la cadena cad1.

número

el

de

Ejemplos
cad1=”Buenos”; cad2=”dias”;
concat1=cad1+cad2;
La variable frase contiene
“buenosdias”
concat2= cad1+” “+cad2;
La variable concat2 contiene la cadena
“Buenos dias”.

la cadena

cad1+=cad2;
En cad1 tenemos la cadena “Buenosdias”

cad2+=cad1;
En cad2 tenemos la cadena “diasBuenos”
cad1.insert(3,cad2);
En cad1 tenemos “Buediasnos”

i= cad1.length( );
i vale 6 (6 caracteres de “Buenos”).

Borra long caracteres de la
cadena cad1 desde la posición
pos.

cad1.erase(1,3);
Borra los caracteres “uen”, en

Práctica Nº 11: Cadenas de caracteres: strings

2/4

[

] Departament

Departamento de Informática

d’Informàtica

Informática
PRÀCTICA 11
Curs 2002-2003

FACULTAT DE MATEMATIQUES

UNIVERSITAT DE VALENCIA

cad1.replace(pos,long,
cad2)

pos= cad1.find (cad2)

la posición

(reemplaza)

Sustituye
caracteres de la cadena cad1
Empezando en
pos, por la cadena cad2.
Busca la cadena cad2 dentro
de
la cadena cad1, nos
devuelve la posición donde se
encuentra
primera
ocurrencia de cad2.

la

long

cad1 tendremos la cadena “Bos”.
cad1.replace(0,3,cad2);
Sustituye los caracteres “Bue” de cad1 por
los caracteres “dia” de cad2. En cad1
tendremos “diasnos”.

i=cad1.find(“ue”);
Devuelve 1
i=cad2.find(“ue”);
Devuelve -1, porque no se encuentra la
cadena “ue” en cad2.

cad= cad1.substr(1,3);
La cadena cad es “uen”.

cad1.substr(pos,long)

una

subcadena
Devuelve
formada por long caracteres
de la cadena cad1 desde la
posición pos.

Comparaciones:

cad1==cad2 cad1 != cad2
cad1<cad2 cad1 > cad2
cad1<=cad2 cad2 >=cad2

Determina igualdad o desigualdad; devuelve un valor booleano.
Todas
lexicográficas, de manera que
corresponden a nuestra idea intuitiva de cómo se comparan las
cadenas.

las comparaciones son

Funciones de carácter predefinidas
Algunas funciones que trabajan sobre caracteres y que nos pueden ser útiles en el procesamiento de
cadenas y por tanto de textos.
Estas funciones se encuentran definidas en la biblioteca “ctype”, necesitamos incluir la cabecera
“include <ctype.h” para utilizarlas.

Función

Descripción

toupper(car) Devuelve la versión mayúscula de car

tolower(car) Devuelve la versión minúscula de car

isupper(car) Devuelve true si car es una letra mayúscula;

de lo contrario devuelve false.

islower(car) Devuelve true si car es una letra minúscula; de

lo contrario devuelve false.

isalpha(car) Devuelve true si car es una letra del alfabeto;

de lo contrario devuelve false.

Ejemplo

char c= toupper(‘a’);
En la variable c tenemos ‘A’;

char c= tolower(‘A’);
En la variable c tenemos ‘a’;

if (isupper(c))
cout<<c<<”es mayúscula”;
if (islower(c))
cout<<c<< “es minúscula”;
char c=”$”;
if (isalpha(c))

Práctica Nº 11: Cadenas de caracteres: strings

3/4

[

] Departament

Departamento de Informática

d’Informàtica

Informática
PRÀCTICA 11
Curs 2002-2003

FACULTAT DE MATEMATIQUES

UNIVERSITAT DE VALENCIA

isdigit(car) Devuelve true si car es uno de los dígitos de

‘0’ a ‘9’; de lo contrario devuelve false.

isspase(car) Devuelve true si car es un carácter de espacio
en blanco, como el símbolo de nueva línea; de
lo contrario devuelve false.

cout<<c<< “es una letra”;
else
cout<<c<<“no es una letra”;
if (isdigit(‘3’))
Cout << “Es un digito”;
do
{
cin.get(c);
} while (! isspase(c));

Práctica Nº 11: Cadenas de caracteres: strings

4/4
  • Links de descarga
http://lwp-l.com/pdf15516

Comentarios de: Práctica Nº 11: Cadenas de caracteres: strings (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad