Clase 7: Strings · #include #include using namespace std; int main (){// programa principal}...

Post on 15-Aug-2020

2 views 0 download

Transcript of Clase 7: Strings · #include #include using namespace std; int main (){// programa principal}...

Clase 7: Strings

Profesora de Cátedra:Niñas Pro

Repaso

● Declarar variables tipo string: string nombre = “ninaspro”;● Leer strings de manera individual: cin >> nombre;● Leer strings con espacios: getline (cin, nombre);● Imprimir strings: cout << “Nombre:” << nombre << endl ;

Temario de la clase

1. Operadores de Strings

2. Funciones de Strings

3. Ejemplos

#include <iostream>#include <string>

using namespace std;

int main (){// programa principal

}

Agregamos la librería

string para que nuestro

programa pueda manipular Strings

Operadores de Strings

Operaciones

+Concatenar

== != < <=Igual Diferente Menor Menor o

igual

Ejemplo

int main (){ string var1 = "alpha"; string var2 = "beta"; cout << var1 + var2 << endl;

var1 = "3"; var2 = "12"; cout << var1 + var2 << endl;

return 0;}

¿Qué mostrará en pantalla?

Ejemplo(1) alphabeta(2) 312

int main (){ string var1 = "alpha"; string var2 = "beta"; cout << var1 + var2 << endl; // (1)

var1 = "3"; var2 = "12"; cout << var1 + var2 << endl; // (2)

return 0;}

Ejemplo

int main (){ string var1, var2; getline(cin, var1); getline(cin, var2); if (var1==var2) cout << "var1 y var2 son iguales\n"; if (var1!=var2) cout << "var1 y var2 no son iguales\n"; if (var1< var2) cout << "var1 es menor que var2\n"; if (var1> var2) cout << "var1 es mayor que var2\n"; if (var1<=var2) cout << "var1 es menor o igual que var2\n"; if (var1>=var2) cout << "var1 es mayor o igual que var2\n"; return 0;}

¿Con qué valores se ejecutaría

cada if?

Strings con números, letras (en mayúsculas

o minúsculas)?

var1 == var2 "ninaspro" "ninaspro"

var1 != var2 "ninaspro" "NinasPro"

var1 < var2 "Programar" "programar"

var1 <= var2 "2018" "Programa"

var1 > var2 "Cecilia" "Barbara"

var1 >= var2 "Andrea" "Ana"

Condición var1 var2

Funciones de Strings

Funciones de capacidad

size/length

Nos entrega el tamaño del String.

resize

Modifica el tamaño del String a uno de n caracteres.

clear

Borra el contenido del String

int main (){ string var1= "Paralelepipedo"; cout<<var1<<" tamano "<<var1.size()<<endl; var1.resize(4); cout<<var1<<" tamano "<<var1.size()<<endl; var1.clear(); cout<<var1<<" tamano "<<var1.size()<<endl;}

¿Qué mostrará

en pantalla?

Ejemplo

Ejemplo

int main (){ string var1= "Paralelepipedo"; cout<<var1<<" tamano "<<var1.size()<<endl; // (1)

var1.resize(4); cout<<var1<<" tamano "<<var1.size()<<endl; // (2)

var1.clear(); cout<<var1<<" tamano "<<var1.size()<<endl; // (3)}

(1) Paralelepipedo tamano 14(2) Para tamano 4 (3) tamano 0

Funciones de mutación

insert

Inserta caracteres adicionales

erase

Borra caracteres

replace

Reemplaza caracteres

append

Añade caracteres

Ejemploint main(){

string var2 = "Hola, ¿Como estan?";cout << var2 << endl;

var2.insert(4," Chiquillas");cout << var2 << endl;

var2.erase(15);cout << var2 << endl;

var2.replace(5,10,"Ninas Pro");cout << var2 << endl;

var2.append(", que tengan un buen dia!");cout << var2 << endl;return 0;

}

¿Qué mostrará

en pantalla?

Ejemplo

int main(){string var2 = "Hola, ¿Como estan?";cout << var2 << endl; // (1)var2.insert(4," Chiquillas");cout << var2 << endl; // (2)var2.erase(15);cout << var2 << endl; // (3)var2.replace(5,10,"Ninas Pro");cout << var2 << endl; // (4)var2.append(", que tengan un buen dia!");cout << var2 << endl; // (5)return 0;

}

(1) Hola, ¿Como estan?(2) Hola Chiquillas, ¿Como estan?(3) Hola Chiquillas(4) Hola Ninas Pro(5) Hola Ninas Pro, que tengan un buen dia!

Funciones de mutación

swap

Intercambia el valor de dos variables string

pop_back

Elimina el último caracter

push_back

Añade caracteres al final del string

assign

Le asigna un nuevo valor a una variable string

Ejemplo

int main(){string var1 = "Hola NinasProgramadoras!";string var2 = "Programar es divertido :)";

var2.swap(var1);cout << var1 << endl;cout << var2 << endl;

var2.assign(var1);cout << var1 << endl;

var1.assign(var2,10,13);cout << var1 << endl;

return 0;}

¿Qué mostrará

en pantalla?

Ejemplo

int main(){string var1 = "Hola NinasProgramadoras!";string var2 = "Programar es divertido :)";var2.swap(var1);cout << var1 << endl; // (1)cout << var2 << endl; // (2)var2.assign(var1);cout << var2 << endl; // (3)var1.assign(var2,10,13);cout << var1 << endl; // (4)return 0;

}

(1) Programar es divertido :)(2) Hola NinasProgramadoras!(3) Programar es divertido :)(4) es divertido

