• Sábado 14 de Diciembre de 2024, 23:33

Autor Tema:  manipulacion de archivos en c  (Leído 1268 veces)

kata_dav83

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
manipulacion de archivos en c
« en: Martes 14 de Julio de 2009, 07:15 »
0
Hola necesito urgente saber como guardo un arreglo de enteros en un archivo en c
el programa tiene como menu:
guardar archivo
mostrar datos archivo
eliminar archivo
 y en internet no he podido encontrar nada util o comprensible
espero alguien me de alguna ayudita porfis!!! :oops:

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: manipulacion de archivos en c
« Respuesta #1 en: Martes 14 de Julio de 2009, 14:23 »
0
Cuatro palabros: fopen, fread, fwrite, y fclose  :lol:

Busca sobre ello. Saludos.

kata_dav83

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: manipulacion de archivos en c
« Respuesta #2 en: Miércoles 15 de Julio de 2009, 19:41 »
0
gracias :D

SincodigosxD

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: manipulacion de archivos en c
« Respuesta #3 en: Sábado 18 de Julio de 2009, 05:36 »
0
buenas soy nuevo en el foro y estudio programacion hace medio año y tambien tengo dudas con el uso de esas funciones, estoy haciendo un programita muy sencillo (ahora se los pego) pero necesito saber como hacer para guardar los datos y que cuando el programa se vuelva a abrir ya esten cargados

El programa pretende organizar gastos lo tengo por la mitad recien lo empece.. si alguien me puede ayudar le voy a agradecer

Código: C
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. #include<string.h>
  5.     struct Gastos {
  6.         char nombre[20];
  7.         float cantidad;
  8.         int pos;
  9.     };
  10. //declaracion de  funciones
  11. void menu ();
  12. void agregar(int* A, struct Gastos gastos[]);
  13. void mostrar(int* A, struct Gastos gastos []);
  14. void editar(int* A,struct Gastos gastos[]);
  15. void burbunum (int A,struct Gastos gastos[]);
  16. void burbupal(int A,struct Gastos gastos[]);
  17. //bloque principal
  18. int main (){
  19.     struct Gastos gastos[15];
  20.     int opc,a=1,flag=0,i=0;
  21. do{
  22.     menu();
  23.     scanf("%d",&opc);
  24.  
  25.         switch(opc){
  26.  
  27.                 case 1:
  28.                 fflush(stdin);
  29.                 system("cls");
  30.                 agregar(&a,gastos);
  31.                 system("cls");
  32.                 fflush(stdin);
  33.                     printf("Los datos guardados para la posicion %d fueron:nn"
  34.                     "%s $%.2f",gastos[a-1].pos, gastos[a-1].nombre , gastos[a-1].cantidad);
  35.                     getchar();
  36.                 break;
  37.  
  38.                 case 2:
  39.                 system("cls");
  40.                 mostrar(&a,gastos);
  41.                 getch();
  42.                 fflush(stdin);
  43.                 break;
  44.  
  45.                 case 3:
  46.                 system("cls");
  47.                 editar(&a,gastos);
  48.                 fflush(stdin);
  49.                 break;
  50.                 case 4:
  51.                 system("cls");
  52.                 burbunum(a,gastos);
  53.                 printf(" NOMBRE          GASTOSn");
  54.                 printf(" ------          ------n");
  55.  
  56.                     for (i=1;i<a;i++){
  57.                 printf(" %-15s $%-6.2f", gastos[i].nombre,gastos[i].cantidad);
  58.                 printf("n");
  59.                 }
  60.                 getch();
  61.                 break;
  62.                 case 5:
  63.                 system("cls");
  64.                 burbupal(a,gastos);
  65.                 printf(" NOMBRE          GASTOSn");
  66.                 printf(" ------          ------n");
  67.  
  68.                     for (i=1;i<a;i++){
  69.                 printf(" %-15s $%-6.2f", gastos[i].nombre,gastos[i].cantidad);
  70.                 printf("n");
  71.                 }
  72.                 getch();
  73.                 break;
  74.                 case 9:
  75.                      flag=1;
  76.                 break;
  77.  
  78.         }
  79. }
  80. while(flag==0);
  81. return 0;
  82. }
  83. //Desarrollo de funciones
  84. void menu (){
  85.     system("cls");
  86.     printf("1-Agregarn");
  87.     printf("2-Mostrar datosn");
  88.     printf("3-Editar datosn");
  89.     printf("4-Ordenar por gastosn");
  90.     printf("5-Ordenar por nombren");
  91. }
  92. void agregar(int* A,struct Gastos gastos[]){
  93.  
  94.     printf("Tipo de gasto: ");
  95.         scanf("%s",&gastos[*A].nombre);
  96.     printf ("nCantidad $:   ");
  97.         scanf("%f",&gastos[*A].cantidad);
  98.  
  99.     gastos[*A].pos=*A;
  100.     *A+=1;
  101. }
  102. void mostrar (int* A, struct Gastos gastos []){
  103.  
  104.  int i=1,w=1;
  105.     printf("POS   NOMBRE          GASTOSn");
  106.     printf("---   ------          ------n");
  107.     for (i=1;i<*A;i+=1){
  108.         printf("%-5.2i %-15s $%-6.2f", w , gastos[i].nombre,gastos[i].cantidad);
  109.         printf("n");
  110.         w++;
  111.     }
  112.  
  113. }
  114. void editar(int* A,struct Gastos gastos[]){
  115.     int OPC;
  116.     mostrar(A,gastos);
  117.     printf("nQue posicion desea editar?");
  118.     scanf("%i",&OPC);
  119.  
  120.     printf("Tipo de gasto: ");
  121.         scanf("%s",&gastos[OPC].nombre);
  122.     printf ("nCantidad $:   ");
  123.         scanf("%f",&gastos[OPC].cantidad);
  124. }
  125. void burbunum(int A,struct Gastos gastos[]){
  126.     int i=0,flag=0;
  127.     struct Gastos aux;
  128.  
  129.  
  130.         while (flag==0){
  131.             flag=1;
  132.  
  133.             for (i=1;i<A-1;i++){
  134.                 if (gastos[i].cantidad>gastos[i+1].cantidad){
  135.                     aux=gastos[i+1];
  136.                     gastos[i+1]=gastos[i];
  137.                     gastos[i]=aux;
  138.                     flag=0;
  139.                 }
  140.             }
  141.         }
  142.  
  143.  
  144. }
  145. void burbupal(int A,struct Gastos gastos[]){
  146.    int i=0,flag=0;
  147.     struct Gastos aux;
  148.  
  149.  
  150.         while (flag==0){
  151.             flag=1;
  152.  
  153.             for (i=1;i<A-1;i++){
  154.                 if (strcmp(gastos[i].nombre,gastos[i+1].nombre)>0){
  155.                     aux=gastos[i+1];
  156.                     gastos[i+1]=gastos[i];
  157.                     gastos[i]=aux;
  158.                     flag=0;
  159.                 }
  160.             }
  161.         }
  162.  
  163.  
  164. }
  165.  
  166.