15 de septiembre de 2016
C++ tiene una clase llamada string, la cual es muy útil para la
manipulación de texto. Esta clase puede utilizarse al incluir el header
getline(cin,str)
str1 + str2
str1 + ”ABCD”
Donde str1 y str2 son cadenas de caracteres de la clase string.
str1 == str2
Donde str1 y str2 son cadenas de caracteres de la clase string. Este
operador ”==” devuelve un 1 cuando ambos string son iguales y 0
cuando no.
Tam = str1.size();
Donde str1 es una cadena de caracteres de la clase string, y Tam
es una variable tipo entero.
str1[0]
str1[0] = ’k’
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.
str1.c str()
#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;
return 0;
}
jonathan −→ nahtanoj
#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 tamano 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;
return 0;
}
Murcielago −→ M5rc32l1g4
Parte 1:
#include <iostream>
#include <string.h>
using namespace std;
int main(){
string nombre;
int tam = 0, i = 0;
cout << ”Por favor Ingrese su nombre” << endl;
getline(cin,nombre);
tam = nombre.size();
Parte 2:
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;
}
Parte 3:
case ’o’:{
nombre[i] = ’4’;
break;
}
case ’u’:{
nombre[i] = ’5’;
break;
}
default:
break;
}
}
cout << nombre << endl;
return 0;
}