Recuerden que el EOF(End-of-file) indica que ya no hay información en un flujo de datos, en este caso, en ubuntu con las teclas Ctrl-D haces que te muestre el resultado del programa.
En este ejemplo, podemos ver los diferentes controles de programa como while, switch con case, e if's anidados en la parte final.
Para ver el código puedes mover con la barra de desplazamiento en la parte de abajo.
#include <stdio.h> //incluimos libreria
int main(int argc, char** args) //iniciamos funcion main
{
int grade; //declaramos variable que leera la nota
int aCount = 0, bCount = 0, cCount = 0, dCount = 0, fCount = 0; //iniciar los contadores en 0
int promedio, multi, suma; //declaramos variables para realizar la operacion del promedio
printf("Ingresa las notas del grupo.\n"); //imprime mensajes al usuario
printf("Ingresa un caracter EOF para finalizar.\n");
while( ( grade = getchar() ) != EOF) { //ciclo mientras grado sea diferente a EOF, que es end-of-file
switch (grade) { //iniciamos swich que condicionara a grado
case 'A': case 'a': // si es letra a, la empieza a contar
++aCount;
break;
case 'B': case 'b':// si es letra b, la empieza a contar
++bCount;
break;
case 'C': case 'c':// si es letra c, la empieza a contar
++cCount;
break;
case 'D': case 'd':// si es letra d, la empieza a contar
++dCount;
break;
case 'F': case 'f':// si es letra f, la empieza a contar
++fCount;
break;
case '\n': case ' ':// si es espacio o salto de linea no hace nada
break;
default: //si no cumple ninguna, se llama default
printf("Nota incorrecta, ingresa nueva nota\n"); // imprime mensaje al usuario
break;
}//fin del switch
}//fin del while
printf("\nVeces que ingresaste la nota: \n"); //muestra resultados de las veces
printf("A: %d\n", aCount);
printf("B: %d\n", bCount);
printf("C: %d\n", cCount);
printf("D: %d\n", dCount);
printf("F: %d\n", fCount);
/* Para hacer el promedio yo hice una escala de la siguiente manera
A = 100
B = 90
C = 80
D = 70
F = 60 */
multi=(aCount*100)+(bCount*90)+(cCount*80)+(dCount*70)+(fCount*60); //para hacer el promedio multiplicamos el numero de
//de veces por la escala antes realizada
suma=aCount+bCount+cCount+dCount+fCount; //sumamos el numero notas ingresadas
promedio=(multi)/(suma); //Suma de todos los valores ya hechos numericos dividido entre el n˙mero de notas
if (promedio == 100) //Si es igual a 100 imprima mensaje
printf("El promedio en nota es A\n");
else if (promedio > 90) //Si es mayor que 90 imprima mensaje
printf("El promedio en nota es B\n");
else if (promedio > 80) //Si es mayor que 80 imprima mensaje
printf("El promedio en nota es C\n");
else if (promedio > 70) //Si es mayor que 70 imprima mensaje
printf("El promedio en nota es D\n");
else if (promedio > 60) //Si es mayor que 60 imprima mensaje
printf("El promedio en nota es F\n");
printf("El promedio en numeracion es de -> %d \n", promedio); //imprime el promedio en cantidad
return 0; //finalizamos programa
}Espero que mi explicación les sirva, si tienen algún comentario acerca de esta entrada, espero me digan ya que estoy abierto a cualquier error.
No hay comentarios:
Publicar un comentario