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