[C con Clase] Ayuda
Federico Bracamonte
fede_b389 en hotmail.com
Mie Mayo 25 09:23:14 CEST 2016
Hola alguien podria ser tan amable para exlicarme detalladamente que hace cada funcion? la que es vectorizar y las demas. Porque no entiendo el manejo de ficheros y me pasaron en estas funciones. Muchas Gracias
Es de un programa para cargar productos, ver el stock, precio de venta, reporte de mercaderia, etc
#include<string.h>
#define MaxProducto 150
#include<stdlib.h>
void vectorizar(char* B, char A[10][30])
{
int x=0, y=0, z=0;
while(B[x] != '\0')
{
if(B[x] != '¥')
{
A[y][z] = B[x];
z++;
}
else
{
A[y][z] = '\0';
y++;
z=0;
}
x++;
}
}
//#########################################################################################
void Datos()
{
FILE *fichero = fopen("datos.txt", "rt");
char linea[99]="",vector[10][30];
while(fread(&linea,sizeof(linea),1,fichero)==1)//QUE ESTARIA HACIENDO EN ESTA LINEA DE CODIGO?
{
vectorizar(linea,vector);
strcpy(Producto[i].Codigo, vector[0]);
strcpy(Producto[i].NombreProducto, vector[1]);
Producto[i].CantidadComprada = atoi (vector[2]);
Producto[i].PrecioCompra = strtof (vector[3],'\0') * 1.0;
Producto[i].PorcentajeGanancia = strtof (vector[4],'\0') * 1.0;
strcpy(Producto[i].Almacenamiento, vector[5]);
Producto[i].PrecioVenta = strtof (vector[6],'\0') * 1.0;
Contador = atoi (vector[7]);
Producto[i].MinimoCantidad = atoi (vector[8]);
i++;
}
fclose (fichero);
}
//#########################################################################################
void guardar()
{
char linea[99]="";
FILE *fichero = fopen("datos.txt", "rt+");
for(i=0;i<Contador;i++)
{
sprintf (linea,"%s%c",Producto[i].Codigo, '¥');
sprintf (linea,"%s%s%c",linea,Producto[i].NombreProducto, '¥');
sprintf (linea,"%s%d%c",linea,Producto[i].CantidadComprada,'¥');
sprintf (linea,"%s%9.2f%c",linea,Producto[i].PrecioCompra ,'¥');
sprintf (linea,"%s%9.2f%c",linea,Producto[i].PorcentajeGanancia ,'¥');
sprintf (linea,"%s%s%c",linea,Producto[i].Almacenamiento ,'¥');
sprintf (linea,"%s%9.2f%c",linea,Producto[i].PrecioVenta ,'¥');
sprintf (linea,"%s%d%c",linea,Contador ,'¥');
sprintf (linea,"%s%d%c",linea,Producto[i].MinimoCantidad ,'¥');
fwrite(&linea, sizeof(linea),1, fichero);//QUE ESTARIA HACIENDO ACA TAMBIEN?
}
fclose (fichero);
}
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20160525/3fc1eafe/attachment.html>
Más información sobre la lista de distribución Cconclase