Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - ody532

#1
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");
scanf("%d",&op);
system("cls");
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;

printf("Matricula:  "); scanf("%d", &b[i].matricula); fflush(stdin);
printf("\nNombre:  "); gets(b[i].nombre); fflush(stdin);
printf("\nApellido:  "); gets(b[i].apellido); fflush(stdin);
printf("\nCorreo:  "); gets(b[i].correo); fflush(stdin);
printf("\nCelular"); gets(b[i].celular); fflush(stdin);
for(q=0;q<6;q++)
{
printf("\n Cal %d del alumno %d:  ",q,i); scanf("%d",&b[i].cal[q]); fflush(stdin);
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);
system("cls");
}
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].nombre);
printf("%d\t\t",b[i].apellido);
printf("%d\t\t",b[i].celular);
printf("%d\t\t",b[i].correo);
}
}[/b]



· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex