c언어 bool연산
바람
밑에 코드보시면 Recode구조체안의 char homework[10]을 bool로해서 有일때는 10으로 無일땐 0으로해서 총점계산후 학점출력을 해야되는데 bool로 하는 부분을 모르겠습니다.
#includestdio.h
const int TRUE=1;
const int FALSE=0;
typedef struct Recode{
char student_number[10];//학번
char name[10];//이름
int attend;//출석15%
int midterm;//중간35%
int finals;//기말40%
char homework[10];//과제
}recode;
int total_score(struct Recode c);//총점 = 출석+중간+기말+과제
void grade(int n);//학점 = 총점 = 95(A+), 90(A), 85(B+), ...., 60미만(F)
void print(struct Recode c);
void show(struct Recode ts);
int homework(struct Recode c);
int main()
{
int a,b,c,d;
recode c1={1, 김동하, 95, 88, 90, 有};
recode c2={2, 윤동욱, 90, 98, 96, 無};
recode c3={3, 이상준, 92, 75, 70, 有};
recode c4={4, 차현석, 94, 95, 90, 無};
a=total_score(c1);
b=total_score(c2);
c=total_score(c3);
d=total_score(c4);
printf(학번이름출석중간기말과제총점학점\n);
show(c1);
printf(%d,total_score(c1));
grade(a);
show(c2);
printf(%d,total_score(c2));
grade(b);
show(c3);
printf(%d,total_score(c3));
grade(c);
show(c4);
printf(%d,total_score(c4));
grade(d);
return 0;
}
int total_score(struct Recode c)
{
int temp;
temp = ((c.attend*15/100)+(c.midterm*35/100)+(c.finals*40/100)+(c.homework));
빨간 부분을 10 이나 0으로 해서 계산해야하는데
어떤식으로 계산해야될지 모르겠습니다. 有,無
return temp;
}
void grade(int n)
{
switch(n/5)
{
case 20:
printf(A+\n);
break;
case 19:
printf(A+\n);
break;
case 18:
printf(A\n);
break;
case 17:
printf(B+\n);
break;
case 16:
printf(B\n);
break;
case 15:
printf(C+\n);
break;
case 14:
printf(C\n);
break;
case 13:
printf(D+\n);
break;
case 12:
printf(D\n);
break;
default:
printf(F\n);
break;
}
}
void show(struct Recode ts)
{
printf(%s%s%d%d%d%s,ts.student_number,ts.name,ts.attend,ts.midterm,ts.finals,ts.homework);
}