elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 [2]
11  Programación / Programación C/C++ / Re: Lectura de archivo secuencial a acceso directo en: 16 Noviembre 2012, 02:14 am
Ya he solucionado el problema, gracias rir3760 por la informacion
12  Programación / Programación C/C++ / Re: Lectura de archivo secuencial a acceso directo en: 15 Noviembre 2012, 05:15 am
Hola gracias por la ayuda, mira segun yo avance un poco pero me quedo trabado en una parte... para empezar el programa toma un archivo de texto que tiene como contenido algo mas o menos asi:

juan hernandez,perez,computacion,009090
jose,soto,leon,quimica,22222
           .
           .
         etc.
 
el programa lo que hace es un archivo nuevo y pasa la informacion del anterior al nuevo como archivo de acceso directo para que quede todo la informacion seguida en una sola linea, claro con los espacios de cada cadena, pero ahora mi problema es que a la hora de pasaar los datos al archivo nuevo solo pasa el ultimo alumno y lo que quiero es que se pasen todos los alumnos del archivo, les muestro el codigo que llevo...


Citar

/*
PROGRAMA DE CREACIÓN Y ESCRITURA EN UN ARCHIVO
DE ACCESO DIRECTO
*/
#include <stdlib.h>
#include <stdio.h>
char menu();
FILE *archivo=NULL;
void insertarAlumno();
void buscarAlumno();
char nombreArchivo [15];
void crearArchivo();

typedef struct{
char nombre[25];
char apellidoPaterno[25];
char apellidoMaterno[25];
char licenciatura[40];
char matricula[15];
}Alumno;

Alumno alu;

int main(){
    int opcion = 0;

    while(opcion != 3){

        printf("Programa de manejo de alumnos: ");
        printf("\n1. Crear un nuevo archivo de alumnos");
        printf("\n2. Cargar el archivo de acceso directo");
        printf("\n3. Salir");
        printf("\nQue opcion deseas: ");
        scanf("%d",&opcion);

        if(opcion == 1){
            crearArchivo();
        }

        else if(opcion == 2){
            insertarAlumno();
        }

   else if(opcion ==3){
      printf("Fin del programa");
   }

        else{
            printf("\nOpcion no válida");
        }

    }

}

void crearArchivo(){
    FILE *archivoDirecto;
    archivoDirecto=fopen("alumnosDirecto.txt","w");
    fclose(archivoDirecto);
}

void insertarAlumno(){

    FILE *archivoDirecto;
    int idAlumno;

    archivoDirecto=fopen("alumnosDirecto.txt","a");
    printf("\nNombre de archivo que desa cargar: ");
   scanf("%s",&nombreArchivo);
   archivo = fopen(nombreArchivo,"r");
   while(!feof(archivo)){

    fscanf(archivo,"%[^,],%[^,],%[^,],%[^,],%[^\n]\n",&alu.nombre,&alu.apellidoPaterno,&alu.apellidoMaterno,&alu.licenciatura,&alu.matricula);
   }
    fseek(archivoDirecto,idAlumno*sizeof(Alumno),SEEK_SET);

    fwrite(&alu,sizeof(Alumno),1,archivoDirecto);
    fclose(archivoDirecto);
}




Sospecho que mi error se encuentra en esta parte pero no se muy bien...
Citar
while(!feof(archivo)){
}
13  Programación / Programación C/C++ / Lectura de archivo secuencial a acceso directo en: 15 Noviembre 2012, 01:58 am
Hola saludos a todos, vengo para ver si me pueden hechar un cable, mi problema es el siguiente, tengo el codigo para poder leer un archivo secuencial, pero me falta escribir ese mismo archivo a uno de acceso directo y poder consultar el de acceso directo pero solo me quedo hasta la lectura del archivo secuencial :huh:...

Citar
#include <stdio.h>
#include <string.h>

int main(){
   FILE *archivo=NULL;
   char nombreArchivo [15];
   char contenido [128];
   char nombre [50];
   char paterno [50];
   char materno [50];
   char licenciatura[50];
   char matricula[15];

   printf("\nNombre de archivo: ");
   scanf("%s",&nombreArchivo);
   archivo = fopen(nombreArchivo,"r");

   while(archivo == NULL){
      printf("El archivo no pudo abrirse");
      printf("\n\nNombre de archivo: ");
      scanf("%s",&nombreArchivo);
      archivo = fopen(nombreArchivo,"r");
   }

   while(!feof(archivo)){

      fscanf(archivo,"%[^,],%[^,],%[^,],%[^,],%[^\n]\n",&nombre,&paterno,&materno,&licenciatura,&matricula);
      printf("\nNombre:%s",nombre);
      printf("\nA.Paterno:%s",paterno);
      printf("\nA.Materno:%s",materno);
      printf("\nLicenciatura:%s",licenciatura);
      printf("\nMatricula:%s",matricula);
      printf("\n----------------------------------\n");
    }
   fclose(archivo);
   system("pause");
   return 0;
}


Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines