You are on page 1of 6

FUNDAMENTOS DE

PROGRAMACIN
II Ciclo

GUA
LABORATORIO N2

Manejo de Strings en C++

2013- II
MANEJO DE STRINGS EN C++
Objetivos:

1. Desarrollar un programa para el ingreso de informacin.

2. Desarrollar programas que manipulan strings, utilizando la librera estndar


para ingreso de resultados.

Introduccin terica:

Operaciones con strings


Si n es un integer, c es un char, is es un input stream y os es un output stream:

std::string s;

Define s como una variable de tipo std::string que se inicializa vaca.

std::string t = s;

Define t como una variable de tipo std::string que inicialmente contiene una
copia de los caracteres en s, donde s puede ser un string o un string literal.

std::string z(n, c);

Define z como una variable de tipo std::string que inicialmente contiene n


copias del caracter c. En este caso c debe ser un char, no un string string
literal.

os << s

Escribe los caracteres contenidos en s, sin cambiar el formato en el output stream


identificado con os. El resultado de la expresin es os.

is >> s

Lee y descarta caracteres desde el stream identificado por is hasta encontrar un


caracter que no es espacio en blanco. Luego, lee los sucesivos caracteres desde is
hacia s, sobreescribiendo cualquier valor que haya tenido, hasta que el siguiente
caracter sea espacio en blanco. El resultado es is.

s+t

El resultado de esta expresin es un std::string que contiene una copia de los


caracteres en s seguida de una copia de los caracteres en t. s t, pero no ambos,
puede ser un string literal un valor de tipo char.
Equipos y Materiales:

- Computadora con programa Dev C++ instalado


- Apuntes de clase terica

Procedimiento:

Compile, ejecute y pruebe el siguiente programa:

Ingrese al programa Dev C++, haga clic sobre el men File->New-> Source File
y digite el cdigo del programa Hello World ! :

// ask for a person's name, and generate a framed greeting


#include <iostream>
#include <string>
int main()
{
std::cout << "Please enter your first name: ";
std::string name;
std::cin >> name;
// build the message that we intend to write
const std::string greeting = "Hello, " + name + "!";
// build the second and fourth lines of the output
const std::string spaces(greeting.size(), ' ');
const std::string second = "* " + spaces + " *";
// build the first and fifth lines of the output
const std::string first(second.size(), '*');
// write it all
std::cout << std::endl;
std::cout << first << std::endl;
std::cout << second << std::endl;
std::cout << "* " << greeting << " *" << std::endl;
std::cout << second << std::endl;
std::cout << first << std::endl;
return 0;
}

4.2. Son vlidas las siguientes definiciones? por qu?

const std::string saludo = "Hola";


const std::string mensaje = hola + ", mundo" + "!";

4.3. Es vlido el siguiente programa? De ser as, qu hace?. Si no fuese


vlido cul es el motivo?

#include <iostream>
#include <string>
int main()
{
{ const std::string s = "a string";
std::cout << s << std::endl; }
{ const std::string s = "another string";
std::cout << s << std::endl; }
return 0;
}

4.4 Qu pasa si cambiamos }} por };} en la siguiente fila del programa?

#include <iostream>
#include <string>
int main()
{
{ const std::string s = "a string";
std::cout << s << std::endl;
{ const std::string s = "another string";
std::cout << s << std::endl; }}
return 0;
}
_______________________________________________________

_______________________________________________________

_______________________________________________________
_______________________________________________________

4.5 Es vlido este programa? por qu? Reescrbalo para hacerlo vlido.

#include <iostream>
#include <string>
int main()
{
{ std::string s = "a string";
{ std::string x = s + ", really";
std::cout << s << std::endl; }
std::cout << x << std::endl;
}
return 0;
}

4.6 Qu hace el programa, cuando se ingresa un nombre compuesto, por


ejemplo: Jorge Luis?

#include <iostream>
#include <string>
int main()
{
std::cout << "What is your name? ";
std::string name;
std::cin >> name;
std::cout << "Hello, " << name
<< std::endl << "And what is yours? ";
std::cin >> name;
std::cout << "Hello, " << name
<< "; nice to meet you too!" << std::endl;
return 0;
FUNDAMENTOS DE PROGRAMACIN

Rbrica Laboratorio 2

Desarrollar programas que manipulan strings, utilizando la librera estndar para ingreso de
Resultado:
resultados.

Criterio de
Cdigo fuente.
desempeo :

Curso: FUNDAMENTOS DE PROGRAMACIN Ciclo: 2

Actividad: Laboratorio 2: Manejo de Strings en C++ Sesin: 2

Apellidos de los
Periodo: 2013-1
alumnos:
Seccin: Fecha: Docente: Juan Carlos Bueno
Documentos de Evaluacin
Hoja de Trabajo: Cdigo fuente: X Proyecto: Otros:

Excelente Muy Bueno


CRITERIOS A EVALUACIN Bueno Regular Bsico
(17-20) (13-16) (11-12) (8-10) (0-7)
LABORATORIO
Programa Programa
ejecutable. No ejecutable. No
presenta errores presenta errores
Programa con
de compilacin, de compilacin, Programa
errores de
muestra el muestra el Programa con con errores
compilacin, por
resultado resultado errores de de
razones simples
esperado, tiene esperado y tiene compilacin, compilacin
de sintaxis. Si se
comentarios que comentarios que lgica e
Programa hacen entendible hacen entendible
resuelven errores
avanzada, incompleto/
de sintaxis, el
el cdigo. el cdigo. resultado errado en
programa ejecuta
Incorpora esperado su lgica.
y muestra el
mejoras que incompleto. No presenta
resultado
implican aadir resultado
esperado.
mayor esfuerzo
en la lgica del
programa.
ACTITUDES

Participa con entusiasmo y


seguridad (puntualidad, 5 4 3 2 1
intervenciones, orden, limpieza y
redaccin).
Puntaje Total

Comentario al alumno:

You might also like