Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/08/2010, 21:59
Avatar de gvite666
gvite666
 
Fecha de Ingreso: abril-2010
Mensajes: 65
Antigüedad: 14 años, 9 meses
Puntos: 4
Respuesta: Duda ejercicio de registros

bueno pues para cargar los datos puedes poner tus lecturas dentro de un for
Código C:
Ver original
  1. for(i=0;i<numAlumnos;i++)
  2. {
  3.       printf("\n Dame el nombre del alumno %d: ", i);
  4.       gets(clase[i].nombre);
  5. }
luego que cargaste tus datos puedes hacer otro for para ir comparando los datos
Código C:
Ver original
  1. //bueno la idea es esta
  2. int mayor[numAlumnos];//este arreglo es por si existen varios alumnos con las notas mayores
  3. a=0;esta para ver cuantos alumnos tienen la nota mayor
  4. for(i=0;i<numAlumnos-1;i++)/*por que numAlumnos-1?, porque vamos a comparar dos tipos de diferente posicion asi que tienes que hacegurarte de que el array no se salga del rango asignado*/
  5. {
  6.          if(clase[i].notateoria>clase[i+1].notateoria)/*aqui en la primera vuelta comparas el primero con el segundo */
  7.         {        
  8.              mayor[a]=i;/*si el primero es el mayor entonces guardamos su posicion en el arreglo*/
  9.              a++;
  10.         }
  11.          else
  12.          {
  13.              if(clase[i].notateoria==clase[i+1].notateoria)//si los dos son iguales
  14.              {
  15.                     mayor[a]=i;//guardamos las posiciones de los dos
  16.                     a++;
  17.                     mayor[a]=i+1;
  18.                     a++;
  19.              }
  20.              else//sino es porque el segundo es mayor
  21.              {
  22.                      mayor[a]=i+1;//guardamos su posicion
  23.                      a++;
  24.              }
  25.          }
  26. }
  27. for(i=0;i<a;i++)//mostramos solo los alumnos que tienen la misma calificacion alta
  28. {
  29. /*para esto guardamos las posiciones de los alumnos que tienen la misma calificacion alta.*/
  30.          printf("nota teoria mayor %d",clase[mayor[i]].notateoria);
  31. }

bueno como te dije esa es la idea o al menos es como yo lo haria, espero que la puedas implemantar.
Saludos.