Red de conocimiento informático - Consumibles informáticos - Recompensa por puntuación alta: programación, lenguaje C

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);

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));

}

}

}