SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
Fundamentos de Informática              Prof. Marlene                              I ciclo 2012


                                           Caracteres
char: permite guardar una sola letra, carácter o símbolo especial.

                                    Cadena de Caracteres
Las variables de tipo string representan cadenas de caracteres, o sea son variables que
permiten almacenar texto, símbolos, números.

Se debe utilizar el archivo de encabezado:          #include<string>
string pertenece al espacio de nombres std.


El valor inicial de un objeto string es una cadena vacía o sea no contiene caracteres.

Declarar una variable string
string nombre;
string pais;

Asignar un valor a una variable de tipo string
Cuando se declara una variable string, se puede inicializar de una vez ejemplo:
string pais = "Costa Rica";
string pais ("Costa Rica");


o realizar la asignación posteriormente, ejemplo:
string pais;
pais = "Costa Rica";

La asignación se puede hacer mediante teclado, a través del objeto de flujo de entrada cin.

cout<<"Digite su nombre ";
cin>> nombre;

La entrada desde el dispositivo de entrada (teclado), se delimita por caracteres de espacio en
blanco. Por lo tanto si en la solicitud anterior usted digito su nombre y apellido lee caracteres
hasta encontrar un carácter de espacio en blanco o un indicador de fin de archivo, lo que el
usuario digite después de presionar la tecla de espacio, no se almacena.

getline
Para obtener cadenas de caracteres con espacios, ejemplo su nombre y apellidos, se utiliza la
instrucción:
        getline(cin, nombre); // esta instrucción en lugar de cin>>nombre;

NOTA: al utilizar el flujo de entrada cin y luego utilizar getline, puede producir problemas
ejemplo:

                                                                                                    1
Fundamentos de Informática             Prof. Marlene                              I ciclo 2012


cout<<"n Digite su edad";
cin>> edad;
cout<<"n Digite su nombre";
getline(cin, nombre);

Cuando el compilar llega a la instrucción cin hará un paro para poder ingresar datos a través del
teclado, luego se presiona la tecla Enter para finalizar. Aquí se produce el problema ya que No
se hará un alto en la instrucción getline como debería suceder, ya que getline capta el último
carácter almacenado en el buffer de la memoria (null o símbolo especial 0). Para evitar este
error se utiliza la función miembro llamada ignore(), antes del getline.

cin.ignore();    Esto evitará que getline capte el último carácter especial (enter).

Note: no siempre es necesario escribir la instrucción cin.ignore();antes del getline, solo
cuando lo antecede una entrada cin.

cin.getline
También puede utilizar la instrucción cin.getline para la lectura de cadenas con variables tipo
char.
                                  cin.getline( cadena , tamaño , carácter)
- cadena: nombre de la variable donde se almacenará la cadena.
- tamaño: nº máximo de caracteres que se leerán. El tamaño debe ser como máximo la longitud
que aparece en la declaración de la cadena.
- carácter: se leerán caracteres hasta que se encuentre el carácter especificado en este espacio.
 Si no se especifica un carácter, el compilador supone que es ‘n’.

char nombre[15];
…
cin.getline (nombre, 15); /* con esta sintaxis, se debe anteponer la instrucción
cin.ignore(); cuando lo antecede una entrada cin.*/

cin.getline (nombre, 15, 'n');
con cin.ignore();                    Sin cin.ignore();



                                                                  Caracter nulo de terminación




cin.getline   se utiliza con el archivo de encabezado string




                                                                                                 2
Fundamentos de Informática              Prof. Marlene                              I ciclo 2012


setw
Al leer una cadena y colocarla en un arreglo mediante la extracción de flujo con cin, se puede
utilizar el manipulador de flujo setw para garantizar que la cadena almacenada no exceda el
tamaño del arreglo. Ejemplo

char palabra [10];
cin>> setw(10) >> palabra;

cin debe leer un máximo de 9 caracteres, y almacenar el carácter nulo de terminación en la
última ubicación.
De no especificarse el setw( ), se mostraran todos los caracteres digitados si exceden a 10.

setw   se utiliza con el archivo de encabezado iomanip.
setw   pertenece al espacio de nombres std.

Mostrar una cadena de caracteres
A pesar de estar compuestas por caracteres, las cadenas, poseen una dualidad que permite un
tratamiento como si fuera una “entidad atómica” o, mostrando carácter a carácter o sea
accesando cada una de sus celdas por separado.

cout << "Su nombre es " <<nombre;

