SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: kingsizen en Domingo 26 de Abril de 2009, 01:09

Título: Listado de alumnos...
Publicado por: kingsizen en Domingo 26 de Abril de 2009, 01:09
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.  
Título: Re: Listado de alumnos...
Publicado por: m0skit0 en Domingo 26 de Abril de 2009, 01:43
¿Y en qué falla?