hola, soy estudiante y soy nuevo en esto de programar por lo que se me pasan muchos detalles pero he estado creando un programa y me estaba llendo muy bien pero ahora que creo la funcion para realizar lo ultimo que se me pide en un programa de prueba me sale un error en el compilador he intentado borrar la funcion crear una nueva, he cambiado punteros he intentado creando vectores y demas y sigue saliendo el mismo error
[Error] cannot convert 'char (*)[10]' to 'char*' for argument '3' to 'void velocidadd(aspirante*, int, char*, float*, char*)'
hay esta el codigo
[Error] cannot convert 'char (*)[10]' to 'char*' for argument '3' to 'void velocidadd(aspirante*, int, char*, float*, char*)'
hay esta el codigo
Código (c) [Seleccionar]
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
#define z 36
//estrutura
typedef struct
{
char sexo,clave[10];
int edad;
}a;
typedef struct
{
char nombre[25],exp[3];
a datos;
float peso;
}aspirante;
//prototipos
void datoss(aspirante v[],int *px);
float mujeres(aspirante ab[],int d);
float prome(aspirante g[],int m,float *pprome);
void velocidadd(aspirante abb[],int gg,char *codigog,int *tsg,char *nombree);
//funcion principal
main()
{
//declaracion de variables
aspirante inf[z];
int x,contador=0,j=0,bandera=0,u=0,k=0,tsg;
float promed=0,velocidad;
char codigo[10],nom[20];
// carga de datos de cada aspirante
datoss(inf,&x);
//parte B mujeres y porcentaje con experiencia
printf("el porcentaje de mujeres con experiencias es %.2f",mujeres(inf,x));
getche();
clrscr();
//calcular edad promedio de los aspirantes sin experiencia
contador=prome(inf,x,&promed);
printf("\n el promedio de edad de los aspirantes sin esperiencia es %.2f\n\n",promed);
printf("\n la cantida de aspirantes cuyo peso supera el general es %d \n\n",contador);
getche();
clrscr();
//4 calculo de la velocidad
printf("ingrese clave del aspirante que desea evaluar\n\n");
fflush(stdin);
gets(codigo);
printf("\n ingrese tiempo en sg\n\n");
fflush(stdin);
scanf("%d",&tsg);
velocidadd(inf,x,&codigo,&tsg,&nom);
}
//parte A
void datoss(aspirante v[],int *px)
{
int x=0,a=0;
char r,r1;
do
{
printf("\n ingrese nombre completo \n\n");
fflush(stdin);
gets(v[x].nombre);
printf("\n ingrese peso\n\n");
fflush(stdin);
scanf("%f",&v[x].peso);
do
{
printf("\n ingrese sexo M(masculino) y F(femenino)\n\n");
fflush(stdin);
scanf("%c",&v[x].datos.sexo);
v[x].datos.sexo=tolower(v[x].datos.sexo);
}while(v[x].datos.sexo!='m' && v[x].datos.sexo!='f');
printf("\n ingrese la edad \n\n");
fflush(stdin);
scanf("%d",&v[x].datos.edad);
printf("\n ingrese clave\n \n");
fflush(stdin);
gets(v[x].datos.clave);
do
{
printf("\n tiene experiencia S/N \n\n");
fflush(stdin);
scanf("%c",&r1);
r1=tolower(r1);
}while(r1!='s' && r1!='n');
if(r1=='s')
strcpy(v[x].exp,"SI");
else
strcpy(v[x].exp,"NO");
x++;
printf("\n\n desea ingresar otro? S/N \n\n");
fflush(stdin);
scanf("%c",&r);
r=tolower(r);
}while(r=='s' && x<z);
*px=x;
}
//parte B
float mujeres(aspirante ab[],int d)
{
int contador=0,contadorcon=0,i;
float h;
for(i=0;i<d;i++)
{
if(ab[i].datos.sexo=='f')
{
contador++;
if(strcmpi(ab[i].exp,"si")==0)
contadorcon++;
}
}
h=((float)(contadorcon)/contador)*100;
return (h);
}
// parte C
float prome(aspirante g[],int m, float *pprome)
{
int i,contador=0,acumpedad=0,contador2=0;
float acump=0;
for(i=0;i<m;i++)
{
acump+=g[i].peso;
if(g[i].datos.sexo=='m' && strcmpi(g[i].exp,"NO")==0)
{
contador++;
acumpedad+=g[i].datos.edad;
}
}
*pprome=acumpedad/contador;
acump=acump/m;
for(i=0;i<m;i++)
if(g[i].peso>acump)
contador2++;
return (contador2);
}
void velocidadd(aspirante abb[],int gg,char *codigog,int *tsg,char *nombree);