[ Foro de C ]

estructuras a funciones

24-Apr-2018 06:18
cristian juarez
0 Respuestas

hola muy buenas noches, vengo con una pequeña consulta acerca de un trabajo de la uni, mi problema esta en que no se como pasar los valores de una estructura local (en main) a funciones, el problema es algo así (ejemplo).


#include<stdio.h>

void llenado (datos *ptr,int cont);

int main()
{
	typedef struct {
		int mat;
		char nom[100];
		float debe;
	}datos;

	int cont;
	datos ptr[5];

	printf("este programa es una prueva de como pasar una structura local a funciones\n");
	printf("cuantas personas ingresara en la estructura\n");
	scanf("%d",&cont);
	llenado(ptr,cont);

}

void llenado (datos *ptr,int cont)
	{
		int i = 0;
		printf("ingresa los elementos de la estrucutra\n");
		for (i = 0; i <cont i++)
			{
				printf("ingresa la matricula\n");
				scanf("%d",&(ptr+i)->mat);
				printf("ingresa el nombre\n");
				fgets((ptr+i)->nom,100,stdin);
				printf("ingresa el monto\n");
				scanf("%f",&(ptr+i)->debe);
			}
	}


e intentado declarar a la estructura de forma global y efectivamente me funciono, el detalle es que la estructura en mi ejercicio debe ir de forma local forzosamente, bueno el detalle es que no me compila el programa ya que me tira un error en la declaración de la estructura eso creo(estoy programando en linux por cierto), para ser mas preciso este es el error

pfuncion.c: At top level:
pfuncion.c:23:15: error: unknown type name ‘datos’
void llenado (datos *ptr,int cont)

espero puedan ayudarme a resolver mi problema, de ante mano muchas gracias.




(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.)