Foro de elhacker.net

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



Título: quien me puede ayudar
Publicado por: geshiro en 15 Marzo 2015, 18:19 pm
quien me puede ayudar si tengo lo bien o si no me que explique como hacerlo ya tengo lo que es el registro y mostrar datos pero cmo lo hago para buscar los qe tengo registrados y si no estan que diga elemento no registrado

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


Título: Re: quien me puede ayudar
Publicado por: rir3760 en 15 Marzo 2015, 18:31 pm
Este es el tercer tema que abres sobre tu problema y en los dos anteriores ya te respondieron: en C para comparar cadenas debes utilizar la función strcmp (prototipo en <string.h>), esta retorna el valor cero si las dos cadenas son iguales.

Un saludo


Título: Re: quien me puede ayudar
Publicado por: geshiro en 15 Marzo 2015, 18:45 pm
osea como por ejemplo if (strcmp(cadena1,cadena2)==0)