Ejemplo

int main(){string var1 = "Hoy vamos a programar?";cout << var1 << endl;

var1.pop_back();cout << var1 << endl;

var2.push_back(`!´);cout << var1 << endl;

return 0;}

¿Qué mostrará

en pantalla?

Ejemplo(1) Hoy vamos a programar?(2) Hoy vamos a programar(3) Hoy vamos a programar!

int main(){string var1 = "Hoy vamos a programar?";cout << var1 << endl; // (1)

var1.pop_back();cout << var1 << endl; // (2)

var2.push_back(`!´);cout << var1 << endl; // (3)

return 0;}

Funciones de operación

copy

Genera una copia de un string

find

Entrega la posición donde se encuentra un contenido dentro del string

substr

Genera un sub string

compare

Entrega 0 si los dos strings son exactamente iguales; de lo contrario, entrega un número distinto a cero

Ejemploint main(){

string var1 = "Mis amigas Barbara y Alejandra";cout << var1 << endl;

String var2 = var1.substr(11,7);cout << var2 << endl;

int pos = var1.find(“Alejandra”);cout << “Alejandra se encuentra en la pos: ” << pos << endl;

int i = var2.compare(“Barbara”);cout << i << endl; strcpy(var2,“Barbara”);int j = var2.compare(“Barbara”);cout << j << endl;

return 0 }

¿Qué mostrará

en pantalla?

Ejemplo

int main(){string var1 = "Mis amigas Barbara y Alejandra";cout << var1 << endl; //(1)

String var2 = var1.substr(11,7);cout << var2 << endl; //(2)

int pos = var1.find(“Alejandra”);cout << “Alejandra se encuentra en la pos: ” << pos << endl; //(3)

int i = var2.compare(“Barbara”);cout << i << endl; //(4) strcpy(var2,“Barbara”);int j = var2.compare(“Barbara”);cout << j << endl; //(5)return 0

}

(1) “Mis amigas Barbara y Alejandra”

(2) Barbara(3) 21(4) !=0(5) 0

Funciones de operación

find_first_of

Encuentra un caracter en un string

find_last_of

Encuentra un caracter de un string buscando desde el final

find_first_not_of

Encuentra un caracter distinto al que se indica

find_last_not_of

Encuentra un caracter distinto al indicado, buscando desde el final

Ejemplo

int main(){

string var1 = "Alguien practico en codeforces?";

cout << var1.find_first_of("aeiou") << '\n'; cout << var1.find_last_of("aeiou") << '\n'; cout << var1.find_first_not_of("aeiou") << '\n'; cout << var1.find_last_not_of("aeiou") << '\n';

return 0;}

¿Qué mostrará

en pantalla?

Ejemplo(1) 3(2) 28(3) 0(4) 30

int main(){

string var1 = "Alguien practico en codeforces?";

cout << var1.find_first_of("aeiou") << '\n'; // (1) cout << var1.find_last_of("aeiou") << '\n'; // (2) cout << var1.find_first_not_of("aeiou") << '\n';//(3) cout << var1.find_last_not_of("aeiou") << '\n'; //(4)

return 0;}

Créditos diseños

● Macarena Ibsen, diseñadora gráfica, Branding NiñasPRO.

● Íconos de Freepik usados en estas diapositivas,

licenciados bajo Creative Commons BY 3.0.

https://www.flaticon.com/authors/freepik