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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda con uso de fwrite actualizar fichero en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con uso de fwrite actualizar fichero en c  (Leído 1,493 veces)
adriana13

Desconectado Desconectado

Mensajes: 14


Ver Perfil
ayuda con uso de fwrite actualizar fichero en c
« en: 4 Octubre 2018, 00:20 am »

hola! tengo que actualizar un archivo en c y el profesor me dijo q pruebe con fwrite... la verdad estoy perdida porque no se como hacer para que actualice los datos q voy cargando

aca va la consigna y el codigo que estoy haciendo:

/* Dado un archivo de registros de tres campos (legajo: entero; sueldo: real; adicional: real), realizar un programa
 que permita actualizar el archivo,
de modo que el sueldo sea incrementado en 0.5 veces el adicional.
Los sueldos que se deben modificar son aquellos
que cumplan con alguna de las siguientes condiciones:
-Legajo entre 1 y 5454, y el sueldo menor a $350.
-Legajo entre 6000 y 9800, y el adicional sea menor a $200.
-Legajo mayor a 15300*/

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

FILE *archivo;
struct datosempleado{
   int legajo;
   float sueldo;
   float adicional;
}datos;

void crear(){
   FILE *archivo;
   char respuesta;
   archivo= fopen("C:\\Users\\adria\\Downloads\\registros.txt", "a+t");
   if(archivo==NULL){
      printf("Error");
      return 1;
   }
   do{
   
   printf ("\nIngrese numero de legajo: ");
   scanf("%i", &datos.legajo);
   printf("\nIngrese su sueldo: ");
   scanf("%f", &datos.sueldo);
   printf("\n Ingrese su adicional: ");
   scanf("%f", &datos.adicional);
   fflush(stdin);
   fprintf(archivo, "\nNumero de Legajo: ");
   fwrite(&datos.legajo, 1, sizeof(datos.legajo), archivo);
   fprintf(archivo, "\nSueldo: ");
   fwrite(&datos.sueldo, 1, sizeof(datos.sueldo),archivo);
   fprintf(archivo, "\nAdicional: ");
   fwrite(&datos.adicional, 1, sizeof(datos.adicional),archivo);
   printf("desea agregar más datos: (s)");
      scanf ("%c",&respuesta);
   }   while(respuesta== 's');   
   fclose(archivo);
}


void Actualizar(){
   float sueldoActual;

   FILE *archivo;

   archivo= fopen("C:\\Users\\adria\\Downloads\\registros.txt", "w+");
      if(archivo==NULL){
      printf("Error");
      return 1;
   }
   else{
   
   fread(&datos, sizeof(datos),1,archivo);
   printf("%i %.2f %.2f\n", datos.legajo, datos.sueldo, datos.adicional);

   rewind(archivo);
   
      if((datos.legajo>1) && (datos.legajo<5454) && (datos.sueldo<350)){
      sueldoActual= (datos.adicional *  0.5) + datos.sueldo;
         fwrite(&datos, sizeof(datos.sueldo),1,archivo);
   }
      if((datos.legajo>6000) && (datos.legajo<9800) && (datos.adicional<200)){
      sueldoActual= (datos.adicional *  0.5) + datos.sueldo;
         fwrite(&datos, sizeof(datos.sueldo),1,archivo);
   }
      if(datos.legajo>15300){
      sueldoActual= (datos.adicional *  0.5) + datos.sueldo;
         fwrite(&datos, sizeof(datos.sueldo),1,archivo);
   }

         printf("Sueldo actual: %.2f"), sueldoActual;}
      
      fclose(archivo);
      return 0;
}

int main(){
   int opc;
   do{
      printf ("\n1. Crear Archivo de registro");
      printf ("\n2. Actualizar sueldo: ");
      printf("\n3. Salir\n");
      printf("\nIngrese opcion: ");
      scanf("%i", &opc);
      
      switch(opc){
         case 1: crear();
         case 2: Actualizar();
      }
   }
   while(opc != 3);
   
   
   return 0;
}


En línea

Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
Re: ayuda con uso de fwrite actualizar fichero en c
« Respuesta #1 en: 4 Octubre 2018, 04:06 am »

Es con w para archivos wb para archivos binarios sirve para agregar en modo escritura  y a+  para archivos y ab+ para archivos binarios este ultimo abre el archivo modo lectura/escritura y agrega al final


En línea

7w7
adriana13

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: ayuda con uso de fwrite actualizar fichero en c
« Respuesta #2 en: 19 Octubre 2018, 21:36 pm »

Gracias voy a probar!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problemas con fwrite()
PHP
eLank0 2 1,903 Último mensaje 17 Enero 2007, 01:57 am
por eLank0
Problema para pasar una lista a fichero con Fwrite « 1 2 »
Programación C/C++
samur88 12 7,859 Último mensaje 21 Febrero 2011, 01:06 am
por samur88
Problema Fwrite
Programación C/C++
kristian_5 2 2,441 Último mensaje 12 Junio 2013, 11:08 am
por aguml
fwrite y estructuras
Programación C/C++
m@o_614 4 5,996 Último mensaje 6 Noviembre 2013, 02:33 am
por rir3760
Ayuda con la funcion fwrite en lenguaje c
Programación C/C++
maicol_962016 3 2,159 Último mensaje 19 Febrero 2016, 10:25 am
por fary
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines