Publicado el 21 de Abril del 2021
1.156 visualizaciones desde el 21 de Abril del 2021
2,5 MB
529 paginas
Creado hace 13a (04/09/2010)
C++
Soluciones de programación
Acerca del autor
Herbert Schildt es una de las principales autoridades
en C++, C, Java y C# y es maestro programador en
Windows. Se han vendido más de 3.5 millones de
copias de los libros sobre programación de Herb en
todo el mundo y se han traducido a todos los idiomas
importantes. Es autor de gran cantidad de bestsellers
de C++, incluidos C++: The Complete Reference, C++:
A Beginner’s Guide, C++ from the Ground Up y STL
Programming form the Ground Up. Sus otros best sellers
incluyen C: Manual de referencia; Java: Manual de refer-
encia; Fundamentos de Java; Java, soluciones de program-
ación y Java 2: Manual de referencia. Schildt tiene títulos
de grado y posgrado de la Universidad de Illinois. Su
sitio Web es www.HerbSchildt.com.
Acerca del editor técnico
Jim Keogh introdujo la programación en PC en
Estados Unidos en su columna Popular Electronics
Magazine en 1982, cuatro años después de que Apple
Computer empezó en una cochera.
Fue integrante del equipo que construyó una de las
primeras aplicaciones de Windows para una fi rma de
Wall Street, presentada por Bill Gates en 1986. Keogh
ha dedicado casi dos décadas a desarrollar sistemas de
cómputo para fi rmas de Wall Street, como Salomon,
Inc., y Bear Stearns, Inc.
Keogh formó parte del cuerpo docente de la Uni-
versidad de Columbia, donde impartió cursos de tec-
nología, incluido el laboratorio de desarrollo de Java.
Desarrolló y dirigió la carrera de comercio electrónico
en la Universidad de Columbia. Actualmente es parte
del cuerpo docente de la Universidad de Nueva York.
Es autor de J2EE: The Complete Reference, J2ME: The
Complete Reference, ambos publicados por McGraw-
Hill, y más de 55 títulos adicionales. Entre sus otros li-
bros se incluyen Linux Programming for Dummies, Unix
Programming for Dummies, Java Database Programming
for Dummies, Essential Guide to Networking, Essential
Guide to Computer Hardware, The C++ Programmer’s
Notebook y E-Mergers.
C++
Soluciones de programación
Herb Schildt
Traducción
Eloy Pineda Rojas
Traductor profesional
MÉXICO • BOGOTÁ • BUENOS AIRES • CARACAS • GUATEMALA • MADRID • NUEVA YORK
SAN JUAN • SANTIAGO • SÃO PAULO • AUCKLAND • LONDRES • MILÁN • MONTREAL
NUEVA DELHI • SAN FRANCISCO • SINGAPUR • ST. LOUIS • SIDNEY • TORONTO
Director editorial: Fernando Castellanos Rodríguez
Editor de desarrollo: Miguel Ángel Luna Ponce
Supervisor de producción: Marco Antonio Gómez Ortiz
C++ SOLUCIONES DE PROGRAMACIÓN
Prohibida la reproducción total o parcial de esta obra,
por cualquier medio, sin la autorización escrita del editor.
DERECHOS RESERVADOS © 2009, respecto a la primera edición en español por
McGRAW-HILL/INTERAMERICANA EDITORES, S.A. DE C.V.
A Subsidiary of The McGraw-Hill Companies, Inc.
Corporativo Punta Santa Fe
Prolongación Paseo de la Reforma 1015, Torre A,
Piso 17, Colonia Desarrollo Santa Fe,
Delegación Álvaro Obregón,
C.P. 01376, México, D.F.
Miembro de la Cámara Nacional de la Industria Editorial Mexicana, Reg. Núm. 736
ISBN: 978-970-10-7266-0
Traducido de la primera edición de
Herb Schildt's C++ Programming Cookbook
By: Herb Schildt
Copyright © 2008 by The McGraw-Hill Companies. All rights reserved
ISBN: 978-0-07-148860-0
1234567890
Impreso en México
0876543219
Printed in Mexico
Contenido
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
1. Revisión general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Qué contiene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cómo están organizadas las soluciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Una breve advertencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Es necesaria experiencia en C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
¿Qué versión de C++? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dos convenciones de codifi cación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Regreso de un valor de main() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
¿Uso del espacio de nombres std? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
2
3
3
4
4
4
5
7
2. Manejo de cadenas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Revisión general de las cadenas terminadas en un carácter nulo . . . . . . . . . . . . . . . . .
8
Revisión general de la clase string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Excepciones de cadenas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Realice operaciones básicas en cadenas terminadas en un carácter nulo . . . . . . . . . . 16
Paso a paso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Busque una cadena terminada en un carácter nulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Paso a paso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Invierta una cadena terminada en un carácter nulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Paso a paso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Ignore diferencias entre mayúsculas y minúsculas cuando compare
cadenas terminadas en un carácter nulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Paso a paso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Cree una función de búsqueda y reemplazo para cadenas terminadas
en un carácter nulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
v
vi
C + + S o l u c i o n e s d e p r o g r a m a c i ó n
Paso a paso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Ordene en categorías caracteres dentro de una cadena terminada
en un carácter nulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Paso a paso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Ejemplo adicional: conteo de palabras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Convierta en fi chas una cadena terminada en un carácter nulo . . . . . . . . . . . . . . . . . 44
Paso a paso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comentarios de: Soluciones de programacion C++ (0)
No hay comentarios