Estoy trabajando en el cole con ANSI C bajo unix, mi duda es ahora con funciones no las he tenido claras al 100% veran tengo este código que "inserta" datos de un alumno
Código:
#include <stdio.h>
#define T 20
struct materia {
char nom[30];
float calif;
};
struct alumno {
char nombre[50];
int edad;
char sexo;
struct materia mat[5];
char marca;
};
struct alumno alumnos[T];
void insertar (struct alumno alumnos[]) {
int i=0,ban=0;
do {
if (alumnos[i].marca=='0') {
printf("Dame tu nombre ");
fpurge(stdin);
gets(alumnos[i].nombre);
printf("\nDame tu edad ");
scanf("%i",&alumnos[i].edad);
while (alumnos[i].edad<=0) {
printf("\n tu edad dada no es valida");
scanf("%i",&alumnos[i].edad);
}
printf("\nseleccione su sexo m/f ");
scanf("%c",&alumnos[i].sexo);
while (alumnos[i].sexo!='m' || alumnos[i].sexo!='f') {
printf("\nsexo no valido vuelva a insertarlo m/f ");
scanf("%c",&alumnos[i].sexo);
}
alumnos[i].marca='1';
ban=1;
}
else
printf("\n No tengo mas casillas vacias, elimine algun alumno para poder insertar mas");
}
while(ban!=1);
}
main () {
insertar ();
return 0;
}
Pero me lanza el sig error
tarea.c:43: error: too few arguments to function ‘insertar’
Me podrian explicar que pasa y como solucionarlo soy noob programando desde ya les agradezco :D