C/Visual C - actualizar datos en c

 
Vista:
sin imagen de perfil

actualizar datos en c

Publicado por miguel (1 intervención) el 13/06/2014 04:47:32
hola a todos soy extra nuevo jaja aca, miren tengo que hacer un programa en c de un inventario, que ingrese nuevos proveedores, los edite los elimine y los muestre pero tengo ene problemas para editarlos :C aqui les dejo lo que llevo porfa ayudenme :$ :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <conio.h>
#include <string.h>
#include <stdlib.h>
 
 
 typedef struct {
int id;
char nombre_prov[50];
char direc_prov[50];
char pais_prov[50];
int tel_prov;
int codpos_prov;
}prov;
 
 
    void datos(prov *nuevo);
 
main() {
 
    FILE *abrir,*cerrar;
 
    prov nuevo, imp;
    char opc;
    char resp;
 
   printf ("\nPrograma inventario\n");
    printf("\nSeleccione una de las siguientes opciones\n \na)Ingresar nuevo proveedor\n \nb)Editar proveedor\n \nc)Eliminar proveedor\n");
    scanf("%c", &opc);
 
 
 
    switch(opc) {
do{
 
case 'a':
 
 
    datos(&nuevo);
 
    abrir = fopen("progasm.txt","a+");
 
    fwrite(&nuevo,sizeof(nuevo),1,abrir);
 
    printf ("\nDesea ingresa otro proveedor? s/n \n");
    fflush(stdin);
    scanf("%c", &resp);
    fflush(stdin);
 
 
    }while(resp=='s');
 
 
    fclose(abrir);
    break;
 
case 'b':
 
 
 
cerrar=fopen("progasm.txt", "r");
 
 
 
    fread(&imp,sizeof(nuevo),1,cerrar);
 
    printf("\nId de proveedor %d", imp.id);
    printf("\nEl nombre del proveedor es %s", imp.nombre_prov );
    printf("\nLa direccion es %s ", imp.direc_prov);
    printf("\nEl pais es %s", imp.pais_prov);
    printf("\nTelefono %d", imp.tel_prov);
    printf("\nCodigo postal %d",imp.codpos_prov);
 
break;
fclose(cerrar);
 
    }
 
}
 
 
void datos(prov *nuevo){
 
char buffer[80];
    system("cls");
    printf("\n\tId proveedor: ");
      fflush(stdin);
    fgets(buffer,80,stdin);
      fflush(stdin);
    sscanf(buffer,"%d",&nuevo->id);
      fflush(stdin);
    printf("\n\tNombre: ");
      fflush(stdin);
    fgets(nuevo->nombre_prov,50,stdin);
      fflush(stdin);
    printf("\n\tDireccion: ");
      fflush(stdin);
    fgets(nuevo->direc_prov,50,stdin);
      fflush(stdin);
    printf("\n\tPais: ");
      fflush(stdin);
    fgets(nuevo->pais_prov,50,stdin);
       fflush(stdin);
     printf("\n\tTelefono: ");
      fflush(stdin);
    fgets(buffer,80,stdin);
      fflush(stdin);
    sscanf(buffer,"%d",&nuevo->tel_prov);
       fflush(stdin);
     printf("\n\tCodigo postal: ");
      fflush(stdin);
    fgets(buffer,80,stdin);
      fflush(stdin);
    sscanf(buffer,"%d",&nuevo->codpos_prov);
  fflush(stdin);
}

hasta ahora solo puedo agregar los nuevos proveedores. gracias :D
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder