using System;
using System.Collections.Generic;
using System.Text;
namespace _303_fall_2007_lecture_18
{
class Program
{
// ---------------------------------------------------------
static void Main(string[] args)
{
double number_grade;
char letter_grade;
int[] grade_count = new int[5];
do
{
Console.Write("Please enter numeric grade (-1 to quit) : ");
number_grade = Convert.ToDouble(Console.ReadLine());
if (number_grade != -1)
{
letter_grade = ConvertToLetterGrade(number_grade);
UpdateGradeCount(letter_grade, grade_count);
Console.WriteLine("You earned a {0}", letter_grade);
}
} while (number_grade != -1);
ShowResult(grade_count);
}
// ---------------------------------------------------------
private static void ShowResult(int[] grade_count)
{
char[] grade_labels = { 'A', 'B', 'C', 'D', 'F' };
for (int i = 0; i < 5; i++)
{
Console.Write(grade_labels[i] + " : ");
for (int s = 0; s < grade_count[i]; s++)
{
Console.Write("*");
}
Console.WriteLine();
}
}
// ---------------------------------------------------------
private static void UpdateGradeCount(char lg, int[] gc)
{
switch (lg)
{
case 'A': gc[0]++; break;
case 'B': gc[1]++; break;
case 'C': gc[2]++; break;
case 'D': gc[3]++; break;
case 'F': gc[4]++; break;
}
}
// ---------------------------------------------------------
private static char ConvertToLetterGrade(double number_grade)
{
if (number_grade >= 90)
return 'A';
else if (number_grade >= 80)
return 'B';
else if (number_grade >= 70)
return 'C';
else if (number_grade >= 60)
return 'D';
else
return 'F';
}
// ---------------------------------------------------------
}
}