[ Foro de C ]
Hola, el problema ocurre cuando deseo imprimir la lista ya que no aparece nada en pantalla. El archivo es un .csv que viene de la siguiente manera
2005,Enero,Ford,123658
2005,Febrero,Ford,225632
¡AYUDA! POR FAVOR:
#include <stdio.h>
#include <stdlib.h>
typedef struct nodo{
int anio;
char mes[20];
char marca[30];
long cantidad;
struct nodo* siguiente;
} nodo;
nodo* primero=NULL;
nodo* ultimo=NULL;
FILE *archivo;
void crear();
void imp();
int main()
{
crear();
imp();
}
void crear(){
archivo=fopen("datos.csv", "r");
if (archivo==NULL){
printf("Error al abrir\n");
}
else {
while(!feof(archivo)){
nodo* nuevo =(nodo*)malloc(sizeof(nodo));
if (nuevo==NULL){
printf("Error en la memoria");
}
fscanf("%[^,],%[^,],%[^,],%[^\n]",nuevo->anio,nuevo->mes,nuevo->marca,nuevo->cantidad);
if (primero == NULL){
primero = nuevo;
primero -> siguiente=NULL;
ultimo = nuevo;
}
else {
ultimo -> siguiente = nuevo;
nuevo -> siguiente = NULL;
ultimo = nuevo;
}
}
}
}
void imp(){
nodo* actual = (nodo*)malloc(sizeof(nodo));
actual=primero;
if (primero!=NULL){
while (actual!=NULL){
printf("%d %s %s %ld", actual->anio, actual->mes, actual->marca, actual->cantidad);
actual = actual -> siguiente;
}
}
else {
printf("La lista esta vacia\n");
}
}
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)