]> git.llucax.com Git - z.facultad/75.06/emufs.git/blob - emufs_gui/genera_art/genera_art.c
* Agrego programa para generar archivo de articulos.
[z.facultad/75.06/emufs.git] / emufs_gui / genera_art / genera_art.c
1
2 /* Genera un XML con articulos */
3
4 #include <stdio.h>
5 #include <time.h>
6 #include <stdlib.h>
7
8 #include "dict.h"
9 #include "common.h"
10
11 int main(int argc, char *argv[])
12 {
13         int i, total;
14         t_Dict *productos;
15         t_Dict *marcas;
16         t_Dict *presentacion;
17         FILE *fp;
18
19         if (argc != 3) {
20                 printf("Modo de uso :\n");
21                 printf("\t#> %s salida.xml <cantidad de items a generar>\n", argv[0]);
22                 return 1;
23         }
24         
25         total = atoi(argv[2]);
26         
27         fp = fopen(argv[1], "wt");
28         if (fp == NULL) {
29                 printf("No se pudo crear %s\n", argv[1]);
30                 return 1;
31         }
32         
33         productos = dict_crear("productos.txt");
34         marcas = dict_crear("marcas.txt");
35         presentacion = dict_crear("presentacion.txt");
36
37         srand(time(NULL));
38         fprintf(fp, "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n\n");
39         fprintf(fp, "<ARTICULOS>\n");
40         for(i=0; i<total; i++) {
41                 fprintf(fp, "\t<ARTICULO ");
42                 fprintf(fp, "NroArtículo=\"%d\" ", al_azar(1, 99999999));
43                 fprintf(fp, "Descripción=\"%s %s\" ", dict_get_al_azar(productos), dict_get_al_azar(marcas));
44                 fprintf(fp, "Presentación=\"%s\" ", dict_get_al_azar(presentacion));
45                 fprintf(fp, "Existencia=\"%d\" ", al_azar(1, 1000));
46                 fprintf(fp, "PVU=\"%.2f\" ", (al_azar(1, 1000) / (float)al_azar(1, 765)) * al_azar(1, 10));
47                 fprintf(fp, "Emín=\"%d\" />\n", al_azar(1, 1000));
48         }
49         fprintf(fp, "</ARTICULOS>\n");
50         fclose(fp);
51
52         dict_destruir(productos);
53         dict_destruir(marcas);
54         dict_destruir(presentacion);
55         return 0;
56 }
57
58