longitud de una cadena

La longitud de una cadena se refiere al número de caracteres que la componen incluyendo los
espacios en blanco.

La longitud se obtiene mediante la función miembro length o la función miembro size.

El operador subíndice [ ], se utilizan con variables string y char para acceder al carácter de forma
individual y modificarlo nombre[3]

El primer subíndice 0 y el ultimo subíndice length()-1

                                             0 1 2

                                             a n a


Sintaxis: variable . length ( )

cout<<”n la longitud de su nombre es”<< nombre.length();




                                                                                                  3
Fundamentos de Informática           Prof. Marlene                            I ciclo 2012


   Desplegar carácter a carácter la cadena almacenada:

   void main(){

   string nombre;
   int i;

   cout<<"n Digite su nombre";
   cin>> nombre;

   for(i=0;i<nombre.length();i++)
   cout<<"n"<<nombre[i];

   system ("pause")

   }


Conversión de cadenas a Mayúsculas o minúsculas

La función islower determina si su argumento es una letra minúscula.
toupper convierte una letra minúscula a mayúscula.
La función isupper determina si su argumento es una letra mayúscula.
tolower convierte una letra mayúscula en minúscula.

Estas funciones se utilizan con el archivo de encabezado #include <ctype.h>

void main()
{

string caracter;
int i, lon;

cout<<"n Ingrese su letra, palabra o frase a convertir"<< endl;
getline(cin,caracter);
lon=caracter.length();
for(i=0; i<lon; i++){
      if (islower(caracter[i])){
             caracter [i]= toupper(caracter[i]);
             cout<<caracter[i];
      }
      else{
      caracter[i]= tolower(caracter[i]);
      cout<<caracter[i];
      }
}
system ("pause");
}




                                                                                             4
Fundamentos de Informática             Prof. Marlene                             I ciclo 2012


Ejercicios:

    1. Realizar un programa que solicite el nombre y apellido al usuario y lo almacene en una
       variable, despliegue el contenido de la variable, carácter x carácter en forma vertical,
       luego imprima en pantalla la frase ”su nombre en forma inversa” y despliegue a
       continuación la hilera en forma inversa carácter x carácter horizontalmente.
    2. Realizar un programa que solicite el nombre al usuario y lo almacene en una variable,
       luego despliegue la longitud del nombre.




                                                                                                  5

Más contenido relacionado

La actualidad más candente

La actualidad más candente (19)

Presentación de c #
Presentación de c #Presentación de c #
Presentación de c #
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Poo4
Poo4Poo4
Poo4
 
4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum
 
Estructuras en C
Estructuras en CEstructuras en C
Estructuras en C
 
Variables de-programación
Variables de-programaciónVariables de-programación
Variables de-programación
 
Logica taller de tipo de datos
Logica taller de tipo de datosLogica taller de tipo de datos
Logica taller de tipo de datos
 
Tpos de datos c#
Tpos de datos c#Tpos de datos c#
Tpos de datos c#
 
Tipos Primitivos y Elementos Léxicos de Java
Tipos Primitivos y Elementos Léxicos de JavaTipos Primitivos y Elementos Léxicos de Java
Tipos Primitivos y Elementos Léxicos de Java
 
Apuntadores y direccionamiento
Apuntadores y direccionamientoApuntadores y direccionamiento
Apuntadores y direccionamiento
 
Introducción
IntroducciónIntroducción
Introducción
 
El papel del analizador sintáctico
El papel del analizador sintácticoEl papel del analizador sintáctico
El papel del analizador sintáctico
 
Codigos de grupo
Codigos de grupoCodigos de grupo
Codigos de grupo
 
Ap n° 3 rios,m. fernanda
Ap n° 3 rios,m. fernandaAp n° 3 rios,m. fernanda
Ap n° 3 rios,m. fernanda
 
Identificadores, variables y constantes
Identificadores, variables y constantesIdentificadores, variables y constantes
Identificadores, variables y constantes
 
Tipos de datos usados en c
Tipos de datos usados en cTipos de datos usados en c
Tipos de datos usados en c
 
Lenguajes de Programación: Tutorial csharp
Lenguajes de Programación: Tutorial csharpLenguajes de Programación: Tutorial csharp
Lenguajes de Programación: Tutorial csharp
 
Introducción a los Punteros en el lenguaje C
Introducción a los Punteros en el lenguaje CIntroducción a los Punteros en el lenguaje C
Introducción a los Punteros en el lenguaje C
 
