error al crear funcion

Iniciado por elgordo19988, 9 Septiembre 2016, 17:57 PM

0 Miembros y 2 Visitantes están viendo este tema.

elgordo19988

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  


#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);




Poyoncio

Con el codigo se resolvera mejor
publicalo entre las etiquetas Geshi que tienes a la derecha al lado de la A roja
Curso de ensamblador desde cero

elgordo19988

ya pude en enviar el código soy algo novato xD, cree la funcion y como me salia el erro no e contiado

AlbertoBSD

Deberias de llamar a la funcion sin los &

velocidadd(inf,x,codigo,&tsg,nom);

Saludos!
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW