Retroceder   Foros del Web > Temas generales de computación > Programación

Respuesta
 
Herramientas Desplegado
Antiguo 28-abr-2008, 10:25   #1 (permalink)
Adree ha deshabilitado el karma
 
Fecha de Ingreso: abril-2008
Mensajes: 13
Error en windows con un programa

He hecho el siguiente programa, una lista que va almacenando productos y me da error con windows despues del compilar:
#include <stdio.h>
#include <stdlib.h>

typedef struct stNode {
char nomFruita[50];
float preuPerQuilo;
int quantitat;
struct stNode *seg;
}tNode;

typedef struct stLlista{
tNode *llista;
}tLlista;

void OmplirStock (tLlista *a)
{
int x;
int i;
tNode *b;
tNode *actual;
b= (tNode*) malloc (sizeof (tNode));
if (b==NULL){
printf ("ERROR");
exit(-1);}
printf ("Quants productes vol demanar al proveidor?\n");
scanf ("%d", &x);
actual = a->llista;
i=1;
while (i<=x){
printf ("Introdueix el nom del producte\n");
scanf ("%s", &b->nomFruita[50]);
printf ("Introdueix el preu del producte\n");
scanf ("%f", &b->preuPerQuilo);
printf ("Introdueix la quantitat del producte\n");
scanf ("%d", &b->quantitat);
if (actual == NULL){
b->seg = a->llista;
a->llista = b;
}else{
b->seg = actual->seg;
actual = b;
}
i = i+1;
}
}

int main () {


tLlista llista;
OmplirStock (&llista);
system ("PAUSE");
return (0);
}

Muchas gracias
Adree está desconectado   Responder Citando
Antiguo 28-abr-2008, 11:03   #2 (permalink)
aloqui tiene algunos puntos positivos de karma
 
Avatar de aloqui
 
Fecha de Ingreso: diciembre-2007
Mensajes: 955
Re: Error en windows con un programa

Cita:
Iniciado por Adree Ver Mensaje
He hecho el siguiente programa, una lista que va almacenando productos y me da error con windows despues del compilar:
No se entiende si te da error al compilar o al ejecutar.
Y para que te podamos ayudar deberías poner el texto del error que te sale, y si es en ejecución en que momento (tras rellenar un producto, tras rellenar 3 productos, ... )
aloqui está desconectado   Responder Citando
Antiguo 28-abr-2008, 12:13   #3 (permalink)
Adree ha deshabilitado el karma
 
Fecha de Ingreso: abril-2008
Mensajes: 13
Re: Error en windows con un programa

El error es en ejecucion y esta en esta parte del codigo:

if (actual == NULL){
hasta el i++

Me hace solamente una iteración y despues sale el error de windows.
Gracias.
Adree está desconectado   Responder Citando
Antiguo 28-abr-2008, 12:36   #4 (permalink)
aloqui tiene algunos puntos positivos de karma
 
Avatar de aloqui
 
Fecha de Ingreso: diciembre-2007
Mensajes: 955
Re: Error en windows con un programa

En principio veo que la variable tLlista llista; la has declarado pero no la has inicializado por lo que el puntero que tiene dentro no tiene valor definido.

Te sugiero que la iniciales antes de usarla, por ejemplo con memset o dandole valores a los campos:
- memset( &llista, '\0', sizeof(llista) ); o
- llista.llista = NULL;

Y luego para seguir el problema lo mejor es un depurador, pero si no tienes puedes usar printfs de las variables sospechosas en el punto en que se está muriendo.
Suerte.
aloqui está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 04:16.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

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