• Source
    1.  
    2. #include<stdio.h>
    3. int main(void)
    4. {
    5. char name[100][100];//이름 2차원배열
    6. char graph[100];//5점당 *을하나씩해야할때 저장할 배열
    7. int dab[10] = { 1, 2, 3, 4, 1, 2, 3, 4, 1, 2 };//정답
    8. int jum[10];//입력할 답
    9. int cnt = 0;
    10. int total[100] = { 0 };//맞출시 10점획득
    11. int total1[100]; //A,B,C...F까지 학점구하기 TOTAL/10
    12. int i, j;
    13. int tel = 0, len = 0;;
    14. char temp[1000];//O,X저장할배열
    15. int ch;
    16. char ren;
    17.  
    18. while (1)
    19. {
    20. printf("input name ");
    21. scanf("%s", &name[cnt]);
    22. printf("input jum ");
    23. for (i = 0; i<10; i++)
    24.  
    25. scanf("%d", &jum[i]);
    26.  
    27. for (i = 0; i<10; i++)
    28. {
    29. if (dab[i] == jum[i]) //정답과 자신이입력한 답맞을시 10점추가및 O,X구하기
    30. {
    31. temp[len] = 'O';
    32. total[cnt] += 10;
    33. }
    34. else
    35.  
    36. temp[len] = 'X';
    37.  
    38. len++;//temp[len]->temp[0],temp[1]...temp[n]
    39. }
    40.  
    41. cnt++;
    42.  
    43. printf("end of file?(end of file : ctrl+z don't want anything press) ");
    44. ren = scanf("%s", &ch);
    45.  
    46. if (ren == EOF)
    47. break;
    48. else if(ren > 0)
    49. continue;
    50.  
    51. }
    52.  
    53. printf(" ");
    54.  
    55. printf("================================================================== \n");
    56.  
    57.  
    58. for (i = 0; i<cnt; i++)
    59.  
    60. total1[i] = total[i] / 10; //만약 점수가 100점이라면 10점으로나누어버림
    61.  
    62.  
    63. for (i = 0; i<cnt; i++)
    64. {
    65. printf("%4s %3d ", name[i], total[i]);
    66.  
    67. for (j = 0; j<10; j++)
    68. {
    69. printf("%c ", temp[tel]);//O,X입력
    70. tel++;
    71. }
    72.  
    73. for (j = 0; j<total[i] / 5; j++)
    74.  
    75. printf("*");//5점당 *나오게하기
    76.  
    77. printf(" ");
    78. switch (total1[i]) //total[i]/10해서 각각의숫자마다 학점부여
    79. {
    80. case 10:printf("A ");break;
    81.  
    82. case 9:break;printf("A ");
    83.  
    84. case 8:printf("B ");break;
    85.  
    86. case 7:printf("C ");break;
    87.  
    88. case 6:printf("D ");break;
    89.  
    90. case 5:printf("E ");break;
    91.  
    92. case 4:printf(" F ");break;
    93. }
    94.  
    95. if (total1[i]<4) //case4까지있으니 그미만으로는 F줌
    96.  
    97. printf("F ");
    98.  
    99.  
    100. putchar(' ');
    101. printf("\n"); printf("================================================================== \n");
    102. }
    103.  
    104. return 0;
    105.  
    106. }