Dev - C++ - Ayuda para pasar un arreglo de estructuras a funcion

 
Vista:
sin imagen de perfil
Val: 33
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda para pasar un arreglo de estructuras a funcion

Publicado por Jorge (24 intervenciones) el 29/06/2019 05:38:22
Bueno esto es simple, no tengo idea de como pasar un arreglo de estructura a una funcion para modificar sus valores segun yo solo se le envia la primera direccion a la funcion y ahi haces lo que quieras pero no se como se escriba , me sale eso de base operand of -> has non pointer type 'productos'


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
struct productos{
	int precio;
	int clave;
	char nombre[25];
}PROD[5],*pt=PROD;
void pedirDatos(productos*);
 
main()
{
pedirDatos(pt);
}
 
void pedirDatos(productos*)
{
	int a,b;
	for(a=0;a<5;a++)
	{
		printf("Ingrese el nombre del producto: \t %d \n",a+1);
		gets(PROD[a]->nombre);
		fflush(stdin);
		printf("Ingrese la clave del producto: \t %d \n",a+1);
		scanf("%d", &PROD[a]->clave);
		fflush(stdin);
		printf("Ingrese el preci del producto: \t %d \n",a+1);
		scanf("%d", &PROD[a]->precio);
		fflush(stdin);
	}
	for(b=0;b<5;b++)
	{
		printf("Nombre: \t %d \t %d \n", b+1,PROD[b]->nombre);
		printf("Nombre: \t %d \t %d \n", b+1,PROD[b]->nombre);
		printf("Nombre: \t %d \t %d \n", b+1,PROD[b]->nombre);
		putchar('\n');
	}
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda para pasar un arreglo de estructuras a funcion

Publicado por Alfil (1444 intervenciones) el 29/06/2019 19:59:07
PROD[5] no necesita ser pasdado como parámetro ya que está definido como global

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
#include <stdio.h>
 
const int N = 5;
 
struct productos{
	int precio;
	int clave;
	char nombre[25];
 
} PROD[N];
 
void pedirDatos();
 
 
int main()
{
    pedirDatos();
 
    return 0;
}
 
void pedirDatos()
{
	for(int a = 0; a < N; a++ ) {
		printf( "Ingrese el nombre del producto: \t %d \n", a+1 );
		gets(PROD[a].nombre);
		fflush(stdin);
 
		printf( "Ingrese la clave del producto: \t %d \n", a+1 );
		scanf( "%d", &PROD[a].clave);
		fflush(stdin);
 
		printf( "Ingrese el preci del producto: \t %d \n", a+1 );
		scanf( "%d", &PROD[a].precio);
		fflush(stdin);
	}
 
	for( int b = 0; b < N; b++ ){
        printf( "Nombre: \t %d \t %s \n", b+1, PROD[b].nombre);
		printf( "Nombre: \t %d \t %s \n", b+1, PROD[b].nombre);
		printf( "Nombre: \t %d \t %s \n", b+1, PROD[b].nombre);
		putchar('\n');
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar