Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: KISSY Snaks en 7 Agosto 2015, 17:37 pm



Título: No puedo procesar este archivo en programacion C
Publicado por: KISSY Snaks en 7 Agosto 2015, 17:37 pm
HOla!! necesito ayuda con este problema.
me dan este archivo: autos.txt

Orden;IDMARCA;MODELO;TIPO;PRECIO;AUMENTO;STOCK
entero;entero;25 caracteres;30 caracteres;decimal;decimal;entero
1;100;99 Cavalier;Descapotable;19.571,00;0,06;6

y este otro marcas.txt

100;Chevrolet
200;Chrysler
300;Dodge
400;Ford


El ejercicio dice:
1-procesar el aumento indicado en la columna correspondiente y grabar un nuevo archivo "autos_actualizado.csv"
2-Emitir por pantalla que marcas poseen un tipo "descapotable" y el costo total que pago po marca la concesionaria.
3-Emitir por pantalla el importe total.


Le agradezco de verdad si alguien me puede ayudar un poco aunque sea poque ya intente muchas veces pero me termina saliendo un frankeinten. Necesito alguna pista.
Muchas gracias


Título: Re: No puedo procesar este archivo en programacion C
Publicado por: engel lex en 7 Agosto 2015, 18:44 pm
muestra lo que llevas para poder corregir los errores


Título: Re: No puedo procesar este archivo en programacion C
Publicado por: KISSY Snaks en 9 Agosto 2015, 03:14 am
Código
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<stdlib.h>
  4. #include<conio.h>
  5.  
  6. void extraerDatos(char *linea, char *orden, int *idmarca, char *modelo, char *tipo, float *precio, float *aumento, int *stock){
  7.  
  8. char *cadIdmarca, *cadModelo, *cadTipo, *cadPrecio, *cadAumento, *cadStock;
  9.  
  10. strcpy(orden, strtok(linea,";"));
  11.  
  12.  
  13. cadIdmarca=strtok(NULL,";");
  14. *idmarca=atoi(cadIdmarca);
  15.  
  16. cadModelo=strtok(NULL,";");
  17. *modelo=atof(cadIdmarca);
  18.  
  19. cadTipo=strtok(NULL,";");
  20. *tipo=atof(cadTipo);
  21.  
  22. cadPrecio=strtok(NULL,";");
  23. *precio=atoi(cadPrecio);
  24.  
  25. cadAumento=strtok(NULL,";");
  26. *aumento=atoi(cadAumento);
  27.  
  28. cadStock=strtok(NULL,";");
  29. *stock=atoi(cadStock);
  30. }
  31.  
  32.  
  33. main(){
  34. char linea[2000];
  35. char modelo[25];
  36. char tipo[30];
  37. char  orden;
  38. int idmarca;
  39.  
  40.  
  41. float precio;
  42. float aumento;
  43. int stock;
  44.  
  45. FILE *pArchivo=fopen("autos.txt", "r");
  46.  
  47. if (pArchivo!=NULL){
  48.                        fgets(linea, 2000, pArchivo);
  49.  
  50.  
  51.                        while(!feof(pArchivo)){
  52.                                                extraerDatos(linea, &orden, &idmarca, modelo, tipo, &precio, &aumento, &stock);
  53.                                                printf("%s %d %s %.2f %.2f %.2f %d", orden, idmarca, tipo, precio, aumento, stock);
  54.                                                fgets(linea, 2000, pArchivo);
  55.  
  56.                                                }
  57.                        fclose(pArchivo);
  58.  
  59.                        }
  60.  
  61.  
  62. }


Mod: Los códigos deben ir en etiquetas GeSHi