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

 

 


Tema destacado: Top 20 herramientas Hacking más populares de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda!!! Funciones en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda!!! Funciones en C  (Leído 807 veces)
Angellus Blood

Desconectado Desconectado

Mensajes: 1


Ver Perfil
ayuda!!! Funciones en C
« en: 11 Septiembre 2018, 09:02 am »

Me podrían ayudar a verificar mi código?  el error es que sólo me pide el primer dato, el número de gallinas y se cierra.Se los agradeceré infinitamente, el problema es el siguiente:
En una granja se requiere saber alguna información para determinar el precio de venta por cada kilo de huevo. Es importante determinar el promedio de calidad de las n gallinas que hay en la granja. La calidad de cada gallina se obtiene según la fórmula:

                          calidad = peso de la gallina * altura de la gallina
                                                 número de huevos que pone

Finalmente, para fijar el precio del kilo de huevo, se toma como base la siguiente tabla:

PROMEDIO CALIDAD                      PRECIO POR KILO
mayor o igual que 15 ---------------  1.2 * promedio de calidad
mayor que 8 y menor que 15 --------1.00 * promedio de calidad   
menor o igual que 8 ----------------- 0.80 * promedio de calidad             
      
CODIGO:

Código
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. #include<conio.h>
  4. #include<locale.h>
  5.  
  6. struct Gallina {
  7.  
  8. float peso;
  9. float altura;
  10.    int numhuevos;
  11.    float calidad;
  12.    float precio;
  13. };
  14.  
  15. Gallina gallinas[100];
  16.  
  17. float ObtenerPromedioCalidad(struct Gallina gallinas[100], int numGallinas)
  18. {    
  19. int i;
  20. float sumatoriaCalidad = 0;
  21. for(i=0; i<numGallinas; i++)
  22. {
  23.  
  24. gallinas[i].calidad=(gallinas[i].peso*gallinas[i].altura)/gallinas[i].numhuevos;
  25. sumatoriaCalidad = sumatoriaCalidad + gallinas[i].calidad;
  26. return sumatoriaCalidad / numGallinas;
  27. }
  28. }
  29. //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  30. void definir_Precio(struct Gallina gallinas[100]){
  31. int i;
  32.  
  33.     if(gallinas[i].calidad>=15) {
  34.     gallinas[i].precio=(1.2*gallinas[i].calidad);
  35. }
  36. else if(gallinas[i].calidad>8){
  37.   gallinas[i].precio=(1*gallinas[i].calidad);
  38.     }
  39.     else if(gallinas[i].calidad>=8 && gallinas[i].calidad<=15){
  40.     gallinas[i].precio=(0.80*gallinas[i].calidad);
  41.      }
  42.    printf("\n\n\Costo del kilo de huevo de acuerdo a calidad: ", gallinas[i].precio);
  43.  
  44. }
  45.  
  46. int main()
  47. {
  48.  
  49. setlocale(LC_CTYPE,"spanish");
  50.  
  51.    int numGallinas;
  52.    int sumatoriaCalidad;
  53. int i;      
  54.  
  55.        printf("Ingrese el número de gallinas a verificar: ");
  56.        scanf("%d", numGallinas, "\n");
  57.  
  58.        for (int i=0; i<numGallinas; ++i){
  59.  
  60.        fflush(stdin);
  61.        printf("Peso de la gallina: ");
  62.        scanf("%f", gallinas[i].peso, "\n");
  63.  
  64.        printf("Altura de la gallina:");
  65.        scanf("%f", gallinas[i].altura, "\n");
  66.  
  67. printf("Número de huevos que pone la gallina:");
  68.        scanf("%d", gallinas[i].numhuevos, "\n");
  69.  
  70. }
  71.         float ObtenerPromedioCalidad(Gallina gallinas[]);
  72.  
  73.         for(i=0;i<numGallinas;i++)
  74.         {
  75.         scanf("\n\nPromedio de calidad: ", sumatoriaCalidad);
  76. }
  77.  
  78.        void definir_Precio(struct Gallina gallinas[100]);      
  79.  
  80.        return 0;
  81.    }


Mod: Obligatorio el uso de etiquetas GeSHi para códigos.


« Última modificación: 16 Septiembre 2018, 01:38 am por #!drvy » En línea

Mr.Moonlight

Desconectado Desconectado

Mensajes: 23