08 - Punteros en lenguaje C
08 - Punteros en lenguaje C08 - Punteros en lenguaje C
08 - Punteros en lenguaje C
 

Similar a Cadena de caracteres (20)

08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
 
Introducción a C SHARP
Introducción a C SHARPIntroducción a C SHARP
Introducción a C SHARP
 
SantaellaU8-EjerciciosCadenadeCaracteres
SantaellaU8-EjerciciosCadenadeCaracteresSantaellaU8-EjerciciosCadenadeCaracteres
SantaellaU8-EjerciciosCadenadeCaracteres
 
C sharp intro0
C sharp intro0C sharp intro0
C sharp intro0
 
C sharp intro0
C sharp intro0C sharp intro0
C sharp intro0
 
Lenguaje de Programacion - Java
Lenguaje de Programacion - JavaLenguaje de Programacion - Java
Lenguaje de Programacion - Java
 
Arreglos en C++
Arreglos en C++Arreglos en C++
Arreglos en C++
 
Estructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionEstructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacion
 
Unidad-2.pptx.pdf
Unidad-2.pptx.pdfUnidad-2.pptx.pdf
Unidad-2.pptx.pdf
 
programacion07 (1).pdf
programacion07 (1).pdfprogramacion07 (1).pdf
programacion07 (1).pdf
 
Funciones cadena
Funciones cadenaFunciones cadena
Funciones cadena
 
C sharp intro0
C sharp intro0C sharp intro0
C sharp intro0
 
Implementacion de punteros
Implementacion de punterosImplementacion de punteros
Implementacion de punteros
 
5 Vb.Net
5 Vb.Net5 Vb.Net
5 Vb.Net
 
Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015
 
02 Bases Del Lenguaje Java
02   Bases Del Lenguaje Java02   Bases Del Lenguaje Java
02 Bases Del Lenguaje Java
 
Cuadro sipnotico de los tipos de errores en c++ by plata cabello
Cuadro sipnotico de los tipos de errores en c++ by plata cabelloCuadro sipnotico de los tipos de errores en c++ by plata cabello
Cuadro sipnotico de los tipos de errores en c++ by plata cabello
 
Librerias de dev c++
Librerias de dev c++Librerias de dev c++
Librerias de dev c++
 
Funciones de entrada y salida
Funciones de entrada y salidaFunciones de entrada y salida
Funciones de entrada y salida
 
Ficheros C++
Ficheros C++Ficheros C++
Ficheros C++
 

