title: Why is the output of my results 0.0000?
body: <p>Hey people this is my first question on this page. I have been learning C in university and I have to complete an activity where I insert name, surname and 4 grades, of 3 different students. After that I must calculate average grade, maximum and minimum grade, and print those results on screen.</p>
  
  <p>The program compiles correctly without errors, but when the results are printed, the program says that average grade, maximum and minimum grade are all equal to 0.000000. </p>
  
  <p>I really don't know what the problem is and I would apreciate if anyone could check it out and help me in any way.</p>
  
  <p>(Sorry if you don't understand the variable names, I'm from Argentina and they are in Spanish)</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #define N 50
  
  struct alumno
  {
      char nombre [N];
      char apellido [N];
      float nota1;
      float nota2;
      float nota3;
      float nota4;
  } alumno1, alumno2, alumno3;
  
  struct notas
  {
      float prom;
      float nmax;
      float nmin;
  } notas1, notas2, notas3;
  
  float promedio (struct alumno a, struct notas b)
  {
      b.prom = (a.nota1 + a.nota2 + a.nota3 + a.nota4)/4;
  
      return b.prom;
  };
  
  float notamaxima (struct alumno a, struct notas b)
  {
      if ((a.nota1&gt;a.nota2) &amp;&amp; (a.nota1&gt;a.nota3) &amp;&amp; (a.nota4&gt;a.nota4))
      {
          b.nmax=a.nota1;
      }
      else if ((a.nota2&gt;a.nota1) &amp;&amp; (a.nota2&gt;a.nota3) &amp;&amp; 
              (a.nota2&gt;a.nota4))
      {
          b.nmax=a.nota2;
      }
      else if ((a.nota3&gt;a.nota1) &amp;&amp; (a.nota3&gt;a.nota2) &amp;&amp; 
                  (a.nota3&gt;a.nota4))
      {
          b.nmax=a.nota3;
      }
      else if ((a.nota4&gt;a.nota1) &amp;&amp; (a.nota4&gt;a.nota2) &amp;&amp; 
              (a.nota4&gt;a.nota3))
      {
          b.nmax=a.nota4;
      }
      return 0;
  };
  
  float notaminima (struct alumno a, struct notas b)
  {
  
      if ((a.nota1&lt;a.nota2) &amp;&amp; (a.nota1&lt;a.nota3) &amp;&amp; (a.nota1&lt;a.nota4))
      {
          b.nmin=a.nota1;
      }
      else if ((a.nota2&lt;a.nota1) &amp;&amp; (a.nota2&lt;a.nota3) &amp;&amp; 
              (a.nota2&lt;a.nota4))
      {
          b.nmin=a.nota2;
      }
      else if ((a.nota3&lt;a.nota1) &amp;&amp; (a.nota3&lt;a.nota2) &amp;&amp; 
              (a.nota3&lt;a.nota4))
      {
          b.nmin=a.nota3;
      }
      else if ((a.nota4&lt;a.nota1) &amp;&amp; (a.nota4&lt;a.nota2) &amp;&amp; 
              (a.nota4&lt;a.nota3))
      {
          b.nmin=a.nota4;
      }
      return 0;
  };
  
  int main ()
  {
      struct alumno;
      struct notas;
  
      printf ("Ingrese nombre del alumno:\n");
      fgets (alumno1.nombre, N, stdin);
      printf ("Ingrese apellido del alumno:\n");
      fgets (alumno1.apellido, N, stdin);
      printf ("Ingrese la primera nota del alumno:\n");
      scanf ("%f", &amp;alumno1.nota1);
      printf ("Ingrese la segunda nota del alumno:\n");
      scanf ("%f", &amp;alumno1.nota2);
      printf ("Ingrese la tercera nota del alumno:\n");
      scanf ("%f", &amp;alumno1.nota3);
      printf ("Ingrese la cuarta nota del alumno:\n");
      scanf ("%f", &amp;alumno1.nota4);
  
      promedio (alumno1, notas1);
      notamaxima (alumno1, notas1);
      notaminima (alumno1, notas1);
  
      printf ("El promedio del primer alumno es %f\n", notas1.prom);
      printf ("La nota maxima del primer alumno es %f\n", notas1.nmax);
      printf ("La nota minima del primer alumno es %f\n", notas1.nmin);
  
      printf ("Ingrese nombre del alumno:\n");
      fgets (alumno1.nombre, N, stdin);
      printf ("Ingrese apellido del alumno:\n");
      fgets (alumno1.apellido, N, stdin);
      printf ("Ingrese la primera nota del alumno:\n");
      scanf ("%f", &amp;alumno2.nota1);
      printf ("Ingrese la segunda nota del alumno:\n");
      scanf ("%f", &amp;alumno2.nota2);
      printf ("Ingrese la tercera nota del alumno:\n");
      scanf ("%f", &amp;alumno2.nota3);
      printf ("Ingrese la cuarta nota del alumno:\n");
      scanf ("%f", &amp;alumno2.nota4);
  
      promedio (alumno2, notas2);
      notamaxima (alumno2, notas2);
      notaminima (alumno2, notas2);
  
      printf ("El promedio del segundo alumno es %f\n", notas2.prom);
      printf ("La nota maxima del segundo alumno es %f\n", notas2.nmax);
      printf ("La nota minima del segundo alumno es %f\n", notas2.nmin);
  
      printf ("Ingrese nombre del alumno:\n");
      fgets (alumno1.nombre, N, stdin);
      printf ("Ingrese apellido del alumno:\n");
      fgets (alumno1.apellido, N, stdin);
      printf ("Ingrese la primera nota del alumno:\n");
      scanf ("%f", &amp;alumno3.nota1);
      printf ("Ingrese la segunda nota del alumno:\n");
      scanf ("%f", &amp;alumno3.nota2);
      printf ("Ingrese la tercera nota del alumno:\n");
      scanf ("%f", &amp;alumno3.nota3);
      printf ("Ingrese la cuarta nota del alumno:\n");
      scanf ("%f", &amp;alumno3.nota4);
  
      promedio (alumno3, notas3);
      notamaxima (alumno3, notas3);
      notaminima (alumno3, notas3);
  
      printf ("El promedio del tercer alumno es %f\n", notas3.prom);
      printf ("La nota maxima del tercer alumno es %f\n", notas3.nmax);
      printf ("La nota minima del tercer alumno es %f\n", notas3.nmin);
  
      return 0;
  }
  </code></pre>