La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Cadenas de caracteres.

Presentaciones similares


Presentación del tema: "Cadenas de caracteres."— Transcripción de la presentación:

1 Cadenas de caracteres

2 El tipo de datos “cadena” no existe en C/C++.
Lo que utilizamos para manipular cadenas de caracteres es un vector de tipo char. char nombre[16]; Aquí estamos definiendo una cadena de caracteres de tamaño 16, lo que nos va a permitir guardar el nombre de una persona usando hasta 15caracteres ya que el último caracter se reserva para guardar el <enter> que hace el usuario al terminar de ingresar el nombre. Este <enter> se guarda automáticamente con el símbolo \0

3 Se puede incializar una cadena de caracteres de 2 maneras:
char cadena[10]={‘M’, ‘a’, ‘r’, ‘i’, ‘a’}; O también: char cadena[10]=“Maria”; Y también se puede así: char cadena[]=“Maria”; En este caso la cadena toma la longitud para el enter.

4 La diferencia entre un vector de caracteres y una cadena de caracteres es que la cadena de caracteres termina con el carácter ‘\0’ y el vector de caracteres no. Las cadenas de caracteres se pueden leer con un cin>> pero si hay espacios en blanco, la cadena se corta. Por ejemplo, si ingreso la cadena “Hola qué tal” y la leo con un cin>>, me lee únicamente la palabra “Hola” Por eso para leer cadenas de caracteres, usamos gets()

5 gets() y puts() pertenecen a la biblioteca stdio.h
Ejemplo char cadena[20]; gets(cadena); Para mostrar la cadena puedo utilizar puts() o cout<< Si utilizo puts() me muestra la cadena y a continuación hace un <enter< Si utilizo cout<< me muestra la cadena y puedo seguir escribiendo en la misma línea.

6 Por ejemplo: char nombre[20], apellido [20]; cout<<“Ingrese el nombre”; gets(nombre); cout<<“Ingrese el apellido”; gets(apellido); puts(nombre); puts(apellido): cout<<nombre; cout<<apellido Con los datos Maximiliano Súarez, la salida será: Maximiliano Suárez MaximilianoSuárez

7 Matrices de cadenas de caracteres
1 2 3 4 5 6 7 8 9

8 Para guardar, por ejemplo los nombres de 10 alumnos, en lugar de definir 10 vectores de caracteres, lo que hacemos es definir una matriz de 10 filas por 16 columnas. Las filas indican la cantidad de nombres que vamos a guardar y las columnas indican la cantidad máxima de caracteres que va a tener cada nombre. Ej. char nombres [10][15]; 10 nombres 15 caracteres cada nombre

9 Para poder guardar un nombre en la matriz, tenemos que indicarle en qué fila vamos a guardarlo:
gets(nombres[0]); gets(nombres[1]); gets(nombres[2]); gets(nombres[3]); gets(nombres[4]); gets(nombres[5]); gets(nombres[6]); gets(nombres[7]); gets(nombres[8]); gets(nombres[9]);

10 Si vamos a cargar todos los nombres, usamos un for:
for(j=0;j<10;j++) { cout<<“Ingrese un nombre”; gets(nombres[ j ]); } Para mostrar todos los nombres, uso el mismo for: puts(nombres[ j ]);

11 Si voy a leer nombre y apellido:
char nombre[15], apellido[15]; int j; for(j=0; j<10; j++) { cout<<“Ingrese nombre”; gets(nombre[j]); cout<<“Ingrese apellido”; gets(apellido[j]); }

12 Para mostrar nombre y apellido en la misma línea:
for(j=0; j<10; j++) { cout<<nombre[j]<<“\t”<<apellido[j] <<“\n”; } La salida será, por ejemplo: Juan Pérez María Ceballos Julio Peralta

13 Funciones para manipular cadenas
Algunas funciones de la biblioteca string.h strlen(cadena) permite calcular la longitud de la cadena (sin incluir el enter) strcpy(cad1, cad2) permite copiar una cadena en otra. strcmp(cad1, cad2) permite comparar 2 cadenas, el resultado será: 0 si las cadenas son iguales <0 si la cadena 1 es menor que la cadena 2 >0 si la cadena 1 es mayor que la cadena 2 stricmp(cad1,cad2) igual que strcmp pero no tiene en cuenta mayúsculas y minúsculas.

14 Ejemplos char cadena1=“Hola mundo”, cadena2=“Juancito”; int largo; Ejemplo de strlen() largo=strlen(cadena1); cout<<largo; //aquí muestra el valor 10 Ejemplo de stricmp() if(stricmp(cadena1,cadena2)==0) cout<<“Las cadenas son iguales”; else cout<<“Las cadenas son distintas”; //aquí la salida será “Las cadenas son distintas”

15 Ejemplo de strcpy strcpy(cadena1,cadena2); cout<<cadena1<<“\t”<<cadena2; //La salida será: “Juancito Juancito” Otra función es strrev(cadena) que permite invertir una cadena, por ejemplo; strrev(cad1); cout<<cad1; //La salida será: “oticnauJ”


Descargar ppt "Cadenas de caracteres."

Presentaciones similares


Anuncios Google