Professional Documents
Culture Documents
1
/*
ARCHIVO1.CPP
Programa para almacenar caracteres en un archivo de texto
MiniTaller: Tecnicas avanzadas de programacion en Lenguaje C++
Instructor: M.C. Bruno Lopez Takeyas
*/
#include
#include
#include
#include
void main(void)
{
FILE *archivo; // Declaracion del alias para el archivo
char letra;
char *nombre_archivo; // Variable para capturar el nombre del archivo
clrscr();
cout << "\n\rEste programa captura caracteres del teclado y los graba
en un archivo de texto";
cout << "\n\n\n\rAnote el nombre del archivo (incluyendo la
extension) : ";
gets(nombre_archivo);
cout << "\n\n\n\rAnote un parrafo y termine con ENTER ...\n\n\n\r";
archivo=fopen(nombre_archivo,"w"); // Abre el archivo de texto
// en modo de solo escritura
// (crea el archivo)
while((letra=getche())!='\r') // Ciclo mientras el caracter capturado
sea
{
// diferente de ENTER
putc(letra,archivo); // Graba el caracter capturado en el archivo
// "putc" es la funcion para grabar un caracter en un archivo
}
fclose(archivo); // Cierra el archivo
cout << "\n\n\n\rSe creo el archivo de texto "<< nombre_archivo;
cout << " cuyo contenido puede desplegarse ";
cout << "\ncon el comando \n\n TYPE "<< nombre_archivo;
cout << "\n\n\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
2
/*
ARCHIVO2.CPP
Programa para leer caracteres desde un archivo de texto
MiniTaller: Tecnicas avanzadas de programacion en Lenguaje C++
Instructor: M.C. Bruno Lopez Takeyas
*/
#include
#include
#include
#include
void main(void)
{
FILE *archivo; // Declaracion del alias para el archivo
char letra;
char *nombre_archivo; // Variable para capturar el nombre del archivo
clrscr();
cout << "\n\rEste programa lee caracteres de un archivo de texto y los
despliega en pantalla";
cout << "\n\n\n\rAnote el nombre del archivo (incluyendo la
extension) : ";
gets(nombre_archivo);
archivo=fopen(nombre_archivo,"r"); // Abre el archivo de texto
// en modo de solo lectura
if(archivo==NULL) // Verifica si se abrio el archivo
{
cout << "\n\n\n\rEl archivo " << nombre_archivo << " no existe !!!";
getch();
return;
}
while((letra=getc(archivo))!=EOF) // Ciclo mientras no se llegue al
final
{
// del archivo EOF
// "getc" es la funcion para leer un caracter de un archivo
cout << letra; // Despliega el caracter en pantalla
}
fclose(archivo); // Cierra el archivo
3
/*
ARCHIVO3.CPP
Programa para almacenar cadenas en un archivo de texto
MiniTaller: Tecnicas avanzadas de programacion en Lenguaje C++
Instructor: M.C. Bruno Lopez Takeyas
*/
#include
#include
#include
#include
void main(void)
{
FILE *archivo; // Declaracion del alias para el archivo
char cadena[81]; // Declaracion de la cadena de 80 posiciones
char *nombre_archivo; // Variable para capturar el nombre del archivo
clrscr();
cout << "\n\rEste programa captura cadenas del teclado y la graba en un
archivo de texto";
cout << "\n\n\n\rAnote el nombre del archivo (incluyendo la
extension) : ";
gets(nombre_archivo);
cout << "\n\n\n\rAnote mensajes y termine con ENTER ...\n\n\n\r";
archivo=fopen(nombre_archivo,"w"); // Abre el archivo de texto
// en modo de solo escritura
// (crea el archivo)
while(strlen(gets(cadena)) >
cadena
{
fputs(cadena,archivo); //
fputs("\n",archivo);
//
getch();
return;
4
/*
ARCHIVO4.CPP
Programa para leer cadenas desde un archivo de texto
MiniTaller: Tecnicas avanzadas de programacion en Lenguaje C++
Instructor: M.C. Bruno Lopez Takeyas
*/
#include
#include
#include
#include
void main(void)
{
FILE *archivo; // Declaracion del alias para el archivo
char cadena[81]; // Declaracion de la cadena de 80 caracteres
char *nombre_archivo; // Variable para capturar el nombre del archivo
clrscr();
cout << "\n\rEste programa lee cadenas de un archivo de texto y las
despliega en pantalla";
cout << "\n\n\n\rAnote el nombre del archivo (incluyendo la
extension) : ";
gets(nombre_archivo);
archivo=fopen(nombre_archivo,"r"); // Abre el archivo de texto
// en modo de solo lectura
if(archivo==NULL) // Verifica si se abrio el archivo
{
cout << "\n\n\n\rEl archivo " << nombre_archivo << " no existe !!!";
getch();
return;
}
while(fgets(cadena,80,archivo) != NULL) // Ciclo mientras se lea una
cadena
{
// del archivo
printf("%s",cadena); // Despliega la cadena en pantalla
// "fgets" es la funcion para leer cadenas desde un archivo
}
fclose(archivo); // Cierra el archivo
cout << "\n\n\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
5
/*
ARCHIVO5.CPP
Programa para almacenar variables de diversos tipos en un archivo de
texto
MiniTaller: Tecnicas avanzadas de programacion en Lenguaje C++
Instructor: M.C. Bruno Lopez Takeyas
*/
#include
#include
#include
#include
void main(void)
{
FILE *archivo; // Declaracion del alias para el archivo
char letra;
int entero;
float real;
char cadena[20];
char *nombre_archivo; // Variable para capturar el nombre del archivo
clrscr();
cout << "\n\rEste programa captura del teclado variables de diversos
tipos y las graba en un archivo de texto";
cout << "\n\n\n\rAnote el nombre del archivo (incluyendo la
extension) : ";
gets(nombre_archivo);
cout
cout
cout
cout
<<
<<
<<
<<
"\n\n\n\rAnote un caracter :
"\n\rAnote un numero entero:
"\n\rAnote un numero real :
"\n\rAnote una cadena
:
";
";
";
";
6
/*
ARCHIVO6.CPP
Programa para leer variables de diversos tipos desde un archivo de texto
MiniTaller: Tecnicas avanzadas de programacion en Lenguaje C++
Instructor: M.C. Bruno Lopez Takeyas
*/
#include
#include
#include
#include
void main(void)
{
FILE *archivo; // Declaracion del alias para el archivo
char letra;
int entero;
float real;
char cadena[20];
char *nombre_archivo; // Variable para capturar el nombre del archivo
clrscr();
cout << "\n\rEste programa lee variables de diversos tipos de un
archivo y las despliega en pantalla";
cout << "\n\n\n\rAnote el nombre del archivo (incluyendo la
extension) : ";
gets(nombre_archivo);
archivo=fopen(nombre_archivo,"r"); // Abre el archivo de texto
// en modo de solo lectura
fscanf(archivo,"%c %d %f %s",&letra,&entero,&real,&cadena);
// "fscanf" es la funcion que permite leer variables de diversos tipos
// desde un archivo
printf("\nletra=%c \nentero=%d \nreal=%f \ncadena=
%s",letra,entero,real,cadena);
fclose(archivo); // Cierra el archivo
cout << "\n\n\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
/*
ARCHIVO7.CPP
Programa para grabar registros completos en un archivo secuencial y
binario
MiniTaller: Tecnicas avanzadas de programacion en Lenguaje C++
Instructor: M.C. Bruno Lopez Takeyas
*/
#include
#include
#include
#include
#include
void main(void)
{
FILE *archivo; // Declaracion del alias para el archivo
struct
{
char nombre[25]; // Nombre del empleado
char depto; // Departamento del empleado
float sueldo; // Sueldo del empleado
}EMPLEADO;
// Declaracion de una estructura (registro) de nombre EMPLEADO
// que contiene 4 campos: num, nombre, depto y sueldo
char *nombre_archivo; // Variable para capturar el nombre del archivo
clrscr();
cout << "\n\rEste programa captura del teclado los valores de los
campos de registros y los graba en un archivo secuencial y binario";
cout << "\n\n\n\rAnote el nombre del archivo (incluyendo la
extension) : ";
gets(nombre_archivo);
archivo=fopen(nombre_archivo,"wb"); // Abre el archivo
// en modo de solo escritura BINARIO
// (Crea el archivo)
do
{
clrscr();
cout << "\n\n\n\rANOTE LOS DATOS DEL EMPLEADO....\n\n\n\r";
// Capturar los datos del registro
cout << "\n\rNombre: "; gets(EMPLEADO.nombre);
cout << "\n\rDepto : "; EMPLEADO.depto=getche();
cout << "\n\rSueldo: "; cin >> EMPLEADO.sueldo;
fwrite(&EMPLEADO,sizeof(EMPLEADO),1,archivo);
// Graba el registro EMPLEADO, de tamano=sizeof(EMPLEADO) en el
archivo
// La funcion "fwrite" graba un registro completo en un archivo
// incluyendo todos sus campos
cout << "\n\n\nDesea archivar los datos de otro empleado? [S/N]
---> ";
}while(toupper(getche())=='S');
fclose(archivo); // Cierra el archivo
cout << "\n\n\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
/*
ARCHIVO8.CPP
Programa para leer registros completos desde un archivo secuencial y
binario
MiniTaller: Tecnicas avanzadas de programacion en Lenguaje C++
Instructor: M.C. Bruno Lopez Takeyas
*/
#include
#include
#include
#include
void main(void)
{
FILE *archivo; // Declaracion del alias para el archivo
struct
{
char nombre[25]; // Nombre del empleado
char depto; // Departamento del empleado
float sueldo; // Sueldo del empleado
}EMPLEADO;
// Declaracion de una estructura (registro) de nombre EMPLEADO
// que contiene 4 campos: num, nombre, depto y sueldo
char *nombre_archivo; // Variable para capturar el nombre del archivo
clrscr();
cout << "\n\rEste programa lee registros completos de un archivo
secuencial";
cout << "\n\n\n\rAnote el nombre del archivo (incluyendo la
extension) : ";
gets(nombre_archivo);
archivo=fopen(nombre_archivo,"rb"); // Abre el archivo
// en modo de solo lectura BINARIO
if(archivo==NULL)
{
cout << "\n\n\n\rEl archivo " << nombre_archivo << " no existe !!!";
getch();
return;
}
clrscr();
cout << "\n\r*** DATOS DEL EMPLEADO ***";
cout << "\n\rNOMBRE DEPTO
SUELDO";
cout << "\n\r=====================================================";
do
{
/*
ARCHIVO9.CPP
Programa para grabar registros completos en un archivo de acceso directo
y binario
MiniTaller: Tecnicas avanzadas de programacion en Lenguaje C++
Instructor: M.C. Bruno Lopez Takeyas
*/
#include
#include
#include
#include
#include
void main(void)
{
FILE *archivo; // Declaracion del alias para el archivo
struct
{
int num;
// Numero de empleado
char nombre[25]; // Nombre del empleado
char depto; // Departamento del empleado
float sueldo; // Sueldo del empleado
}EMPLEADO;
// Declaracion de una estructura (registro) de nombre EMPLEADO
// que contiene 4 campos: num, nombre, depto y sueldo
char *nombre_archivo; // Variable para capturar el nombre del archivo
long int dir; // Variable para calcular la direccion fisica de un
registro
clrscr();
cout << "\n\rEste programa captura del teclado los valores de los
campos de registros y los graba en un archivo binario de acceso directo";
cout << "\n\n\n\rAnote el nombre del archivo (incluyendo la
extension) : ";
gets(nombre_archivo);
archivo=fopen(nombre_archivo,"wb"); // Abre el archivo
// en modo de solo escritura BINARIO
// (Crea el archivo)
do
{
clrscr();
cout << "\n\n\n\rANOTE LOS DATOS DEL EMPLEADO....\n\n\n\r";
// Capturar los datos del registro
cout << "\n\rNum
: "; cin>>EMPLEADO.num;
cout << "\n\rNombre: "; gets(EMPLEADO.nombre);
cout << "\n\rDepto : "; EMPLEADO.depto=getche();
cout << "\n\rSueldo: "; cin >> EMPLEADO.sueldo;
del
el
/*
ARCHIV10.CPP
Programa para leer registros completos desde un archivo de acceso
directo
y binario
MiniTaller: Tecnicas avanzadas de programacion en Lenguaje C++
Instructor: M.C. Bruno Lopez Takeyas
*/
#include
#include
#include
#include
#include
void main(void)
{
FILE *archivo; // Declaracion del alias para el archivo
struct
{
int num;
// Numero de empleado
char nombre[25]; // Nombre del empleado
char depto; // Departamento del empleado
float sueldo; // Sueldo del empleado
}EMPLEADO;
// Declaracion de una estructura (registro) de nombre EMPLEADO
// que contiene 4 campos: num, nombre, depto y sueldo
char *nombre_archivo; // Variable para capturar el nombre del archivo
long int dir; // Variable para calcular la direccion fisica de un
registro
int num;
clrscr();
cout << "\n\rEste programa captura del teclado el Numero del Empleado
que se desea consultar";
cout << "\n\n\n\rAnote el nombre del archivo (incluyendo la
extension) : ";
gets(nombre_archivo);
archivo=fopen(nombre_archivo,"rb"); // Abre el archivo
clrscr();
cout << "\n\n\n\rANOTE EL NUMERO DEL EMPLEADO QUE SE DESEA
CONSULTAR....\n\n\n\r";
// Capturar el numero de empleado que se desea consultar
cout << "\n\rNum
: "; cin>>num;
dir=num*sizeof(EMPLEADO); // Calcula la direccion fisica del
// registro, utilizada para posicionarse en el renglon indicado por
el
fseek(archivo,dir,SEEK_SET);
// La funcion "fseek" se usa para posicionarse en una direccion
especifica
// del archivo
fread(&EMPLEADO,sizeof(EMPLEADO),1,archivo);
// Lee el registro EMPLEADO, de tamano=sizeof(EMPLEADO) en el
archivo
// La funcion "fread" lee un registro completo de un archivo
// incluyendo todos sus campos
cout
cout
cout
cout
<<
<<
<<
<<
"\n\rNum
:
"\n\rNombre:
"\n\rDepto :
"\n\rSueldo:
"<<EMPLEADO.num;
"<<EMPLEADO.nombre;
"<<EMPLEADO.depto;
"<<EMPLEADO.sueldo;
11
/*
Programa para graficar el escudo del Tec, grabarlo en un archivo para
cargarlo y desplegarlo posteriormente
MiniTaller: Tecnicas avanzadas de programacion en Lenguaje C++
Instructor: M.C. Bruno Lopez Takeyas
*/
#include
#include
#include
#include
#include
#include
#include
void main(void)
{
int monitor=DETECT, modo; // Declaracion de tipo de monitor y modo
// Automaticamente detecta el tipo de monitor
char *archivo; // Para capturar el nombre del archivo
long tamano; // Variable para calcular el tamao en bytes de la imagen
que
// se desea archivar
char far *imagen; // Variable para capturar en memoria la imagen que se
desea
// archivar
FILE *alias_archivo;
int columna,renglon;
initgraph(&monitor,&modo,"\\tc\\bgi");
// Inicializa el modo grafico indicando el monitor y modo utilizado
// El subdirectorio \\tc\\bgi indica la ruta de localizacion de los
// archivos *.BGI (monitores) y *.CHR (tipos de letras)
TEC(320,200); //Escudo del Tec en columna=320 y renglon=200
setlinestyle(DOTTED_LINE,1,1);
rectangle(250,130,390,270);
la