06.05.2013 Views

CONTENIDO DE LA LECCIÓN 8

CONTENIDO DE LA LECCIÓN 8

CONTENIDO DE LA LECCIÓN 8

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MIGUEL Á. TOLEDO MARTÍNEZ<br />

como desplazamiento a partir del inicio del archivo). Algunos ejemplos de la ubicación del<br />

apuntador de posición de archivo obtener son:<br />

//Ubica en el enésimo byte de objetoArchivo<br />

//asume ios::beg<br />

objetoArchivo.seekg(n);<br />

//Ubica n bytes hacia delante en objetoArchivo<br />

objetoArchivo.seekg(n, ios::cur);<br />

//Ubica y bytes hacia atrás con respecto al final de objetoArchivo<br />

objetoArchivo.seekg(y, ios::end);<br />

//Ubica al final de objetoArchivo<br />

objetoArchivo.seekg(0, ios::end);<br />

Es posible realizar las mismas operaciones con la función miembro seekp de ostream. Se<br />

proporcionan las funciones miembro tellg y tellp para devolver las localidades actuales de los<br />

apuntadores obtener y colocar, respectivamente. La siguiente instrucción asigna el valor del<br />

apuntador de posición de archivo obtener a la variable localidad de tipo long.<br />

Ejemplo 7.25<br />

localidad = objetoArchivo.tellg();<br />

El siguiente programa: CONSULTA.CPP, permite que un gerente de crédito despliegue la información de<br />

las cuentas para los clientes que tienen su saldo en cero (es decir, los clientes que no le deben dinero a la<br />

compañía), los saldos a favor (es decir, los clientes a los cuales la compañía les debe dinero) y los saldos<br />

en contra (es decir, los clientes que deben dinero a la compañía por bienes y servicios recibidos en el<br />

pasado) El programa despliega un menú y permite que el gerente de crédito dé alguna de tres opciones<br />

para obtener información de crédito. La opción 1 produce un listado de cuentas con saldo en cero. La<br />

opción 2 produce una lista de cuentas con saldos a favor. La opción 3 produce una lista de cuentas con<br />

saldos en contra. La opción 4 termina la ejecución del programa. Al dar una opción inválida simplemente<br />

se despliega la petición para que se dé otra selección.<br />

/* El siguiente programa: CONSULTA.CPP, ilustra el uso de consultas hechas a un archivo<br />

de crédito.<br />

*/<br />

#include //Para cout y ci<br />

#include //Para crear el objeto archivoCliente<br />

#include //Para setw()<br />

#include //Para exit()<br />

enum tipoRespuesta{balanceCero = 1, balanceCredito, balanceDebito, fin};<br />

int obtenerRespuesta();<br />

bool debeDesplegar(int, double);<br />

void lineaSalida(int, const char *, double);<br />

int main(void)<br />

{<br />

//El constructor de ifstream abre el archivo<br />

ifstream archivoCliente("clientes.dat", ios::in);<br />

FUNDAMENTOS – <strong>LECCIÓN</strong> 7 7-41

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!