Вы находитесь на странице: 1из 22

PROGRAMACIN DE

COMPUTADORES
IV SEMESTRE
Clase No. 6
Ing. Jonathan Avendao Prez
strings

Es un conjunto de elementos que pueden ser letras, nmeros,


textos, etc. Las cadenas de caracteres en C++ pueden ser
definidas como un array de variables tipo char o una variable tipo
string.
Utilizacin de la clase string
C++ tiene una clase llamada string, la cual es muy til para la
manipulacin de texto. Esta clase puede utilizarse al incluir el
header
Definicin de strings
Sintaxis

char nombre [tamao] = " cadena";


String str1 = " cadena ";

Ejemplos:

char nombre1[10] = { 'J', 'U', 'A', 'N'};


char nombre2[10] = "JUAN";
char nombre3[] = "JUAN";
string nombre4 = "JUAN";
La cadena vaca
Otra curiosidad de las cadenas de caracteres se refiere a la cadena vaca, "", que consta
nicamente del carcter nulo. Puesto que los caracteres posteriores al carcter nulo son ignorados,
convertir una cadena con cualquier valor almacenado a la cadena vaca es tan simple como asignar
el carcter nulo a la posicin 0 de dicha cadena. He aqu un ejemplo:

char cadena [12] = "Una frase";


...
cadena[0] = \0; /* Ahora es una cadena vaca */

Fuente: http://paginadec.webcindario.com/old/cadenas-definicion.html
Ingreso de un string
Mediante la funcin getline se pueden leer lneas de texto que
incluyan espacios en blanco, lo que no se puede hacer con el
operador > > , que salta el espacio en blanco.

Sintaxis:

Donde str, es una cadena de caracteres de la clase string.


Concatenacin de string
La concatenacin es, en general, el acto de unir o enlazar cosas. Es la
operacin por la cual dos caracteres se unen para formar una cadena de
caracteres (o string). Tambin se pueden concatenar dos cadenas de
caracteres o un carcter con una cadena para formar una cadena de
mayor tamao. Algunos ejemplos:

'a' concatenado 'b' "ab"


"ABCD" concatenado 'b' "ABCDb"
'a' concatenado "XYZ" "aXYZ"
"ABCD" concatenado "XYZ" "ABCDXYZ

Tomado de: http://es.wikipedia.org/wiki/Concatenaci%C3%B3n


Concatenacin de string en C++
En C++ es posible concatenar caracteres o string. Con la clase
string este proceso se realiza con el operador +:

Sintaxis

Donde str1 y str2 son cadenas de caracteres de la clase string.


Comparacin de string en C++
En algunas ocasiones es necesario comparar diferentes cadenas
de caracteres. Con las strings de la clase string este proceso se
realiza igual que con cualquier tipo de variable con el operador
de relacin: ==.

Sintaxis:

Donde str1 y str2 son cadenas de caracteres de la clase string.


Este operador devuelve un 1 cuando ambas string son iguales y 0
cuando no
Determinar el tamao de string en C++
En algunas aplicaciones resulta de utilidad determinar el tamao
de una cadena de caracteres (string), esto puede realizarse en C++
de la siguiente manera:

Sintaxis

Donde str1 es una cadena de caracteres de la clase string, y Tam


es una variable tipo entero.
Indexacin de string en C++

La indexacin de cadenas (string) es el proceso por el cual es


posible indexar y manipular cadenas de caracteres a partir de un
ndice. Estas por tanto tienen un ndice que empieza a partir de 0
y finalizan con la cantidad de caracteres menos 1 (para ubicar el
ltimo carcter). Los objetos de tipo string tienen mtodos para
utilizar los ndices y para avanzar a travs de los caracteres con el
fin de efectuar y retornar bsquedas de valores, sub-cadenas y
una variedad de operaciones. LAS CADENAS SON
INMUTABLES, LO QUE SIGNIFICA QUE UN
PROGRAMADOR PUEDE BUSCAR PATRONES DE ESTAS
Y MODIFICAR, PERO NO AGREGAR O ELIMINAR
ELEMENTOS EN LAS MISMAS.
Indexacin de string en C++
strring str1 = " casco ";

El carcter \0 es un carcter vaco.


Para acceder a la posicin 0 de la cadena de caracteres de la
anterior figura, se realiza lo siguiente:
str1[0]
La anterior sentencia devuelve el carcter ubicado en el ndice 0.
Indexacin de string en C++
Es posible modificar una posicin especifica dentro de una
cadena de caracteres.

strring str1 = " casco ";

Str1[0] = k;

K
Diferencia entre un string de C y un string de
la clase string (C++).

Hay que diferenciar entre las strings de C, que son de tipo const
char * y las srtrings de la clase string. Ambas son cadenas de
caracteres pero son diferentes objetos y no se pueden procesar
igual, por ejmplo: las strings de C no pueden concatenarse con el
operador +, se debe utilizar el comando strcat.
Convertir un string de C en un string de la
clase string (C++).
En ocasiones es necesario convertir una string de la clase string
en una string de la clase C esto puede realizarse mediante la
funcin c_str().

Sintaxis

Donde str1 es una cadena de caracteres de la clase string.


Algunas funciones de la librera string.h
para strings de C
Ejemplo 1

Realizar un programa que solicite ingresar por pantalla los


nombres y apellidos de una persona y luego los muestre por
pantalla.

Hint: Recuerde usar la sentencia getline para capturar el string


por pantalla
Script 1
#include <iostream>
#include <string.h>

using namespace std;

int main(){
string nombre;
cout<<"Por favor Ingrese su nombre"<<endl;
getline(cin,nombre);
cout<<"Su nombre es: "<<nombre<<endl;
system("pause");
}
Ejemplo 2

Realizar un programa que solicite ingresar por pantalla el nombre


de una persona y luego muestre por pantalla el nombre al revs.

Ejemplo:

jonathan -> nahtanoj


Script 2
#include <iostream>
#include <string.h>

using namespace std;

int main(){
//Declarar variables
string nombre;
int tam = 0, i = 0;

//Ingresar string
cout<<"Por favor Ingrese su nombre"<<endl;
getline(cin,nombre);

//Calcular el tamao del string


tam = nombre.size();

//Procesar el string
cout<<"Su nombre al reves es: "<<endl;
for(i = tam-1;i>=0;i--){
cout<<nombre[i];
}
cout<<endl;

//Pausa del sistema


system("pause");
}
Ejemplo 3
Realizar un programa que solicite ingresar una frase cualquiera y
luego reemplace todas las a por 1, las e por 2, las i por 3, las
o por 4 y las u por 5.

Ejemplo:

Murcielago -> M5rc32l1g4


Script 3
#include <iostream>
#include <string.h>

using namespace std;

int main(){
//Declarar variables
string nombre;
int tam = 0, i = 0;

//Ingresar string
cout<<"Por favor Ingrese su nombre"<<endl;
getline(cin,nombre);

//Calcular el tamao del string


tam = nombre.size();

//Procesar el string
for(i = 0;i<tam;i++){
switch (nombre[i]){
case 'a':{
nombre[i] = '1';
break;
}
case 'e':{
nombre[i] = '2';
break;
}
case 'i':{
nombre[i] = '3';
break;
}
case 'o':{
nombre[i] = '4';
break;
}
case 'u':{
nombre[i] = '5';
break;
}
default:
break;
}
}

cout<<nombre<<endl;

//Pausa del sistema


system("pause");
}

Вам также может понравиться