hola, buenos dias, no entiendo por que me marca errores en el renglon donde declaro: datos a[N], y notas b[N];y en los ultimos FOR.. puede ser que haya algun problema con el #define N 100?? desde ya, muchas gracias a los que me ayuden!
/*crear una aplicacion en c que lea nombre cedula edad y 3 notas de n estudiantes
el programa debe decir si el usuario aprobo o no el curso sacando el promedio
de sus 3 notas luego debe permitirle al usuario buscar por numero de cedula
y mostras las notas promedio y permitir editar cualquiera de las notas ingresadas */
#include <stdio.h>
#define N 100;
main()
{
struct datos {
char nombre[12];
int edad;
long cedula;
};
struct notas {
float nota1;
float nota2;
float nota3;
float prom;
};
datos a[N];
notas b[N];
long l;
int j,h,o,y,w,p;
char m='s';
while (m='s')
{
for(j=0;j<N;j++)
{
printf("ingrese nombre del alumno: ");
scanf("%s\n", &a[j].nombre);
printf("ingrese edad del alumno: ");
scanf("%s\n", &a[j].edad);
printf("ingrese numero de cedula: ");
scanf("%s\n", &a[j].cedula);
printf("ingrese nota 1: ");
scanf("%f\n", &b[j].nota1);
printf("ingrese nota 2: ");
scanf("%f\n", &b[j].nota2);
printf("ingrese nota 3: ");
scanf("%f\n", &b[j].nota3);
b[j].promedio= (b[j].nota1 + b[j].nota2 + b[j].nota3)/3) ;
}
for (j=0;j<N;j++)
{
if (b[j].promedio>=7)
{
printf("el alumno %s aprobo con un promedio de %.2f\n", a[j].nombre, b[j].promedio);
}
else
{
printf("el alumno %s desaprobo con un promedio de %.2f\n", a[j].nombre, b[j].promedio);
}
}
printf("desea buscar alumno por numero de cedula?, si=1, no=2: ");
scanf("%d", &h);
if (h==1)
{
printf ( "ingrese numero de cedula:");
scanf("%ld", &l);
for (j=0;j<N;j++)
{
if (l==a[j].cedula)
{
printf("alumno: %s\n", a[j].nombre);
printf ("notas: %.2f %.2f %.2f\n", b[j].nota1, b[j].nota2, b[j].nota3);
printf ("promedio: %.2f\n", b[j].promedio);
}
}
printf ("desea modificar alguna nota de este alumno? 1-si, 2-no");
scanf("%d", &o);
if (o==1)
{
printf("que nota desea modificar? para nota 1: presione 1, para nota 2 presione 2, para nota 3 presione 3");
printf ("para modificar todas, predione 4");
scanf("%d", &y);
switch (y)
{
case 1:
{
printf ("ingrese la nota 1: ");
scanf ("%f", b[j].nota1);
b[j].promedio= (b[j].nota1 + b[j].nota2 + b[j].nota3)/3 ;
break;
};
case 2:
{
printf ("ingrese la nota 2: ");
scanf ("%f", b[j].nota2);
b[j].promedio= (b[j].nota1 + b[j].nota2 + b[j].nota3)/3 ;
break;
};
case 3:
{
printf ("ingrese la nota 3: ");
scanf ("%f", b[j].nota3);
b[j].promedio= (b[j].nota1 + b[j].nota2 + b[j].nota3)/3 ;
break;
};
case 4:
{
printf ("ingrese la nota 1: ");
scanf ("%f\n", b[j].nota1);
printf ("ingrese la nota 2: ");
scanf ("%f\n", b[j].nota2);
printf ("ingrese la nota 3: ");
scanf ("%f\n", b[j].nota3);
b[j].promedio= (b[j].nota1 + b[j].nota2 + b[j].nota3)/3 ;
break;
};
}
}
}
}
printf("desea ver la lista de todos los alumnos y sus notas? si-1, no-2");
scanf("%d", &w);
if (w==1)
{
for (p=0;p<N;p++)
{
printf ("%s\t", a[p].nombre);
printf ("notas: %f %f %f\t", b[p].nota1, b[p]nota2, b[p]nota3);
printf ("promedio: %.2f\n", b[p].promedio);
}
}
printf ("desea iniciar el programa del principio? s-si, n-no");
scanf("%c", &m);
}