• Viernes 26 de Abril de 2024, 22:43

Autor Tema:  Listado de alumnos...  (Leído 1243 veces)

kingsizen

  • Miembro activo
  • **
  • Mensajes: 41
    • Ver Perfil
Listado de alumnos...
« en: Domingo 26 de Abril de 2009, 01:09 »
0
Hola amigos aca les traigo un ejercicio que acabo de terminar, pero tengo una pequeña falla. resulta que tengo ke ingesar un numero de comision y el sistema emitir un listado de todos los alumnos de esa comision, junto con sus datos.
aca va el codigo
la fucion listado es la que me presenta el problema. espero me ayuden. muchas gracias!
Código: C
  1. # include <stdio.h>
  2. # include <string.h>
  3. # define sub 1
  4.  
  5.  
  6. struct datos
  7. {
  8.        int legajo;
  9.        char apynom[15];
  10.        char titulo[15];
  11.        int comi;
  12. };
  13.  
  14. void carga (struct datos a[])
  15. {
  16.      int i,valorsete;
  17.      for (i=0;i<sub;i++)
  18.      {
  19.          printf ("Ingrese Legajon");
  20.          scanf ("%d",&a[i].legajo);
  21.          printf ("Ingrese Apellido Y Nombren");
  22.          fflush(stdin);
  23.          gets (a[i].apynom);
  24.          printf ("Ingrese Titulo Nivel Medion");
  25.          gets (a[i].titulo);
  26.          printf ("Ingrese Comisionn");
  27.          scanf ("%d",&a[i].comi);
  28.          
  29.          
  30.               }
  31.          
  32.  
  33. }
  34. void listado (struct datos a[],int com)
  35. {    
  36.      char nombres[sub][15],titulos[sub][15];
  37.      int i,j;
  38.      j=0;
  39.      for (i=0;i<sub;++i)
  40.      {
  41.          if (com == a[i].comi)
  42.          {  
  43.                  j++;
  44.                  strcpy(nombres[j],a[i].apynom);
  45.                  strcpy(titulos[j],a[i].titulo);
  46.                  }
  47.                  }
  48.                  
  49.      printf ("Comision %dn",com);
  50.      printf ("Nombresn");
  51.      printf ("Titulosn");
  52.      for (i=0;i<sub;++i)
  53.      printf ("%s %s",nombres[i],titulos[i]);
  54.          
  55.      }
  56.      
  57. void busca (struct datos a[],int leg)
  58.  
  59. {
  60.     int i,ban;
  61.     for (i=0;i<sub;++i)
  62.     {
  63.         if (leg==a[i].legajo)
  64.         {
  65.             printf("Alumno %s n",a[i].apynom);
  66.             printf ("Comision %d n",a[i].comi);
  67.             printf ("Titulo %s n",a[i].titulo);
  68.             ban=1;
  69.             }
  70.    
  71.      }
  72.      if (ban !=1)
  73.      printf ("Legajo Incorrecton");
  74. }    
  75.  
  76. main()
  77. {
  78.       struct datos alumnos[sub];
  79.       int c,i,opcion,comision,leg;
  80.       do
  81.       {
  82.       printf ("----------------<Seleccione una opcion: n");
  83.       printf ("1) Carga De Datosn");
  84.       printf ("2) Listado de alumnos de una comisionn");
  85.       printf ("3) Buscar Alumnon");
  86.       printf ("4) Finn");
  87.       scanf ("%d",&opcion);
  88.      
  89.       switch (opcion)
  90.       {
  91.              case 1: carga(alumnos);
  92.                      break;
  93.                      
  94.              case 2:
  95.                   {
  96.                            printf ("Ingrese Numero de Comisionn");
  97.                            scanf ("%d",&comision);
  98.                            listado (alumnos,comision);
  99.                            }
  100.                            break;
  101.              case 3:
  102.                   {
  103.                            printf ("Ingrese Un numero de legajon");
  104.                            scanf ("%d",&leg);
  105.                            busca (alumnos,leg);
  106.                            
  107.                            
  108.                            }
  109.              
  110.      
  111.                   }        
  112.                  
  113.                  
  114.                  
  115.      c=getchar();
  116.      c=getchar();      
  117.      }while (opcion!=4);          
  118.                  
  119.                  
  120. }
  121.  

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Listado de alumnos...
« Respuesta #1 en: Domingo 26 de Abril de 2009, 01:43 »
0
¿Y en qué falla?