Tengo un problema, tengo 3 funciones el main y 2 creadas por mi una de registro y otra de impresion
el problema es que es una estructura con arreglos, al registrar no hay problema pero nose como mandar estos registros al main y que de ahi se impriman con la funcion de impresion
debe de ser en lenguaje C y no puedo declarar en el area global el arreglo, espero me puedan ayudar
este es el programa que llevo:
#include<stdio.h>
#include<stdlib.h>
struct alumnos
{
int matricula;
char nombre[50];
char apellido[50];
char correo[50];
char celular[12];
int cal[7];
};
int registro(struct alumnos b[], int elementos);
void impresion_datos(struct alumnos b[], int elementos);
int main()
{
struct alumnos a[50];
int op,z=0;
while(z<50)
{
printf("teclee la opcion que desea realizar: "); printf("\n1. Registrar los datos del alumno\n2.Modificar alumno\n3. Eliminar alumno\n4. Imprimir los datos de los alumnos\n5. Imprimir calificaciones de los alumnos\n6. Salir"); switch (op)
{
case 1: registro(a,50);break;
case 2: impresion_datos(a,50); break;
}
z++;
}
}
int registro(struct alumnos b[], int elementos)
{
int q;
int c;
int i=0;
int ca=0;
int op3;
for(q=0;q<6;q++)
{
b[i].cal[6]=((b[i].cal[0]*.20)+(b[i].cal[1]*.20)+(b[i].cal[2]*.20)+(b[i].cal[3]*.20)+(b[i].cal[4]*.10)+(b[i].cal[5]*.10));
}
ca=ca+1;
for(i=0;i<ca;i++)
{
for(q=0;q<7;q++)
{
printf ("cal %d del alumno %d: ",q
,i
); printf("%d\n", b
[i
].
cal[q
]); }
}
printf("para regresar al menu presione 1: "); scanf("%d",&op3
); }
void impresion_datos(struct alumnos b[], int elementos)
{
int i;
printf("Matricula\t\tNombre\t\t\tApellido\t\tCelular\t\tCorreo"); for(i=0;i<50;i++)
{
printf("%d\t\t",b
[i
].
matricula); printf("%d\t\t",b
[i
].
apellido); printf("%d\t\t",b
[i
].
celular); }
}[/b]
· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex