새싹교실/2014/속도위반/0328 (rev. 1.31)
예정 ¶
- 과제에 대한 피드백, 코딩을 할 때의 몇 가지 주의점
- 조건문, 반복문
가능하다면 함수까지
- 표준입출력에 대한 추가 설명
- 연산자
진행사항 ¶
- 문태현 학우가 튜티로 합류하였습니다.
- 참여자
- 버퍼에 대한 설명
- 조건문, 반복문
- 연산자
- 다음 수업 : 4월 4일 금요일 오후 1시
과제 ¶
- 성적을 점수로 입력받아 등급으로 출력하는 프로그램을 만드세요.
- 성적을 입력받는 횟수는 10번으로, 10번을 입력받으면 프로그램이 종료되도록.
- 등급 기준
점수 | 등급 |
80~100 | A |
60~80 | B |
40~60 | C |
20~40 | D |
0~20 | F |
- for문과 if문을 쓴 것 하나
- while문과 switch문을 쓴 것 하나
- 미안합니다, 이거에 switch문을 쓰면 미친거지. 오영은 학우 수고했어요, 다른 학생들은 if문으로 바꿔서 해와도 됩니다.
- 특별 과제! : 특별 과제를 가장 먼저 마친 한 명에게 음료수를...
- 0~100을 벗어난 숫자를 받았을 때에는 입력받는 횟수에 추가하지 않고 다시 값을 받는다.
유재범 ¶
특별 과제 우선 선발(아래에 합쳐놨으나 혹시 모르니 살리겠습니다. 왠지 살리고 싶어요...)
#include<stdio.h>
#pragma warning(disable:4996)
int main(void)
{
int count=0, grade=0, sum=0;;
while(count!=10)
{
printf("점수를 입력하시오 : ");
scanf("%d", &grade);
if(grade>100)
{
count--;
}
else if(grade<0)
{
count--;
}
else
{
sum+=grade;}
count++;
}
printf("점수의 총 합 : %d \n", sum);
return 0;
}
일반선발 주 과제(자세한 사항은 생략)
#include <stdio.h>
#pragma warning(disable:4996)
int main(void)
{
int grade=0, count1=0, count2=0, sum=0;
while(count1!=10)
{
printf("당신의 점수를 입력하십시오 (점수를 알려는 드릴께): ");
scanf("%d", &grade);
if(grade<=20)
{
printf("F입니다. 당신은 실패자입니다.\n");
}
else if(grade<=40)
{
printf("D입니다. 가서 알바나 하세요.\n");
}
else if(grade<=60)
{
printf("C입니다. 교수님이 당신을 위해 친히 씨뿌리기를 하시네요.\n");
}
else if(grade<=80)
{
printf("B입니다. 당신은 예의가 있으시군요. 다음에는 더욱 더 정진해서 더 좋은 B를 받도록 하세요.\n");
}
else
{
printf("A입니다. 예의가 없네요. 교수님이 문제를 냈으면 하나 정도는 틀려주는게 예의에요.\n");
}
count1++;
}
while(count2!=10)
{
printf("점수를 입력하시오 : ");
scanf("%d", &grade);
if(grade>100)
{
count--;
}
else if(grade<0)
{
count--;
}
else
{
sum+=grade;}
count++;
}
return 0;
}
다른 버전
#include <stdio.h>
#pragma warning(disable:4996)
int main(void)
{
int grade=0, count;
for(count=0; count!=10; count++)
{
printf("당신의 점수를 입력하시오 : ");
scanf("%d", &grade);
if(grade<=20)
{
printf("F입니다. 당신은 실패자입니다.\n");
}
else if(grade<=40)
{
printf("D입니다. 가서 알바나 하세요.\n");
}
else if(grade<=60)
{
printf("C입니다. 교수님이 당신을 위해 친히 씨뿌리기를 하시네요.\n");
}
else if(grade<=80)
{
printf("B입니다. 당신은 예의가 있으시군요. 다음에는 더욱 더 정진해서 더 좋은 B를 받도록 하세요.\n");
}
else
{
printf("A입니다. 예의가 없네요. 교수님이 문제를 냈으면 하나 정도는 틀려주는게 예의에요.\n");
}
}
return 0;
}
오영은 ¶
1번째 코드 : if, for문
2번째 코드 : while, switch문
3번째 코드 : while, switch문
100을 넣으면 에러가 나는 오류가 있습니다. 2번째 코드 참고.
#include<stdio.h>
int main()
{
int score, grade;
for(score=0;score<10;++score)
{
printf("당신의 점수는 몇 점입니까? : ");
scanf("%d", &grade);
if(grade>100)
{score = score - 1;
printf("fail이예요!^^\n");
}
else if(grade<0)
{score = score - 1;
printf("fail이예요!^^\n");
}
else if(grade>=80)
printf("A\n");
else if(grade>=60)
printf("B\n");
else if(grade>=40)
printf("C\n");
else if(grade>=20)
printf("D\n");
else if(grade>=0)
printf("F\n");
}
return 0;
}
#include<stdio.h>
int main()
{
int grade, score;
score = 0;
while(score < 10)
{
printf("점수를 입력하지 않으면 유혈사태는 일어나지 않을 것입니다, : ");
scanf("%d", &grade);
switch(grade)
{
case 0 :case 1 :case 2 :case 3 :case 4 :case 5 :case 6 :case 7 :case 8 :case 9 :
case 10 :case 11 :case 12 :case 13 :case 14 :case 15 :case 16 :case 17 :case 18 :case 19 :
printf("F\n");
break;
case 20 :case 21 :case 22 :case 23 :case 24 :case 25 :case 26 :case 27 :case 28 :case 29 :
case 30 :case 31 :case 32 :case 33 :case 34 :case 35 :case 36 :case 37 :case 38 :case 39 :
printf("D\n");
break;
case 40 :case 41 :case 42 :case 43 :case 44 :case 45 :case 46 :case 47 :case 48 :case 49 :
case 50 :case 51 :case 52 :case 53 :case 54 :case 55 :case 56 :case 57 :case 58 :case 59 :
printf("C\n");
break;
case 60 :case 61 :case 62 :case 63 :case 64 :case 65 :case 66 :case 67 :case 68 :case 69 :
case 70 :case 71 :case 72 :case 73 :case 74 :case 75 :case 76 :case 77 :case 78 :case 79 :
printf("B\n");
break;
case 80 :case 81 :case 82 :case 83 :case 84 :case 85 :case 86 :case 87 :case 88 :case 89 :
case 90 :case 91 :case 92 :case 93 :case 94 :case 95 :case 96 :case 97 :case 98 :case 99 :case 100 :
printf("A\n");
break;
default :
{
printf("ERROR!\n");
score = score - 1;
}
}
#include<stdio.h>
int main()
{
int grade, score;
score = 0;
while(score < 10)
{
printf("점수를 입력하지 않으면 유혈사태는 일어나지 않을 것입니다, : ");
scanf("%d", &grade);
grade = grade/20;
switch(grade)
{
case 0 : printf("F\n");
break;
case 1 : printf("D\n");
break;
case 2 : printf("C\n");
break;
case 3 : printf("B\n");
break;
case 4 : printf("A\n");
break;
default :
{
printf("ERROR!\n");
score = score - 1;
}
}
score++;
}
return 0;
}
- ㅋㅋㅋㅋㅋ 영은아 내가 코드는 아직 안봤는데 점수를 입력하지 않으면 유혈사태는 일어나지 않으면 점수 입력하지 말란소리자낰ㅋㅋ ...쓸데없는데 태클걸어봤음ㅋㅋㅋ - 최다인
장우진 ¶
#include <stdio.h>
int main ()
{
int a, grade=0;
for(a=0;a<10;++a){
printf("당신의 점수를 입력해 주세요 :");
scanf("%d",&grade);
if(100<grade)
{
printf("다시\n");
a=a-1;}
else if(grade<0)
{
printf("다시\n");
a=a-1;}
else if(80<grade)
printf("당신의 등급은 A입니다\n");
else if(60<grade)
printf("당신의 등급은 B입니다\n");
else if(40<grade)
printf("당신의 등급은 C입니다\n");
else if(20<grade)
printf("당신의 등급은 D입니다\n");
else if(0<=grade)
printf("당신의 등급은 F입니다\n");
}
return 0;
}
#include<stdio.h>
int main()
{
int grade, score;
score = 0;
while(score < 10)
{
printf("점수를 입력하지 않으면 유혈사태는 일어나지 않을 것입니다, : ");
scanf("%d", &grade);
if(grade>100)
{ printf("다시\n");
score = score-1;}
else if(grade<0)
{ printf("다시\n");
score = score-1;}
else if(grade>80)
printf("A\n");
else if(grade>60)
printf("B\n");
else if(grade>40)
printf("C\n");
else if(grade>20)
printf("D\n");
else if(grade>=0)
printf("F\n");
score++;
}
return 0;
}
문태현 ¶
#include <stdio.h>
int main(void)
{
int score , grade ;
for(score=0; score<10; ++score)
{
printf("점수를 입력하시오 : \n");
scanf("%d", &grade);
if(grade>100 || grade<0)
{printf("잘못된 점수입니다\n");
score=score-1;}
else if(grade>=80)
printf("A\n");
else if(grade>=60)
printf("B\n");
else if (grade>=40)
printf("C\n");
else if (grade>=20)
printf("D\n");
else if (grade>=0)
printf("F\n");
}
return 0;
}
최다인 ¶
#include <stdio.h>
#include <Windows.h>
#pragma warning(disable:4996)
int main()
{
int score, i;
char grade;
for(i = 0; i < 10; i++){
printf("점수를 입력해주세요 : ");
scanf("%d",&score);
if(score < 0 || score > 100){
printf("제대로 된 점수값을 입력해주세요.\n");
i--;
continue;
}
score/=20;
if(score == 5)
score--;
if(score == 0)
grade = 'F';
else
grade = 'E' - score;
printf("당신의 등급은 %c 등급입니다.\n", grade);
}
printf("점수 입력을 완료하였습니다.\n");
system("pause");
}
후기 ¶
- 준비가 좀 미흡해서 정신없이 수업이 진행된 것 같아 미안합니다. 다음 주에는 함수를 나갈 예정인데, 좀 더 잘 이해시키도록 준비해오도록 할게요. - 최다인
- 개인적으로 switch문 못써서 아쉽긴 한데 다음 수업에 그거 먼저 알려주셨으면 합니다. - 유재범
- 뭘 알려달라는 거지? switch-case에 대한 설명은 했고 과제를 내가 병신같이 내준 부분이라면 이 과제에 switch문을 쓰는 것 자체가 별로 좋지 않은 생각이었다는 - 내가 병신이었다는 - 얘기밖에 못해주겠다... - 최다인