Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - elgordo19988

#1
Programación C/C++ / Re: error al crear funcion
9 Septiembre 2016, 18:32 PM
ya pude en enviar el código soy algo novato xD, cree la funcion y como me salia el erro no e contiado
#2
Programación C/C++ / error al crear funcion
9 Septiembre 2016, 17:57 PM
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);