al momento de registrar un elemento al momento de ver los elementos registrados me dice vacio quien me ayuda
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
int ca;
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: ",i+1);
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(int num)
{
int band=0;
if(num>0)
{
for(int i=0;i<num;i++)
{
if(alum[ca].nom==alum[ca].mat)
{
printf("El alumno es %s: ",&alum[ca].nom);
}
}
}
}
void mostrar_alumnos(int num)
{
if( num>0)
{
cout<<"\n\nMostrar lista de Alumnos\n";
for(int i=0; i<ca; i++)
{
printf("Matricula: ",alum[ca].nom);
}
}
else
cout<<"\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 num=0;
int op;
do
{
menu1();
scanf("%d",&op);
switch(op)
{
case 1:
system("cls");
registrar_alumnos();
break;
case 2:
system("cls");
mostrar_alumnos(num);
getch();
break;
case 5:
system("cls");
printf("\n Ingrese numero de Matricula: ");
scanf("i",&alum[ca].mat);
cin.get();
buscar_alumnos(num);
break;
}
} while(op!=7);
return 0;
}
Hola.
Hay varias cosas, pero respondiendo a tu consulta específicamente, tendrías que inicializar el índice:
int ca = 0;
Y en la función mostrar_alumnos:
void mostrar_alumnos(int num) {
printf("\n\nMostrar lista de Alumnos\n");
if (ca == 0)
printf("\n\tLista vacia..!");
else
for(int i=0; i < ca; i++)
printf("Nombre: %s %s %s - Matricula: %d ",
alum[i].nom, alum[i].pat, alum[i].mat, alum[i].matricula);
}
Saludos.
como porque no me hace la busque hace
oid buscar_alumnos()
{
if (ca == 0)
{
printf("\n\tdato no encontrado..!");
}else
{
for(int i=0; i < ca; i++)
{
if(alum[i].matricula==
printf("\nAlumno: %s %s %s ",alum[i].nom, alum[i].pat, alum[i].mat);
printf("Matricula: %d\n\n",alum[i].matricula);
}
}
}
Mod: No hacer doble post
los titulos de los temas deben ser descriptivos, usa el boton modificar y corrige el primer post
soy nuevo no se donde ni que boton :C
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