Cadena de caracteres

  • 1. Fundamentos de Informática Prof. Marlene I ciclo 2012 Caracteres char: permite guardar una sola letra, carácter o símbolo especial. Cadena de Caracteres Las variables de tipo string representan cadenas de caracteres, o sea son variables que permiten almacenar texto, símbolos, números. Se debe utilizar el archivo de encabezado: #include<string> string pertenece al espacio de nombres std. El valor inicial de un objeto string es una cadena vacía o sea no contiene caracteres. Declarar una variable string string nombre; string pais; Asignar un valor a una variable de tipo string Cuando se declara una variable string, se puede inicializar de una vez ejemplo: string pais = "Costa Rica"; string pais ("Costa Rica"); o realizar la asignación posteriormente, ejemplo: string pais; pais = "Costa Rica"; La asignación se puede hacer mediante teclado, a través del objeto de flujo de entrada cin. cout<<"Digite su nombre "; cin>> nombre; La entrada desde el dispositivo de entrada (teclado), se delimita por caracteres de espacio en blanco. Por lo tanto si en la solicitud anterior usted digito su nombre y apellido lee caracteres hasta encontrar un carácter de espacio en blanco o un indicador de fin de archivo, lo que el usuario digite después de presionar la tecla de espacio, no se almacena. getline Para obtener cadenas de caracteres con espacios, ejemplo su nombre y apellidos, se utiliza la instrucción: getline(cin, nombre); // esta instrucción en lugar de cin>>nombre; NOTA: al utilizar el flujo de entrada cin y luego utilizar getline, puede producir problemas ejemplo: 1
  • 2. Fundamentos de Informática Prof. Marlene I ciclo 2012 cout<<"n Digite su edad"; cin>> edad; cout<<"n Digite su nombre"; getline(cin, nombre); Cuando el compilar llega a la instrucción cin hará un paro para poder ingresar datos a través del teclado, luego se presiona la tecla Enter para finalizar. Aquí se produce el problema ya que No se hará un alto en la instrucción getline como debería suceder, ya que getline capta el último carácter almacenado en el buffer de la memoria (null o símbolo especial 0). Para evitar este error se utiliza la función miembro llamada ignore(), antes del getline. cin.ignore(); Esto evitará que getline capte el último carácter especial (enter). Note: no siempre es necesario escribir la instrucción cin.ignore();antes del getline, solo cuando lo antecede una entrada cin. cin.getline También puede utilizar la instrucción cin.getline para la lectura de cadenas con variables tipo char. cin.getline( cadena , tamaño , carácter) - cadena: nombre de la variable donde se almacenará la cadena. - tamaño: nº máximo de caracteres que se leerán. El tamaño debe ser como máximo la longitud que aparece en la declaración de la cadena. - carácter: se leerán caracteres hasta que se encuentre el carácter especificado en este espacio. Si no se especifica un carácter, el compilador supone que es ‘n’. char nombre[15]; … cin.getline (nombre, 15); /* con esta sintaxis, se debe anteponer la instrucción cin.ignore(); cuando lo antecede una entrada cin.*/ cin.getline (nombre, 15, 'n'); con cin.ignore(); Sin cin.ignore(); Caracter nulo de terminación cin.getline se utiliza con el archivo de encabezado string 2
  • 3. Fundamentos de Informática Prof. Marlene I ciclo 2012 setw Al leer una cadena y colocarla en un arreglo mediante la extracción de flujo con cin, se puede utilizar el manipulador de flujo setw para garantizar que la cadena almacenada no exceda el tamaño del arreglo. Ejemplo char palabra [10]; cin>> setw(10) >> palabra; cin debe leer un máximo de 9 caracteres, y almacenar el carácter nulo de terminación en la última ubicación. De no especificarse el setw( ), se mostraran todos los caracteres digitados si exceden a 10. setw se utiliza con el archivo de encabezado iomanip. setw pertenece al espacio de nombres std. Mostrar una cadena de caracteres A pesar de estar compuestas por caracteres, las cadenas, poseen una dualidad que permite un tratamiento como si fuera una “entidad atómica” o, mostrando carácter a carácter o sea accesando cada una de sus celdas por separado. cout << "Su nombre es " <<nombre; longitud de una cadena La longitud de una cadena se refiere al número de caracteres que la componen incluyendo los espacios en blanco. La longitud se obtiene mediante la función miembro length o la función miembro size. El operador subíndice [ ], se utilizan con variables string y char para acceder al carácter de forma individual y modificarlo nombre[3] El primer subíndice 0 y el ultimo subíndice length()-1 0 1 2 a n a Sintaxis: variable . length ( ) cout<<”n la longitud de su nombre es”<< nombre.length(); 3
  • 4. Fundamentos de Informática Prof. Marlene I ciclo 2012 Desplegar carácter a carácter la cadena almacenada: void main(){ string nombre; int i; cout<<"n Digite su nombre"; cin>> nombre; for(i=0;i<nombre.length();i++) cout<<"n"<<nombre[i]; system ("pause") } Conversión de cadenas a Mayúsculas o minúsculas La función islower determina si su argumento es una letra minúscula. toupper convierte una letra minúscula a mayúscula. La función isupper determina si su argumento es una letra mayúscula. tolower convierte una letra mayúscula en minúscula. Estas funciones se utilizan con el archivo de encabezado #include <ctype.h> void main() { string caracter; int i, lon; cout<<"n Ingrese su letra, palabra o frase a convertir"<< endl; getline(cin,caracter); lon=caracter.length(); for(i=0; i<lon; i++){ if (islower(caracter[i])){ caracter [i]= toupper(caracter[i]); cout<<caracter[i]; } else{ caracter[i]= tolower(caracter[i]); cout<<caracter[i]; } } system ("pause"); } 4
  • 5. Fundamentos de Informática Prof. Marlene I ciclo 2012 Ejercicios: 1. Realizar un programa que solicite el nombre y apellido al usuario y lo almacene en una variable, despliegue el contenido de la variable, carácter x carácter en forma vertical, luego imprima en pantalla la frase ”su nombre en forma inversa” y despliegue a continuación la hilera en forma inversa carácter x carácter horizontalmente. 2. Realizar un programa que solicite el nombre al usuario y lo almacene en una variable, luego despliegue la longitud del nombre. 5