quien me puede ayudar

Iniciado por geshiro, 15 Marzo 2015, 18:19 PM

0 Miembros y 1 Visitante están viendo este tema.

geshiro

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

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>


int ca=0;
int i=0;


struct salmunos
{
  int matricula;
  char nom[15],pat[15],mat[15];
}alum[10];

struct scalif
{
  int matricula;
  char materia[20];
  float corte1,corte2,corte3,prom;
}calif[10];


void registrar_alumnos()
{
  /*for(int i=0; i<2; i++)
  {
  */
    printf("\n\tAlumno %d: ");
    scanf("%s",&alum[ca].nom);
    printf("\n\tApeido Paterno: ");
    scanf("%s",&alum[ca].pat);
    printf("\n\tApeido Materno: ");
    scanf("%s",&alum[ca].mat);
    printf("\n\t - matricula: ");
    scanf("%d",&alum[ca].matricula);
    ca++;
   
  //}
}

void buscar_alumnos()
{
   

    if(ca==0)
    {
        for(int i=0; i<ca; i++)
        {
            if(alum[ca].nom==alum[ca].matricula)
            {
               printf("\n\n La direccion de ",alum[i].nom, alum[i].pat, alum[i].mat);

            }
        }
    }
    else
         printf("\n\tRegistro vacio..!");

}
void mostrar_alumnos()
{
  printf("\n\nlista de Alumnos\n");
  if (ca == 0)
  {
   printf("\n\tLista vacia..!");
  }else
      {
       for(int i=0; i < ca; i++)
       {
       printf("\nAlumno: %s %s %s ",alum[i].nom, alum[i].pat, alum[i].mat);
       printf("Matricula: %d\n\n",alum[i].matricula);
    }
  }
}


void menu1()
{
     system("color 0F");
     system("cls");
     printf("\n\t\tREGISTRO DE ALMUNOS\n\n");
     printf(" 1. Registrar \n");
     printf(" 2. Mostrar registro de matriculas y almunos \n");
     printf(" 3. Mostrar datos de un alumno \n");
     printf(" 4. Modificar \n");
     printf(" 5. Eliminar alumno del registro \n");
     printf(" 6. Buscar nombre del alumno por matricula \n");
     printf(" 7. Salir \n");

     printf("\n Ingrese opcion : ");
}

/*                      MAIN
------------------------------------------------------------------------------*/

int main()
{
  int op;
 
  do
  {
  menu1();
  scanf("%d",&op);
      switch(op)
      {
        case 1:
               system("cls");
               registrar_alumnos();
               
               break;
        case 2:
               system("cls");
               mostrar_alumnos();
               getch();
               break;
       
               
       
        case 3:
             system("cls");
             printf("\n Ingrese numero de Matricula: ");
             scanf("%i",&alum[ca].mat);
             getch();
             //buscar_alumnos();
             
             break;
       
               
      }
       

    } while(op!=7);
   
  return 0;   
}

rir3760

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
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

geshiro

osea como por ejemplo if (strcmp(cadena1,cadena2)==0)