Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Entrada / Salida Streams Archivos
Algoritmos y Estructuras de Datos I Departamento de Computación, Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires
2
Introducción Repaso de tipos básicos Repaso de clases
Entrada / Salida por consola (cin / cout) Entrada / Salida por archivo (librería fstream) Streams. Manipulación de archivos. Clase miércoles 09/06/2010
3
Repaso de tipos int double Char String
Streams. Manipulación de archivos. Clase miércoles 09/06/2010
4
Repaso de tipos int: Representa un número entero
double: Representa un número real Char: Representa un carácter. String: Representa una secuencia de caracteres. Streams. Manipulación de archivos. Clase miércoles 09/06/2010
5
Salida #include <iostream> // Biblioteca Entrada/Salida
using namespace std; int main(int argc, char *argv[]) { cout << “¡Hola Mundo!”; return 0; } Streams. Manipulación de archivos. Clase miércoles 09/06/2010
6
Salida #include <iostream> // Biblioteca Entrada/Salida
using namespace std; int main(int argc, char *argv[]) { cout << “¡Hola Mundo!”; return 0; } Streams. Manipulación de archivos. Clase miércoles 09/06/2010
7
Salida #include <iostream> // Biblioteca Entrada/Salida
using namespace std; int main(int argc, char *argv[]) { int i = 4; cout << i; return 0; } Streams. Manipulación de archivos. Clase miércoles 09/06/2010
8
Salida #include <iostream> // Biblioteca Entrada/Salida
using namespace std; int main(int argc, char *argv[]) { int i = 4; cout << i; return 0; } Streams. Manipulación de archivos. Clase miércoles 09/06/2010
9
Salida #include <iostream> // Biblioteca Entrada/Salida
using namespace std; int main(int argc, char *argv[]) { char i = 'c'; int i = 4; double i = 3.4; string i = “Salida de Viernes”; cout << i; return 0; } Streams. Manipulación de archivos. Clase miércoles 09/06/2010
10
Salida #include <iostream> // Biblioteca Entrada/Salida
using namespace std; int main(int argc, char *argv[]) { int Argentina = 0; int Ecuador = 2; cout << “Ecuador gano por “ << (Ecuador – Argentina) << “ goles”; return 0; } Streams. Manipulación de archivos. Clase miércoles 09/06/2010
11
Salida #include <iostream> // Biblioteca Entrada/Salida
using namespace std; int main(int argc, char *argv[]) { int Argentina = 0; int Ecuador = 2; cout << “Ecuador gano por “ << (Ecuador – Argentina) << “ goles”; return 0; } Streams. Manipulación de archivos. Clase miércoles 09/06/2010
12
Salida #include <iostream> // Biblioteca Entrada/Salida
using namespace std; int main(int argc, char *argv[]) { int Argentina = 0; int Ecuador = 2; cout << “Argentina: “ << Argentina << “ goles” << endl; cout << “Ecuador : “ << Ecuador << “ goles”; return 0; } Streams. Manipulación de archivos. Clase miércoles 09/06/2010
13
Salida #include <iostream> // Biblioteca Entrada/Salida
using namespace std; int main(int argc, char *argv[]) { int Argentina = 0; int Ecuador = 2; cout << “Argentina: “ << Argentina << “ goles” << endl; cout << “Ecuador : “ << Ecuador << “ goles”; return 0; } Streams. Manipulación de archivos. Clase miércoles 09/06/2010
14
Salida #include <iostream> // Biblioteca Entrada/Salida
using namespace std; int main(int argc, char *argv[]) { int Argentina = 0; int Ecuador = 2; cout << “Argentina “ << Argentina << “ goles” << endl; cout << “Ecuador “ << Ecuador << “ goles”; return 0; } Streams. Manipulación de archivos. Clase miércoles 09/06/2010
15
Un gran poder conlleva una gran responsabilidad ...
Salida Un gran poder conlleva una gran responsabilidad ... Streams. Manipulación de archivos. Clase miércoles 09/06/2010
16
Salida Ejercicio: Hacer un programa que muestre por pantalla los primeros mil números naturales. ... tienen 5 min. por reloj. Tipear los 1000 número me va a llevar más de 5 min. ... qué era eso de los ciclos? Streams. Manipulación de archivos. Clase miércoles 09/06/2010
17
Objetos Streams. Manipulación de archivos. Clase miércoles 09/06/2010
18
Clases Streams. Manipulación de archivos. Clase miércoles 09/06/2010
19
Objetos Atributos - Modelo - Color - Cantidad de ruedas Métodos
- Iguales Streams. Manipulación de archivos. Clase miércoles 09/06/2010
20
bicicleta.h Atributos - Modelo - Color - Cantidad de ruedas Métodos
- Iguales Streams. Manipulación de archivos. Clase miércoles 09/06/2010
21
bicicleta.cpp Atributos - Modelo - Color - Cantidad de ruedas Métodos
- Iguales Streams. Manipulación de archivos. Clase miércoles 09/06/2010
22
main.cpp Atributos - Modelo - Color - Cantidad de ruedas Métodos
- Iguales Streams. Manipulación de archivos. Clase miércoles 09/06/2010
23
main.cpp Atributos - Modelo - Color - Cantidad de ruedas Métodos
- Iguales Streams. Manipulación de archivos. Clase miércoles 09/06/2010
24
Salida Ejercicio: Agregar al tipo Bicicleta los métodos públicos string modelo() const; string color() const; int ruedas() const; void mostrarsePorPantalla() const; ... tienen 7 min. por reloj. No se me cae una idea ... Streams. Manipulación de archivos. Clase miércoles 09/06/2010
25
Salida ¿Qué pasa si utilizo ... Bicicleta b1(“paseo”,”rojo”,2);
cout << b1; Streams. Manipulación de archivos. Clase miércoles 09/06/2010
26
Salida ¿Qué pasa si utilizo ... Bicicleta b1(“paseo”,”rojo”,2);
cout << b1; error: no match for ‘operator<<’ in ..... Streams. Manipulación de archivos. Clase miércoles 09/06/2010
27
Salida ¿Solución: Implementar el operador << para el tipo Bicicleta ... cout b1 bicicleta.h std::ostream & operator<<(std::ostream & os,const Bicicleta & b); bicicleta.cpp std::ostream & operator<<(std::ostream & os,const Bicicleta & b){ os << "Modelo: " << b.modelo() << " Color: " << b.color() << " Cant. Ruedas: " << b.ruedas(); return os; } Streams. Manipulación de archivos. Clase miércoles 09/06/2010
28
Salida Ejercicio: implementar operator << en Bicicleta
... tienen 3 min. por reloj. No se me cae una idea ... Streams. Manipulación de archivos. Clase miércoles 09/06/2010
29
Salida cout b1 bicicleta.h
std::ostream & operator<<(std::ostream & os,const Bicicleta & b); Streams. Manipulación de archivos. Clase miércoles 09/06/2010
30
Salida NUEVO NUEVO Streams. Manipulación de archivos. Clase miércoles 09/06/2010
31
Salida Streams. Manipulación de archivos. Clase viernes 12/06/2009
32
Salida Callejón sin Salida
Streams. Manipulación de archivos. Clase miércoles 09/06/2010
33
Entrada ( cross amarillo 2 ) bicicleta4.txt
Streams. Manipulación de archivos. Clase miércoles 09/06/2010
34
Salida Streams. Manipulación de archivos. Clase viernes 12/06/2009
35
Entrada ( cross amarillo 2 ) bicicleta4.txt
Por qué levanta “cross” y no levanta “cross amarillo” ? Streams. Manipulación de archivos. Clase miércoles 09/06/2010
36
Entrada ( cross amarillo 2 ) (cross racer amarillo 2)
bicicleta4.txt ( cross amarillo 2 ) Por qué levanta “cross” y no levanta “cross amarillo” ? Y si el archivo tiene: o tiene: (cross racer amarillo 2) (cross racer amarillo patito 2) Streams. Manipulación de archivos. Clase miércoles 09/06/2010
37
Entrada ( |cross racer| |amarillo patito| 2 ) + ciclos!!!
bicicleta4.txt ( |cross racer| |amarillo patito| 2 ) + ciclos!!! Streams. Manipulación de archivos. miércoles 09/06/2010
38
Entrada ( |cross racer| |amarillo patito| 2 ) bicicleta4.txt
Si no ponemos separador, toma por defecto fin de línea Streams. Manipulación de archivos. Clase miércoles 09/06/2010
39
Y nos faltó ... Y no vimos ... pero pueden investigar: cin
archivo.good() archivo.peek() archivo.MASOPCIONES Streams. Manipulación de archivos. Clase miércoles 09/06/2010
40
¿Preguntas? Streams. Manipulación de archivos. Clasemiércoles 09/06/2010
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.