Está en la página 1de 5

Alumno: Max Bruno Saavedra Monterrey

Código de alumno: 21200259


Ciclo : V

1. Se pide crear una fila secuencial que contenga registros de productos de limpieza
para una empresa X que abastece productos de limpieza, también se pide mostrar
los productos.

CREACION DEL ARCHIVO SECUENCIAL CON REGISTROS

Se tiene el registro producto que contiene:


- CODIGO EN CARACTERES
- NOMBRE EN CARACTERES
- CANTIDAD EN ENTEROS

SOLUCION:

1. Crear el Archivo F con el REGISTRO PRODUCTO

ENTRADA: REGISTRO PRODUCTO

SALIDA: F (Archivo de Enteros)

2. Leer el Archivo F , Recorrer F y mostrar todos los elementos que contenía el archivo

La Aplicación crear una Fila secuencial de registros de PRODUCTO

Cada registro PRODUCTO contiene los siguientes datos:

Cod Nombre Cantidad


Código en c++ mejorado:

#include <iostream>
#include <fstream>
using namespace std;

struct PRODUCTO {
char Cod[10];
char Nombre[10];
int Cantidad;
};

class Fila {
FILE *F;
int N;
PRODUCTO P;

public:
void crear();
void recorrer();
};

void Fila::crear() {
int i, n;
F = fopen("PRODUCTO.txt", "w");
if (F == NULL) {
cout << "No se puede abrir el archivo" << endl;
exit(1);
}
cout << "Numero de Productos que desea ingresar: ";
cin >> n;
i = 0;
while (i < n) {
cout << "\nProducto No " << i + 1 << endl;
cout << "Ingrese Codigo: ";
cin >> P.Cod;
cout << "Ingrese Nombre: ";
cin >> P.Nombre;
cout << "Ingrese Cantidad de productos: ";
cin >> P.Cantidad;
fwrite(&P, sizeof(P), 1, F);
i = i + 1;
}
fclose(F);
}

void Fila::recorrer() {
F = fopen("PRODUCTO.txt", "r");
if (F == NULL) {
cout << "No se puede abrir el archivo" << endl;
exit(1);
}
fread(&P, sizeof(P), 1, F);
int bol = 0;
cout << "Reporte de Productos" << endl;
while (!feof(F)) {
bol++;
cout << endl << bol << " Codigo: " << P.Cod;
cout << "\nNombre: " << P.Nombre;
cout << endl << "Cantidad: " << P.Cantidad;
if (bol % 2 == 0) {
cout << "\nPresiona una tecla... ";
cin.get();
}
fread(&P, sizeof(P), 1, F);
}
fclose(F);
cin.get();
}

int menu() {
int op;
cout << "Menu:" << endl;
cout << "Crear Fila................1" << endl;
cout << "Recorrer Fila.............2" << endl;
cout << "Salir.....................0" << endl;
cin >> op;
return op;
}

int main() {
Fila FIL;
int opc;
opc = menu();
while (opc != 0) {
switch (opc) {
case 1: FIL.crear(); break;
case 2: FIL.recorrer(); break;
default: cout << "No existe la opción" << endl;
}
opc = menu();
}
return 0;
}
Salida:
Creación del archivo:

También podría gustarte