Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: geshiro en 14 Marzo 2015, 19:34 pm



Título: plz ayuden
Publicado por: geshiro en 14 Marzo 2015, 19:34 pm
al momento de registrar un elemento al momento de ver los elementos registrados me dice vacio quien me ayuda

Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <conio.h>
  4. #include <iostream.h>
  5.  
  6.  
  7. int ca;
  8. int i=0;
  9.  
  10.  
  11. struct salmunos
  12. {
  13.  int matricula;
  14.  char nom[15],pat[15],mat[15];
  15. }alum[10];
  16.  
  17. struct scalif
  18. {
  19.  int matricula;
  20.  char materia[20];
  21.  float corte1,corte2,corte3,prom;
  22. }calif[10];
  23.  
  24.  
  25. void registrar_alumnos()
  26. {
  27.  /*for(int i=0; i<2; i++)
  28.   {
  29.   */
  30.    printf("\n\tAlumno %d: ",i+1);
  31.    scanf("%s",&alum[ca].nom);
  32.    printf("\n\tApeido Paterno: ");
  33.    scanf("%s",&alum[ca].pat);
  34.    printf("\n\tApeido Materno: ");
  35.    scanf("%s",&alum[ca].mat);
  36.    printf("\n\t - matricula: ");
  37.    scanf("%d",&alum[ca].matricula);
  38.    ca++;
  39.  
  40.  //}
  41. }
  42.  
  43. void buscar_alumnos(int num)
  44. {
  45. int band=0;
  46. if(num>0)
  47. {
  48.  for(int i=0;i<num;i++)
  49.  {
  50.  
  51.   if(alum[ca].nom==alum[ca].mat)
  52.   {
  53.    printf("El alumno es %s: ",&alum[ca].nom);
  54.   }
  55.  }
  56. }
  57. }
  58.  
  59.  
  60. void mostrar_alumnos(int num)
  61. {
  62.    if( num>0)
  63.    {
  64.        cout<<"\n\nMostrar lista de Alumnos\n";
  65.        for(int i=0; i<ca; i++)
  66.        {
  67.            printf("Matricula: ",alum[ca].nom);
  68.  
  69.  
  70.        }
  71.    }
  72.    else
  73.        cout<<"\n\tRegistro vacio..!";
  74. }
  75.  
  76.  
  77. void menu1()
  78. {
  79.     system("color 0F");
  80.     system("cls");
  81.     printf("\n\t\tREGISTRO DE ALMUNOS\n\n");
  82.     printf(" 1. Registrar \n");
  83.     printf(" 2. Mostrar registro de matriculas y almunos \n");
  84.     printf(" 3. Mostrar datos de un alumno \n");
  85.     printf(" 4. Modificar \n");
  86.     printf(" 5. Eliminar alumno del registro \n");
  87.     printf(" 6. Buscar nombre del alumno por matricula \n");
  88.     printf(" 7. Salir \n");
  89.  
  90.     printf("\n Ingrese opcion : ");
  91. }
  92.  
  93. /*                      MAIN
  94. ------------------------------------------------------------------------------*/
  95.  
  96. int main()
  97. {
  98.  int num=0;
  99.  int op;
  100.  
  101.  do
  102.  {
  103.  menu1();
  104.  scanf("%d",&op);
  105.      switch(op)
  106.      {
  107.        case 1:
  108.               system("cls");
  109.               registrar_alumnos();
  110.  
  111.               break;
  112.        case 2:
  113.               system("cls");
  114.               mostrar_alumnos(num);
  115.               getch();
  116.               break;
  117.  
  118.  
  119.  
  120.        case 5:
  121.             system("cls");
  122.             printf("\n Ingrese numero de Matricula: ");
  123.             scanf("i",&alum[ca].mat);
  124.             cin.get();
  125.             buscar_alumnos(num);
  126.  
  127.             break;
  128.  
  129.  
  130.      }
  131.  
  132.  
  133.    } while(op!=7);
  134.  
  135.  return 0;  
  136. }
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  


Título: Re: plz ayuden
Publicado por: ecfisa en 14 Marzo 2015, 21:11 pm
Hola.

Hay varias cosas, pero respondiendo a tu consulta específicamente, tendrías que inicializar el índice:
Código
  1. int ca = 0;

Y en la función mostrar_alumnos:
Código
  1. void mostrar_alumnos(int num) {
  2.   printf("\n\nMostrar lista de Alumnos\n");
  3.   if (ca == 0)
  4.      printf("\n\tLista vacia..!");
  5.   else
  6.    for(int i=0; i < ca; i++)
  7.      printf("Nombre: %s %s %s - Matricula: %d ",
  8.             alum[i].nom, alum[i].pat, alum[i].mat, alum[i].matricula);
  9. }


Saludos.


Título: Re: plz ayuden
Publicado por: geshiro en 14 Marzo 2015, 23:20 pm
como porque no me hace la busque hace

Código
  1. oid buscar_alumnos()
  2. {
  3.        if (ca == 0)
  4.  {
  5.   printf("\n\tdato no encontrado..!");
  6.  }else
  7.      {
  8.       for(int i=0; i < ca; i++)
  9.       {
  10.  
  11.       if(alum[i].matricula==
  12.       printf("\nAlumno: %s %s %s ",alum[i].nom, alum[i].pat, alum[i].mat);
  13.       printf("Matricula: %d\n\n",alum[i].matricula);
  14.    }
  15.  }
  16. }

Mod: No hacer doble post


Título: Re: plz ayuden
Publicado por: engel lex en 15 Marzo 2015, 04:35 am
los titulos de los temas deben ser descriptivos, usa el boton modificar y corrige el primer post


Título: Re: plz ayuden
Publicado por: geshiro en 15 Marzo 2015, 04:37 am
soy nuevo no se donde ni que boton :C


Título: Re: plz ayuden
Publicado por: engel lex en 15 Marzo 2015, 04:51 am
en el primer post con el boton (https://foro.elhacker.net/Themes/converted/images/spanish/modify.gif) que está arriba a la derecha dentro del cuadro de post