Bienvenido

Bienvenido
Disfruta el contenido

sábado, 2 de mayo de 2015

Programacion en C Archivos y Registros

Manejo de archivos en C


Hola que tal aqui en este POST comparto con ustedes un programa que realice sobre archivos. Espero les sea de utilidad.


El programa fue realizado con Visual Studio 2012 en lenguaje C. En este breve pero funcional programa pueden checar las funciones basicas sobre manejos de archivos en este lenguaje de programacion para en otro momento escalar a desarrollar sistemas mucho mas desarrollados y con mas opciones que cubran sus necesidades de proyecto.

Siendo el manejo de archivos un tema de gran importancia para computacion ya que de esta forma podemos resguardar nuestra informacion de forma permanente les aconsejo mucho que se familiaricen a fondo con este tema

Les dejo una recomendación de libros que creo que son buenas opciones para estudiar archivos.




Para la parte de registros escribi algo sobre eso en otro POST los invito a que lo chequen si tienen duda de esta tema muy ligado a manejo de archivos y definicion de sus propios tipos de datos.

Aqui les dejo el codigo fuente para que prueben el programa  Suerte




Captura en pantalla del programa funcionando



/* Registros 2

Blog de Rincon Informatico
 Juan Lopez

Descripcion
Implementar un programa con registros que capture y despliegue informacion
sobre clientes

*/

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<Windows.h>

#define MAX 30

typedef struct Alumno{

    char materia[MAX];
    char nombre[MAX];
    char apellidos[MAX];
    int edad;
    float calFinal;
    char hobby[MAX];
}Alumnos;

//typedef Alumno estudiante;

int main()
{
Alumnos estudiante;

    char salida;
    system("cls");
    system("color F9");

    do{ //Inicio de la ejecucion del programa
       system("cls");      
     
//captura de datos
  printf("\n\tManejo de registros-\n\n");

  printf("\t--Captura de valores del registro--\n\n");

       printf("\t*.-Ingresa el nombre del alumno: ");
  scanf_s("%s", &estudiante.nombre, MAX);   //se debe especificar el tamaño del buffer

       printf("\t*.-Ingresa el nombre de la materia: ");
  scanf_s("%s", &estudiante.materia, MAX);      

       printf("\t*.-Ingresa tu apellido: ");
  scanf_s("%s", &estudiante.apellidos, MAX);

       printf("\t*.-Ingresa la edad: ");
  scanf("%d", &estudiante.edad);

       printf("\t*.-Ingresa la calificacion final: ");
  scanf("%f", &estudiante.calFinal);


       printf("\t*.-Ingresa tu hobby: ");
  scanf_s("%s", &estudiante.hobby, MAX );

//despliegue de informacion    
        printf("\n\n"); //Espacio para mostrar resultados

        printf("\t*****************\n");
        printf("\t*   Registro    *\n");
        printf("\t*****************\n");

        printf("\n\n");

printf("\tAlumno:    %2s \n", estudiante.nombre);
printf("\tMateria:   %2s\n", estudiante.materia);
printf("\tApellido:  %2s\n", estudiante.apellidos);
printf("\tEdad:      %2d\n", estudiante.edad);
printf("\tCalFinal:  %2.2f\n", estudiante.calFinal );
printf("\tHobby:     %2s \n", estudiante.hobby);


        printf("\n\t  ¿Desea intentar de nuevo (S/N) ");
        salida = getch();
        salida= tolower(salida);

    }while(salida == 's' && salida == 'S');


getchar();
     printf("\nHasta pronto...");
getchar();



}//fin de main




CONSIDERACION IMPORTANTE
Para ejecutar con exito este otro programa se necesita que coloques la ruta de tu equipo en donde guardaras el archivo en esta seccion del codigo. Se guardara como un archivo de texto que puedes recuperar la informacion a tu programa en otro momento.

recuerda cerrar los archivos siempre despues de trabajar con ellos con la instrucccion fclose

FILE *archdisco;
     archdisco = fopen("C:\\Users\\personal\\Programacion\\Prueba1.txt" , "at+");
 fwrite(&usuario, sizeof(usuario), 1, archdisco );
     fclose(archdisco);                                         //cerrar el archivo




Programa de grabacion de archivos en ejecucion




Ejemplo de la grabacion del archivo en la carpeta con la ruta elegida



/*Manejo de archivos en C

  Blog de Rincon Informatico
  Juan Lopez

  DESCRIPCION
  ARchivo tipo texto que contenga los datos del registro archivoNom
*/


#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<Windows.h>

struct archivoNom{
    char nombre[30];
    char apellido[30];
    char hobby[30];
    char trabajo[30];

}usuario;

int main()
{
    char salida;  //salir del sistema
system("cls");
system("color F9");


    do{  //comienzo de la ejecucion del programa
     system("cls");

     printf("\tCaptura de datos del registro ArchivoNom\n\n");    
   
     printf("1.-INgresa tu nombre:  ");     //captura de campos
     gets(usuario.nombre);

     printf("2.-Ingresa tu apellido: ");
gets(usuario.apellido);

     printf("3.-INgresa tu hobby: ");
gets(usuario.hobby);

     printf("4.-Ingresa tu tipo de trabajo: ");
gets(usuario.trabajo);    

printf(" Ingresa ENTER para guardar el archivo.");

       //Grabacion del archivo en disco                        
     FILE *archdisco;
     archdisco = fopen("C:\\Users\\personal\\Programacion\\Prueba1.txt" , "at+");
fwrite(&usuario, sizeof(usuario), 1, archdisco );
     fclose(archdisco);                                         //cerrar el archivo
 


     //aviso al usuario despues de la operacion
     getchar();
     printf("\n\n\tARCHIVO GUARDADO");      
     getchar();
   
   


      printf("Desea una nueva ejecucion?: ");    

      salida = getch();
      salida = tolower(salida);


    }while(salida == 's' && salida == 'S');
system("cls");
   
  //reinicliazacion de contadores
  getchar();
printf("Fin de la ejecucion del programa. ");
  getchar();


}//fin de main






No hay comentarios:

Publicar un comentario