Ver Perfil
Re: ayuda!!! Funciones en C
« Respuesta #1 en: 11 Septiembre 2018, 21:29 pm »

ni compila , con eso te digo todo compañero.

Código:
scanf("%d", &numGallinas); // El & no se nos puede olvidar...

Si haces un for .. es para trabajar con el

Código:
scanf("%f", &gallinas[i].peso);  // ni utilizar el [i]


Código:
for(i=0; i<numGallinas; i++)
   {
     if(gallinas[i].calidad>=15) {
        gallinas[i].precio=(1.2*gallinas[i].calidad);
    }
    else if(gallinas[i].calidad>8){
         gallinas[i].precio=(1*gallinas[i].calidad);
     }
     else if(gallinas[i].calidad<=8 && gallinas[i].calidad<=15){
       gallinas[i].precio=(0.80*gallinas[i].calidad);
      }
    printf("\n\n\Costo del kilo de huevo de acuerdo a calidad: ", gallinas[i].precio);
   }

Y otras muchas cosas...
No intentes que te den los ejercicios hechos , y menos si vienes diciendo que te da error ahí puesto que ni compila tu ejercicio.

1º aprende a usar los scanf y printf .. es básico
2º si trabajas con vectores usalos leñe
3º si una función te devuelve un dato.. asignalo a una variable , el programa no lo hace por arte de magia  :xD
4º Cuando llamas a funciones no es necesario , ni el float ni el void ni cualquier otro tipo que devuelvas , solo es necesario en la declaración de dicha función..
5º Revisa los if-else  :silbar:
6º cuando estas llamando a una función no se menciona el tipo de la variable que pasas.. solo la pasas y listo porque ya se indico cuando se declaraba..




« Última modificación: 11 Septiembre 2018, 21:41 pm por Mr.Moonlight » En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.479



Ver Perfil
Re: ayuda!!! Funciones en C
« Respuesta #2 en: 11 Septiembre 2018, 23:37 pm »

Eso es porqué no ha usado las etiquetas GeSHi o code para incrustar el código, así cuando aparece algo cómo array[i], todo lo que vaya después de la i entre corcheas se convertirá en cursiva, ya que en bbcode significa texto en cursiva.
En línea

while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}
Mr.Moonlight

Desconectado Desconectado

Mensajes: 23



Ver Perfil
Re: ayuda!!! Funciones en C
« Respuesta #3 en: 12 Septiembre 2018, 23:58 pm »

Eso es porqué no ha usado las etiquetas GeSHi o code para incrustar el código, así cuando aparece algo cómo array[i], todo lo que vaya después de la i entre corcheas se convertirá en cursiva, ya que en bbcode significa texto en cursiva.

Touché , pero de todas formas sigue habiendo muchos errores
En línea

jca1

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: ayuda!!! Funciones en C
« Respuesta #4 en: 13 Septiembre 2018, 02:54 am »

Coincido con Mr.Moonlight y veo que entiendes bien la logica aunque podrias mejorarlo a mi parecer en calcular precio tenga como funcion dependiente calcular calidad, entonces llamarias a calcular precio y ella misma llamararia a calcular calidad y despues precio. Y es mejor que esos datos los calcules y no lo guardes ya que dependen unicamentes de datos guardados y los podes calcular. Por ender calcular calidad devolveria el valor a calcular precio y esta retornaria el precio, sin necesidad de ocupar ese espacio en memoria. Ademas los datos se modifican y tenes que saber cuando actualizar calidad y precio por ende es mejor calcularlo en una caso mas real. Saludos, suerte!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con funciones en VB6
Programación Visual Basic
maxinitto 3 5,755 Último mensaje 9 Febrero 2009, 01:40 am
por BlackZeroX (Astaroth)
[C] Problema con Struct en funciones que llaman a otras funciones
Programación C/C++
‭lipman 9 21,397 Último mensaje 19 Mayo 2011, 23:39 pm
por Littlehorse
ayuda funciones!
Programación C/C++
;c1v!c 3 1,238 Último mensaje 1 Julio 2011, 20:28 pm
por ;c1v!c
Funciones en C, Ayuda!!
Programación C/C++
jfap45 4 1,121 Último mensaje 23 Julio 2012, 22:24 pm
por durasno
(Ayuda), Funciones
Programación C/C++
maxotux 1 770 Último mensaje 28 Noviembre 2012, 15:55 pm
por The Swash
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines