SSISO Community

갤러리정

[문제풀이] 다섯과목의 점수를 순서대로 입력받아 성적그래프 세로로 출력 - CSharp

[문제] 다섯과목의 점수를 순서대로 입력받아 성적그래프를 세로로 출력하시오.

 

[풀이]

 

public static void SungJukPyo()
{
   
   string [] Gawmok = {"국어","영어","수학","과학","국사"};

   Console.WriteLine("================================");


   Console.WriteLine("점수를 입력하세요.");

   int[] Jumsu = new int[Gawmok.Length];

   int i=0;


   do{
       try
       {
          Console.Write("{0}.{1} : ", (i+1), Gawmok[i]);
          Jumsu[i] = checked(Convert.ToInt32(Console.ReadLine()));


          if(Jumsu[i]>100 || Jumsu[i]<0)
          {
               throw new Exception("1~100까지의 정수값만 입력하십시오.");
           }
           else
           {
               i++;
           }
       }
       catch(Exception e)
       {
           Console.WriteLine(e.Message);
           continue;
       }
   }while(i<Gawmok.Length);


   Console.WriteLine("================================");


   string[,] ArrGraph = new string[Gawmok.Length,10];

   int StarCnt;
   int JumsuCnt=0;

 

   //*을 아래쪽에서 위쪽으로 넣는다.

   for(int j=0;j<5; j++)
   {
      StarCnt = Jumsu[j]/10; //별갯수

      for(int k=9; k>=0; k--)
      {
         if(k<StarCnt)
               ArrGraph[j,k] = "*";
      }
    JumsuCnt++;
   }

 

   Console.WriteLine("-----------------------------------------");
   Console.WriteLine("                       성적그래프                       ");
   Console.WriteLine("-----------------------------------------");

 

   for(int k=ArrGraph.GetLength(1)-1; k>=0; k--) 
   {
        for(int j=0; j<ArrGraph.GetLength(0); j++) 
             Console.Write("{0,2}\t", ArrGraph[j,k]);
        Console.WriteLine();
   }

 

   Console.WriteLine("-----------------------------------------");

 

   for(int j=0; j<Gawmok.Length; j++)
        Console.Write("{0}\t", Gawmok[j]);

   Console.WriteLine();

 

   float sum = 0;

   for(int j=0; j<Gawmok.Length; j++)
   {
        Console.Write("{0}점\t", Jumsu[j]);
        sum += Jumsu[j];

   }


    Console.WriteLine();

    float avg = (float) sum / (float) Gawmok.Length;

 

    Console.WriteLine("-----------------------------------------");
    Console.WriteLine("총점 : {0}점", sum);
    Console.WriteLine("평균 : {0:f1}점", avg);
    Console.WriteLine("-----------------------------------------");

 }


805 view

4.0 stars