#include <stdio.h>
#define GRAPH 5 // 이 숫자당 별 1개로 그래프 그림.
#define NUM 3 // 이 숫자만큼 학생수를 입력받음.
void draw(int kor,int math,int eng,int rea,int ave);
int main()
{
char stu[NUM][20]={0,{0,}};
int kor[NUM]={0,},math[NUM]={0,},eng[NUM]={0,},rea[NUM]={0,},ave[NUM]={0,};
int i;
for(i = 0 ; i < NUM ;i++){
printf("%d번째 학생입니다. \n",i+1);
printf("이름을 입력해 주세요 : ");
gets(stu[i]);
printf("국어 점수를 입력해 주세요. : ");
scanf("%d",&kor[i]);
printf("수학 점수를 입력해 주세요. : ");
scanf("%d",&math[i]);
printf("영어 점수를 입력해 주세요. : ");
scanf("%d",&eng[i]);
printf("탐구 점수를 입력해 주세요. : ");
scanf("%d",&rea[i]);
printf("\n");
fflush(stdin);
ave[i] = (kor[i]+math[i]+eng[i]+rea[i]) / 4;
}
for(i = 0;i < NUM ; i++){
printf("%d번째 학생입니다. \n",i+1);
printf("이름 : %s \n\n",stu[i]);
draw(kor[i],math[i],eng[i], rea[i],ave[i]);
printf("\n");
}
return 0;
}
void draw(int kor,int math,int eng,int rea,int ave){
int x , y = 100/GRAPH , kg, mg, eg, rg, ag;
kg = kor/GRAPH, mg = math/GRAPH, eg = eng/GRAPH, rg = rea/GRAPH, ag = ave/GRAPH;
for(x = 1; x <= 100/GRAPH; x++){
printf("%d\t",y*GRAPH);
if(kg >= y)
printf("*\t");
else
printf("\t");
if(mg >= y)
printf("*\t");
else
printf(" \t");
if(eg >= y)
printf("*\t");
else
printf(" \t");
if(rg >= y)
printf("*\t");
else
printf(" \t");
if(ag >= y)
printf("*\n");
else
printf(" \n");
y--;
}
printf("0\t국어\t수학\t영어\t탐구\t평균\n");
printf("\t%d\t%d\t%d\t%d\t%d\n", kor, math, eng, rea, ave);
}
- 5 단위로 올림하라니까;;그거만 예외처리를 제외하면 거의 정답. 범위 제한이나 잘못된 입력에 대한 예외처리는 안했네. 설계가 아직 미숙한거는 어쩔 수 없지만 잘했어 잘했어 - 원준연