elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Estructuras como argumento de funcion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Estructuras como argumento de funcion  (Leído 1,284 veces)
BigMuff

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Estructuras como argumento de funcion
« en: 31 Julio 2018, 07:42 am »

Hola, gracias por entrar.
Tengo un problema, quiero utilizar una estructura en la funcion de ingresar atletas pero me dice que el tipo del argumento es invalido.

Código
  1. #include<stdio.h>
  2. #define MAX_ATLETAS 10
  3.  
  4. typedef struct
  5. {
  6. char nombre[20];
  7. int ti;
  8. int tf;
  9. int tt;
  10. }atleta;
  11.  
  12. int validarNumero(int n);
  13. void ingresarAtletas(atleta competencia, int n);
  14. void ordenarAtletas(atleta competencia, int n);
  15.  
  16. int main(){
  17.    atleta competencia[MAX_ATLETAS];
  18.    int n;
  19.    printf("Competencia atletica\n");
  20.    printf("Ingrese el numero de atletas: ");
  21.    scanf("%d", &n);
  22.    if(validarNumero(n) == 'n'){
  23.        printf("Numero invalido!");
  24.        return -1;
  25.    }
  26.    ingresarAtletas(competencia, n);
  27.    ordenarAtletas(competencia, n);
  28.    //printf("Podio\n");
  29.    //imprimirAtletas(competencia, NUMERO_PODIO);
  30. }
  31. int validarNumero(int n){
  32. if(n>10){
  33. return 'n';
  34. }else{
  35. return 1;
  36. }
  37. }
  38. void ingresarAtletas(atleta competencia, int n){
  39. int i;
  40. for(i=0;i<n;i++){
  41. printf("Nombre[%d]:",i);
  42. scanf("%[^\n]%*c",&competencia.nombre[i]);
  43. printf("Tiempo inicial[%d]",i);
  44. scanf("%d",&competencia.ti[i]);
  45. printf("Tiempo final[%d]",i);
  46. scanf("%d",&competencia.tf[i]);
  47. }
  48.  
  49. }
  50. void ordenarAtletas(atleta competencia, int n){
  51. int t[],i,j,temp;
  52. for(i=0;i<n;i++){
  53. competencia.tt[i]=((competencia.tf[i])-(competencia.ti[i]);
  54. }
  55.  
  56. for(i=0;i<n;i++){
  57. t[i]=competencia.tt[i];
  58. }
  59.  
  60. for(i=0;i<(n-1);i++){
  61. for(j=(i+1),j<n,j++){
  62. if(t[i]>t[j]){
  63. temp=t[j];
  64. t[j]=t[i];
  65. t[i]=temp;
  66. }
  67. }
  68. }
  69.  
  70. printf("Podio\n");
  71. printf("Nombre\t T.inicial\t T.final\t T.final\n");
  72.  
  73.  
  74. }
  75.  


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Estructuras como argumento de funcion
« Respuesta #1 en: 31 Julio 2018, 13:18 pm »

La función acepta un único altelta, en cambio tu le pasas un array entero.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines