Post on 15-Aug-2020
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