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 (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int ca=0;
int i=0;
int buscar=0;
int x=0;
int z=0;
int num=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: ");
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 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 buscar_alumnos()
{ for(int i=0; i < ca; i++)
{
if(alum[ca].matricula==buscar)
{
printf("\nEl nombre: %s",alum[i].nom);
printf("\nEl apellido paterno: %s",alum[i].pat);
printf("\nEl apellido materno: %s",alum[i].mat);
}
else if(z==i)
{
printf("\nDatos no encontrados");
}
}
}
void eleminar_alumnos()
{
if(ca>0)
{
for(int i=x; i<ca-1; i++)
alum[i].matricula=alum[i+1].matricula;
ca--;
}
else
printf("\n\tRegistro vacio..!");
}
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();
system("pause > NUL");
break;
case 5:
system("cls");
printf("\n Ingrese numero de Matricula: ");
scanf("%i",&alum[ca].mat);
eleminar_alumnos();
system("pause > null");
break;
case 6:
system("cls");
printf("\n Ingrese numero de Matricula: ");
scanf("%i",&alum[ca].mat);
buscar_alumnos();
system("pause > null");
break;
}
} while(op!=7);
return 0;
}