Recompensa por puntuación alta: programación, lenguaje C
Solución: utilice el programa fuente de matriz bidimensional de la siguiente manera:
main()/*procesar puntuaciones de los estudiantes*/
{
int i,j,*pnum,num[5];
puntuación flotante[5][4],aver[5],*psco,*pave;
char curso [5 ][10],*pcou;
printf("Ingrese los nombres de los 4 cursos línea por línea:\n");
pcou=curso[0 ];
for (i=0;i<4;i++)
scanf("%s",pcou+10*i);
printf ("Haga clic a continuación Formato: ingrese los ID de los estudiantes y las calificaciones de cada materia para 5 estudiantes:\n");
printf("ID del estudiante");
for (i =0;i<4; i++)
printf(",%s",pcou+10*i);
printf("\n");
psco=&score[ 0][0];
pnum=&num[0];
para (i=0;i<5;i++)
{
scanf("%d",pnum+i);
for (j=0;j<4;j++)
scanf ("%f", psco+5*i+j);
}
pave=&aver[0];
printf("\n ");/*línea en blanco */
printf("\n");
avsco(psco,pave);
avcour1(pcou,psco );
printf("\n");/*línea en blanco*/
printf("\n");
fali2(pcou,pnum ,psco,pave);
printf("\n");/*línea en blanco*/
printf("\n");
bueno (pcou,pnum,psco, pave);
}
avsco(psco,pave);/*Encuentra la puntuación promedio de cada estudiante*/
float *pave,*psco;
{int i,j;
suma flotante,promedio;
for (i=0;i<5;i++ )
{
suma=0.0;
para (j=0;j<4;j++)
suma=suma+( *(psco+4*i +j));/*Puntuaciones acumuladas de cada estudiante en cada materia*/
promedio=sum/4;/*Calcular la puntuación promedio*/
*(pave+i) =average;
}
}
avcour1(pcou,psco)/*Encuentra la nota media del tercer curso */
char *pcou;
float *psco;
{
int i;
float suma,promedio1;
suma=0.0;
para (i=0;i<5;i++)
suma=suma+(*(p
sco+4*i));/*Acumular la puntuación de cada alumno*/
promedio1=sum/5;/*Calcular la puntuación media*/
printf("Primera La nota promedio del curso %s es %5.2f.\n",pcou,average1);
}
fali2(pcou,pnum,psco,pave)/*Encuentra dos Estudiantes que han reprobado más de un curso*/
char *pcou;
int *pnum;
float *psco,*pave;
{
int i,j,k,label;
printf("Estudiantes que reprobaron dos o más cursos\n");
printf ("ID de estudiante");
for (i=0;i<5;i++)
printf(" %-8s",pcou+10*i); p>
printf("puntaje promedio\n");
for (i=0;i<5;i++)
{
etiqueta =0;
for (j=0;j<4;j++)
if (*(psco+4*i+j)<60.0) label++;
if (label>=2)
{
printf("%-8d",*(pnum+i));
for ( k=0;k<4;k++)
printf(" %-8.2f",*(psco+4*i+k));
printf(" %- 8.2f\n",*(pave+i));
}
}
}
bueno(pcou,pnum ,psco,pave)/*Buscamos estudiantes con calificaciones excelentes (el puntaje promedio es superior a 85 puntos o todos los puntajes de los cursos son superiores a 80 puntos)*/
char *pcou;
int * pnum;
float *psco,*pave;
{
int i,j,k,label;
printf( " Estudiantes con excelentes calificaciones\n");
printf("ID de estudiante");
for (i=0;i<4;i++)
printf (" %-8s",pcou+10*i);
printf(" puntuación promedio\n ");
for (i=0;i<5; i++)
{
etiqueta=0;
for (j=0;j<4;j++)
si (* (psco +4*i+j)>=80.0) etiqueta++;
if (label>=4)||(*(pave+i)>=85))
{
printf("%-8d",*(pnum+i));
for (k=0;k<4;k++)
imprimirf(
" %-8.2f",*(psco+4*i+k));
printf( " %-8.2f\n",*(pave+i));
}
}
}