Estructuras en c

Solo disponible en BuenasTareas
  • Páginas : 3 (684 palabras )
  • Descarga(s) : 0
  • Publicado : 12 de noviembre de 2011
Leer documento completo
Vista previa del texto
// alea.c: Ejemplo de ficheros de acceso aleatorio.
#include
#include

struct stRegistro \{
char valido; // Campo que indica si el registro es válido S->Válido, N->Inválido
charnombre[34];
int dato[4];
};

int Menu();
void Leer(struct stRegistro *reg);
void Mostrar(struct stRegistro *reg);
void Listar(long n, struct stRegistro *reg);
long LeeNumero();
voidEmpaquetar(FILE **fa);

int main()
\{
struct stRegistro reg;
FILE *fa;
int opcion;
long numero;
fa = fopen("alea.dat", "r+b"); // Este modo permite leer y escribirif(!fa) fa = fopen("alea.dat", "w+b"); // si el fichero no existe, lo crea.
do \{
opcion = Menu();
switch(opcion) \{
case '1': // Añadir registroLeer(®);
// Insertar al final:
fseek(fa, 0, SEEK_END);
fwrite(®, sizeof(struct stRegistro), 1, fa);
break;
case '2': // Mostrar registrosystem("cls");
printf("Mostrar registro: ");
numero = LeeNumero();
fseek(fa, numero*sizeof(struct stRegistro), SEEK_SET);
fread(®,sizeof(struct stRegistro), 1, fa);
Mostrar(®);
break;
case '3': // Eliminar registro
system("cls");
printf("Eliminar registro: ");numero = LeeNumero();
fseek(fa, numero*sizeof(struct stRegistro), SEEK_SET);
fread(®, sizeof(struct stRegistro), 1, fa);
reg.valido = 'N';fseek(fa, numero*sizeof(struct stRegistro), SEEK_SET);
fwrite(®, sizeof(struct stRegistro), 1, fa);
break;
case '4': // Mostrar todorewind(fa);
numero = 0;
system("cls");
printf("Nombre Datos\n");
while(fread(®, sizeof(struct stRegistro), 1, fa))...
tracking img