Hola
este semestre ando iniciando con programación en C, acabo de terminar mi 2° programa que es básicamente pide el nombre del alumno, pide el nombre de 4 materias asi como sus calificaciones, saca el promedio.
La maestra puso un código bastante sencillo de solo 27 lineas que se limita a sacar el promedio, yo
lo agrande a 49 con el plus de que muestra algunos mensajes en base a su promedio y de que si se ingresa alguna cantidad menor a 0 o mayor a 10 la tome como invalida.
En fin aquí esta mi código:
Código C:
Ver original#include <stdio.h>
void main()
{
#ifdef WIN32
#else
#endif
char mat[30], nom[30];
float calif, prom, suma;
int i;
suma=0;
for (i=1;i<=4;i++)
{
pedircalif:
printf("Calificacion %d: " ,i
); if (calif>10 || calif<0)
{
printf("\n\033[0;31mError la calificacion no puede ser mayor a 10 o menor a 0\033[0m\n"); goto pedircalif;
}
suma = suma + calif;
}
prom = suma/4;
printf("\nEl alumno %s obtuvo el promedio %.2f\n",nom
,prom
);
if (prom <= 5)
{ printf("\nLo siento has reprobado :'(\n"); } else if (prom >= 6 && prom < 8)
{ printf("\nApenas tienes lo suficiente :/\n"); } else if (prom >= 8 && prom < 9)
else if (prom >= 9 && prom < 10)
{ printf("\nMuy bien :)\n"); } else
{ printf("\nExcelente :D\n"); }
}
Solo quiero pedir su ayuda, que opinan, como lo mejorarían? Esos #ifdef estan correctos es que en la escuela usamos Windows :( pero yo lo hago todo en Linux :)
Y una duda anteriormente cuando trabajamos basi hicimos el programa que solo calculará el promedio y que detectara que la calificación fuera de un rango de 0-10 pero curiosamente cuando poníamos la letra e ó p la tomaba como buena, en este caso, si pongo p ó e muestra el mensaje de error pero varias veces :s ¿Por qué?