Te agradezco crack, efectivamente tuve que declarar el tamaño del arreglo antes de...
muchas gracias por la ayuda...
un abrazo!
muchas gracias por la ayuda...
un abrazo!
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ú/* Programa: calificacionesEscuela.c
Descripción: Programa que determina el mayor y menor promedio de un grupo escolar.
Versión 1.2
Mejoras: Se utilizan estructuras y arreglos para la obtención y almacenamientos de los datos. */
/* Directivas de preprocesador */
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
/* NOTA: Vamos a tener una variable de tipo estructura que va a contener los datos del alumno, esto es:
struct grupo
{
char nombreAlum[15];
float calfLen;
float calfMat;
float calfCie;
}a[],b[];
Vamos a solicitar cada calificación y nombre del alumno a traves de un for dependiendo de la cantidad
de alumnos que defina el usuario y guardaremos cada calificacion en la estructura correspondiente, esto es:
grupo a:
grupo.nombreAlum;
grupo.calfLen;
grupo.calfMat;
grupo.calfCie;
*/
/* Función principal */
main()
{
/* Declaración de variable, estructuras y arreglos */
struct grupo
{
char nomAlum[15];
float calfLen;
float calfMat;
float calfCie;
float prom1;
};
char mejorAlum[15];
int totalAlum, n, opc;
float prom2=0;
/* Ciclo para repetir el menú mientras la opción no sea salir */
do
{
/* Bienvenida del programa */
system("cls");
printf("\n******* Departamento de Control Escolar *******");
printf("\n\n*****Programa de control de calificaciones*****");
/* Impresión del menú */
printf("\n\n\tSeleccione el grupo a evaluar");
printf("\n\t1. Grupo A\n\t2. Grupo B\n\t3. Salir");
printf("\n\tGrupo seleccionado: ");
/* Instrucción que lee na variable de tipo carácter */
scanf("%d",opc);
switch(opc)
{
case 1:
printf("\n\tIngresa el numero de alumnos a calificar: ");
scanf("%d",&totalAlum);
/* Declaramos la estructura del grupo a */
struct grupo a[totalAlum];
/* Estructura repetitiva para obtener el nombre y calificaciones del alumno */
for(n=0, a[n].prom1=0; n<totalAlum; n++)
{
printf("\n\n\tIngresa el nombre del alumno: ");
scanf("%s",&a[n].nomAlum);
printf("\n\tIngresa las calificaciones de Lenguaje, Matematicas y Ciencias: ");
scanf("%f,%f,%f",&a[n].calfLen,&a[n].calfMat,&a[n].calfCie);
/* Calculamos el promedio del alumno */
a[n].prom1=(a[n].calfLen+a[n].calfMat+a[n].calfCie)/3;
printf("\n\tEl promedio de %s es: %.2f\n",a[n].nomAlum,a[n].prom1);
/* Determinamos mediante una estructura selectiva cual es el mayor promedio */
if(a[n].prom1>prom2)
{
prom2=a[n].prom1;
mejorAlum[15]=a[n].nomAlum[15];
}
}
/* Mostramos en pantalla el mejor promedio del grupo */
printf("\n\tEl mejor promedio del grupo %c es: %s con %.2f\n",opc,mejorAlum[15],prom2);
system("pause");
break;
case 2:
printf("\n\tIngresa el numero de alumnos a calificar: ");
scanf("%d",&totalAlum);
/* Declaramos la estructura del grupo a */
struct grupo b[totalAlum];
/* Estructura repetitiva para obtener el nombre y calificaciones del alumno */
for(n=0, b[n].prom1=0; n<totalAlum; n++)
{
printf("\n\n\tIngresa el nombre del alumno: ");
scanf("%s",&b[n].nomAlum);
printf("\n\tIngresa las calificaciones de Lenguaje, Matematicas y Ciencias: ");
scanf("%f,%f,%f",&b[n].calfLen,&b[n].calfMat,&b[n].calfCie);
/* Calculamos el promedio del alumno */
b[n].prom1=(b[n].calfLen+b[n].calfMat+b[n].calfCie)/3;
printf("\n\tEl promedio de %s es: %.2f\n",b[n].nomAlum,b[n].prom1);
/* Determinamos mediante una estructura selectiva cual es el mayor promedio */
if(b[n].prom1>prom2)
{
prom2=b[n].prom1;
mejorAlum[15]=b[n].nomAlum[15];
}
}
/* Mostramos en pantalla el mejor promedio del grupo */
printf("\n\tEl mejor promedio del grupo %c es: %s con %.2f\n",opc,b[n].nomAlum,prom2);
system("pause");
break;
case 3:
printf("\n\n\tAdios.\n\n");
system("pause");
break;
default:
printf("\n\nOpcion invalida\n\n");
system("pause");
}
}while (opc!=3);
}