Está en la página 1de 3

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA

“ANTONIO JOSÉ DE SUCRE”


VICERECTORADO PUERTO ORDAZ
DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA
SECCIÓN DE COMPUTACIÓN
ASIGNATURA: COMPUTACIÓN II

LABORATORIO 05. ARCHIVOS.

Objetivos.
 Al finalizar la práctica, el estudiante debe estar en capacidad de implementar programas utilizando
archivos para almacenar la información manejada.

Pre-requisitos.
 Sintaxis básica de las instrucciones del lenguaje C++: declaración, entrada, salida, asignación e
instrucciones de control (estructuras de decisión y cíclicas).
 Sintaxis básica para el uso de archivos en C++.

Laboratorio.

Revise el tópico 3 (Funciones de Manejo de Archivos en Lenguaje C++), de la guía Teórica, y


proceda a implementar y compilar el código del Ejemplo Práctico 01.

1) Ejemplo Práctico 01.

NOTA: Guarde su programa en una carpeta creada por usted en Mis Documentos, EVITE
TENER PROBLEMAS PARA ENCONTRAR EL ARCHIVO CREADO.

#include <fstream.h> // Biblioteca para el manejo de ficheros


#include <iostream.h> // Biblioteca para la entrada-salida estándar
#include <conio.h> // Biblioteca para el manejo de Pantalla

struct Persona
{
char nombre[15], apellido[15], operadora[15];
unsigned long telefono;
};
const char SP=' '; // <- Ojo con el espacio, es uno solo

/*********************** FUNCION MENU ***********************/


int menu(void)
{ clrscr();
int opc;
cout<<"Bienvenido a su Agenda... \n";
cout<<"Seleccione una Opcion: \n";
cout<<"1) Insertar un Nuevo Contacto. \n";
cout<<"2) Visualizar sus Contactos. \n";
cout<<"3) Salir del Programa. \n";
cin>>opc;
while (opc<1 || opc>3)
{ cout<<"Opcion incorrecta... Reintroduzca";
Laboratorio 05. Computación 2. Profesora: Lorena Estévez. Lapso: 2014-U.
cin>>opc;
}
return (opc);
}
/****************** PROGRAMA PRINCIPAL ********************/
void main()
{
Persona Contacto;
int opcion=1, codigo, band;
long unsigned numero;
ofstream escritura;
ifstream lectura;

while (opcion>=1 && opcion<3)


{ opcion = menu();
switch(opcion)
{
case 1:
escritura.open("Agenda.txt");// Abro el Archivo
if (escritura.bad())
cout<<"Falla al abrir el Archivo... \n";
else
{
cout<<"Introduzca los datos del nuevo contacto: \n";
cout << "Nombre : " ; cin >> Contacto.nombre;
cout << "Apellido: " ; cin >> Contacto.apellido;
cout << "Telefono : (Ejemplo: 0424 1122333) \n";
cin>>codigo>>numero;

switch (codigo)
{
case 416: case 426: strcpy (Contacto.operadora, "Movilnet");
break;

case 414: case 424: strcpy (Contacto.operadora, "Movistar");


break;

case 412: strcpy (Contacto.operadora, "Digitel"); break;

default: strcpy (Contacto.operadora, "CANTV"); break;


}
Contacto.telefono=(codigo*10000000)+numero;
escritura << Contacto.nombre << SP << Contacto.apellido << SP;
escritura << Contacto.operadora << SP << Contacto.telefono << endl;
escritura .close();
}
break;
case 2:
lectura.open("Agenda.txt");
if (lectura.bad())

2
Laboratorio 05. Computación 2. Profesora: Lorena Estévez. Lapso: 2014-U.
cout << "Error al abrir el Archivo... "<<endl;
else
{ lectura.clear(0); //Lectura Inicial:
lectura >> Contacto.nombre>>Contacto.apellido;
lectura >> Contacto.operadora>> Contacto.telefono;
while (lectura.eof()==0)
{ // Mostramos en pantalla los datos ya leidos:
cout<<"Nombre: "<<Contacto.nombre<<endl;
cout<<"Apellido: "<<Contacto.apellido<<endl;
cout<<"Operadora: "<<Contacto.operadora<<endl;
cout<<"Telefono: 0"<<Contacto.telefono << endl;
// Volvemos a leer:
lectura >> Contacto.nombre>> Contacto.apellido;
lectura >> Contacto.operadora>> Contacto.telefono;
} getch();
lectura.close();
}
break;
case 3:
cout<<"Fin del Programa...";
break;
}}
getch();
}

2) Modificación de Modo de Escritura.

Una vez ejecutado el código anterior, revise su guía teórica y modifique la línea de instrucción
correspondiente para cambiar el modo de escritura actual (truncado) al modo añadir.

3) Modificación de Nombre.

Defina una variable tipo arreglo de caracteres en el programa principal, por ejemplo: char
Nomb_Arch[30], y modifique el código para que en vez de abrir el archivo Agenda.txt, el programa
le pida al usuario que ingrese el nombre del archivo que quiera, guíese por el siguiente código:

cout<<“Indique el nombre del archivo: ”;


cin>>Nomb_Arch;

Nombre_Flujo.open(Nomb_Arch);

Cuando le pida el nombre del archivo, haga varias pruebas con diferentes extensiones (.txt o
.docx)

4) Mostrar por tipo de operadora.

Añada un tercer caso en donde el usuario introduzca una operadora y se muestre el listado de
contactos que pertenezcan a dicha operadora.

También podría gustarte