Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: geshiro en 22 Marzo 2015, 03:19 am



Título: alguien me puede explicar y ayudar
Publicado por: geshiro en 22 Marzo 2015, 03:19 am
tengo una duda como puedo hacer que cuando uso la opcion buscar si me lo da bien pero si pongo otro numero diferente del que puse me da el resultado que le puse anterior por ejemploe 13 __ aaaron,12,luis y si le pongos 15 me da lo mismo lo soliciono y igual con el de eleminar elementos  me podria ayudar a que funcione bien

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


Título: Re: alguien me puede explicar y ayudar
Publicado por: engel lex en 22 Marzo 2015, 03:57 am
alguein me puede correr el de buscar para que como si le pongo otro numero nome de el resultdo en opcion de buscar  del anterior y la de eliminar  quien me ayuda plz

explícate en palabras  completas y arma una frase que se comprenda, que eso realmente no dice mucho