Hola gente! Estoy trabajando con vectores de estructuras y no puedo terminar el pgm porque me da un error cuando llamo a una funcion que debe recibir como parametroun vector de estrucuturas. Trate de guiarme con el libro C con ejemplos pero sigo igual. No se que estoy haciendo mal, alguien me puede ayudar.
El pgm carga los datos de 20 empleados, y como resultado del mismo informa la cantidad de dinero que se le debe pagar a cada empleado.
#include<stdio.h>
#include<conio.h>
struct infoemp
{
char nom[10]; /*Solicita el nombre*/
char ape[10]; /*Solicita el apellido*/
float valhs; /*Solicita el valor de la hora*/
int cant; /*Solicita la cantidad de horas trabajadas*/
};
void cargoDatos(void);
void impDatos(struct infoemp emp[20]);
void main(void);
void cargoDatos(void)
{
struct infoemp emp[20];
int x=0;
char resp;
do{
clrscr();
gotoxy(10,10);
printf("Ingrese nombre del empleado: ");
scanf("%s", emp[x].nom);
gotoxy(10,11);
printf("Ingrese apellido del empleado: ");
scanf("%s", emp[x].ape);
gotoxy(10,12);
printf("Ingrese el valor de la hora: ");
scanf("%f",&emp[x].valhs);
gotoxy(10,13);
printf("Ingrese cantidad de Hs trabajadas: ");
scanf("%d",&emp[x].cant);
x++;
fflush(stdin);
gotoxy(10,14);
printf("Desea cargar otro (Si='s'/No='n')?: ");
scanf("%c", &resp);
}while((resp=='s')&&(x<20));
}
void impDatos(struct infoemp emp[20])
{
int x=0;
float totDin=0, final=0;
clrscr();
gotoxy(2,2);
for(x=0;x<20;x++)
{
totDin=emp[x].cant*emp[x].valhs;
final+=totDin;
printf("Nombre: %s\n", emp[x].nom);
printf("Apellido: %s\n", emp[x].ape);
printf("Ganacia $: %.2f\n", &totDin);
}
printf("Total de dinero en Sueldos $: %.2f", &final);
}
void main()
{
int opcion=0;
clrscr();
gotoxy(10,10);
printf("Elija su opcion");
gotoxy(10,11);
printf("1) Cargar Datos");
gotoxy(10,12);
printf("2) Imprimir Datos");
gotoxy(10,13);
printf("3) Salir");
gotoxy(10,14);
do{
printf("Opcion?: ");
scanf("%d",&opcion);
}while((opcion<1)&&(opcion>3));
switch(opcion)
{
case (1):
{
cargoDatos();
break;
}
case (2):
{
impDatos(emp); /*aca me tira el error*/
break; } /*undefined symbol 'emp'*/
case (3):
{
break;
}
}
}
En que me estoy equivocando???