hola tengo que hacer un programa en c en el que pueda llenar una tabla de con varios elementos y mostrar los diferentes datos
asi dice el ejercicio en una escuela se almacena información sobre los alumnos en una estructura de datos de tipo registro allí la información guardada es la siguiente cédula, nombre,sexo,edad,carrera,semestre,calificación y promedio
realice un programa en c que muestre un listado general
ejem listado por nombre que muestre cedula carrera sexo y promedio del alumno
..........................
primero q nada quisiera saber el xq la estructura anidada no me funciona
y una manera de hacer mejor el menu
y cualquier otro error q encuentren en el programa pls háganme lo saber
gracias
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct info_materia{
char nombre_materia[20];
char codigo;
char credito;
char calificacion;
}materia[4];
struct alumno{
char nombre[20];
char cedula[20];
char edad[20];
char carrera[20];
char semestre[20];
char sexo[20];
struct info_materia dir_materia;
float promedio;
}alumno[5];
main(){
char aux_z[20];
char nombre_t[20];
char cedula_t[20];
char carrera_t[20] ;
char semestre_t[20];
int i,seguir1,seguir2,seguir3,seguir4,seguir5,opc,numero;
char x;
char usuario[20];
int clave,faltan=3;
do{
printf("Introduce el usuario\n");
printf("Introduce la contraseña\n"); if(clave==123456){
}
else if(clave!=123456) {
printf("Contraseña incorrecta\n");
faltan--;
printf("\n falta: %d intentos\n",faltan
); if(faltan==0){
printf("intentos maximos alcanzados \n"); return 0;
}
}
}
while (faltan==0 || clave!=123456);
for(i=0;i<2;i++){
printf("%d. Escriba su nombre: ",i
+1);
printf("%d. Escriba su cedula: ",i
+1);
printf("%d. escriba su sexo: ",i
+1);
printf("%d. escriba su edad: ",i
+1);
printf("%d. escriba su semestre: ",i
+1 ); gets(alumno
[i
].
semestre);
printf("%d. escriba su carrera: ",i
+1); }
for(i=0;i<4;i++){
printf("%d. escriba su materia: ",i
+1 ); gets(alumno
[i
].
dir_materia.
materia); printf("%d. escriba su codigo: ",i
+1 ); gets(alumno
[i
].
dir_materia.
codigo); printf("%d. escriba su credito: ",i
+1 ); gets(alumno
[i
].
dir_materia.
credito); printf("%d. escriba su calificacion: ",i
+1 ); gets(alumno
[i
].
dir_materia.
calificacion); }
do{
switch(opc){
case 1:
do
{
printf("escriba el nombre a buscar\n"); printf ("\nSu busqueda es por: %s",nombre_t
);
for(i=0; i<5;i++){
if (strcmp(nombre_t
,alumno
[i
].
nombre)==0){ printf("\nDatos del estudiante: ");
printf("\nNombre: %s",alumno
[i
].
nombre);
printf("\nCedula: %s",alumno
[i
].
cedula);
printf("\nSexo: %s",alumno
[i
].
sexo);
printf("\nEdad:%s",alumno
[i
].
edad);
printf("\nCarrera: %s",alumno
[i
].
carrera);
printf("\nSemestre: %s\n",alumno
[i
].
semestre);
}
else if(strcmp(nombre_t
,alumno
[i
].
nombre)<0){ printf("\nLos Datos de La Busqueda no coinciden"); }
}
printf("para salir presione '0', presione una tecla y enter para continuar\n"); } while (seguir1 !=0);
break;
case 2:
do
{
printf(" busqueda por cedula: \n");
printf ("\nSu busqueda es por: %s",cedula_t
);
for(i=0; i<5;i++){
if (strcmp(cedula_t
,alumno
[i
].
cedula)==0){ printf("\nDatos del estudiante: ");
printf("\nNombre: %s",alumno
[i
].
nombre);
printf("\nCedula: %s",alumno
[i
].
cedula);
printf("\nSexo: %s",alumno
[i
].
sexo);
printf("\nEdad:%s",alumno
[i
].
edad);
printf("\nCarrera: %s",alumno
[i
].
carrera);
printf("\nSemestre: %s\n",alumno
[i
].
semestre);
}
else if(strcmp(cedula_t
,alumno
[i
].
cedula)<0){ printf("\nLos Datos de La Busqueda no coinciden"); }
}
printf("para salir presione '0', presione una tecla y enter para continuar\n"); } while ( seguir2 !=0);
break;
case 3:
do
{
printf("escriba la carrera: \n"); printf ("\nSu busqueda es por: %s",carrera_t
);
for(i=0; i<5;i++){
if (strcmp(carrera_t
,alumno
[i
].
carrera)==0){ printf("\nDatos del estudiante: ");
printf("\nNombre: %s",alumno
[i
].
nombre);
printf("\nCedula: %s",alumno
[i
].
cedula);
printf("\nSexo: %s",alumno
[i
].
sexo);
printf("\nEdad:%s",alumno
[i
].
edad);
printf("\nCarrera: %s",alumno
[i
].
carrera);
printf("\nSemestre: %s\n",alumno
[i
].
semestre);
}
else if(strcmp(carrera_t
,alumno
[i
].
carrera)<0){ printf("\nLos Datos de La Busqueda no coinciden"); }
}
printf("para salir presione '0', presione una tecla y enter para continuar\n"); } while ( seguir3 !=0);
break;
case 4:
do
{
printf("escriba el semestre a buscar \n"); printf("verifique que sea 'primero' 'segundo' 'tercero' \n"); printf ("\nSu busqueda es por: %s\n",semestre_t
);
for(i=0; i<5;i++){
if (strcmp(semestre_t
,alumno
[i
].
semestre)==0){ printf("\nDatos del estudiante: ");
printf("\nNombre: %s",alumno
[i
].
nombre);
printf("\nCedula: %s",alumno
[i
].
cedula);
printf("\nSexo: %s",alumno
[i
].
sexo);
printf("\nEdad:%s",alumno
[i
].
edad);
printf("\nCarrera: %s",alumno
[i
].
carrera);
printf("\nSemestre: %s\n",alumno
[i
].
semestre);
}
else if(strcmp(semestre_t
,alumno
[i
].
semestre)<0){ printf("\nLos Datos de La Busqueda no coinciden"); }
}
printf("para salir presione '0', presione una tecla y enter para continuar\n"); } while ( seguir4 !=0);
break;
case 5:
return 0;
break;
default: printf("\n\nError\n");
}
}
while(opc==5);
}