Difference between r1.13 and the current
@@ -20,7 +20,7 @@
=== [임기찬] ===
* 문자 사용시 오류 방지를 위해 --어쩔수없이ㅠㅠ 책을 보고-- fflush 사용
* 문자 사용시 오류 방지를 위해 --어쩔수없이ㅠㅠ 네이버의 도움을 받아-- fflush(stdin) 사용
* scanf 사용시 오류 방지를 위해 --네이버의 도움을 받아-- #pragma warning(disable:4996) 사용* 5번 반복하는 프로그램
@@ -31,47 +31,57 @@
int main()
{
int kor,eng,mat,ave,i,j;
int kor,eng,mat,tot,ave,i,j,k;
for(j = 0;j<5;j++) {
for(k = 0;k<5;k++) {
printf("당신의 국어 점수를 입력하십시오.(0~100): "); fflush(stdin);
i = scanf("%d",&kor); while(kor < 0 || kor > 100){
j = 1;
while(j == 1){
if( i == 0){printf("문자를 입력하지 말아 주십시오. \n");
printf("당신의 국어 점수를 입력하십시오(0~100): ");
fflush(stdin);
i = scanf("%d",&kor); }
else{
else if ( kor < 0 || kor > 100) {
printf("1~100사이의 값을 입력하십시오. \n");printf("당신의 국어 점수를 입력하십시오.(1~100): ");
i = scanf("%d",&kor); }}
i = scanf("%d",&kor); }
else {j = 0;}}
fflush(stdin);
i = scanf("%d",&eng); while(eng < 0 || eng > 100){
j = 1;
while(j == 1){
if( i == 0){printf("문자를 입력하지 말아 주십시오. \n");
printf("당신의 영어 점수를 입력하십시오(0~100): ");
fflush(stdin);
i = scanf("%d",&eng); }
else{
else if( eng < 0 || eng > 100){
printf("1~100사이의 값을 입력하십시오. \n");printf("당신의 영어 점수를 입력하십시오.(1~100): ");
i = scanf("%d",&eng); }}
i = scanf("%d",&eng); }
else{j = 0;}}
printf("당신의 수학 점수를 입력하십시오(0~100): "); fflush(stdin);
i = scanf("%d",&mat); while(mat < 0 || mat > 100){
j = 1;
while(j == 1){
if( i == 0){printf("문자를 입력하지 말아 주십시오. \n");
printf("당신의 수학 점수를 입력하십시오(0~100): ");
fflush(stdin);
i = scanf("%d",&mat); }
else{
else if ( mat < 0 || mat > 100) {
printf("1~100사이의 값을 입력하십시오. \n");printf("당신의 수학 점수를 입력하십시오.(1~100): ");
i = scanf("%d",&mat); }}
i = scanf("%d",&mat); }
else { j = 0;}}
tot = kor + eng + mat;
ave = tot / 3;
if ( ave >= 80){printf("합격입니다. \n");}
else {
@@ -80,7 +90,7 @@
}
}}}
{{{
#include <stdio.h>
}}}
* 무한 반복 프로그램
* 무한 반복 프로그램(단, 모든 과목의 점수가 0일시 프로그램 종료)
{{{
#include <stdio.h>
@@ -88,47 +98,57 @@
int main()
{
int kor,eng,mat,ave,i,j;
int kor,eng,mat,tot=1,ave,i,j;
while(1) {
while( tot > 0 ) {
printf("당신의 국어 점수를 입력하십시오.(0~100): "); fflush(stdin);
i = scanf("%d",&kor); while(kor < 0 || kor > 100){
j = 1;
while(j == 1){
if( i == 0){printf("문자를 입력하지 말아 주십시오. \n");
printf("당신의 국어 점수를 입력하십시오(0~100): ");
fflush(stdin);
i = scanf("%d",&kor); }
else{
else if ( kor < 0 || kor > 100) {
printf("1~100사이의 값을 입력하십시오. \n");printf("당신의 국어 점수를 입력하십시오.(1~100): ");
i = scanf("%d",&kor); }}
i = scanf("%d",&kor); }
else {j = 0;}}
fflush(stdin);
i = scanf("%d",&eng); while(eng < 0 || eng > 100){
j = 1;
while(j == 1){
if( i == 0){printf("문자를 입력하지 말아 주십시오. \n");
printf("당신의 영어 점수를 입력하십시오(0~100): ");
fflush(stdin);
i = scanf("%d",&eng); }
else{
else if( eng < 0 || eng > 100){
printf("1~100사이의 값을 입력하십시오. \n");printf("당신의 영어 점수를 입력하십시오.(1~100): ");
i = scanf("%d",&eng); }}
i = scanf("%d",&eng); }
else{j = 0;}}
printf("당신의 수학 점수를 입력하십시오(0~100): "); fflush(stdin);
i = scanf("%d",&mat); while(mat < 0 || mat > 100){
j = 1;
while(j == 1){
if( i == 0){printf("문자를 입력하지 말아 주십시오. \n");
printf("당신의 수학 점수를 입력하십시오(0~100): ");
fflush(stdin);
i = scanf("%d",&mat); }
else{
else if ( mat < 0 || mat > 100) {
printf("1~100사이의 값을 입력하십시오. \n");printf("당신의 수학 점수를 입력하십시오.(1~100): ");
i = scanf("%d",&mat); }}
i = scanf("%d",&mat); }
else { j = 0;}}
tot = kor + eng + mat;
ave = tot / 3;
if ( ave >= 80){printf("합격입니다. \n");}
else {
@@ -136,10 +156,257 @@
return 0;
}
}}}
=== [최필립] ===
{{{
#include <stdio.h>
}
}}}
*3월 24일 6피에서 함
*창이 사라져서 용준동기의 도움으로 windows.h 와 pause 추가함
*현재 시도한 횟수는 그냥 머리아파서 넣어봄
5회반복
{{{
#include <stdio.h>
#include <Windows.h>
int main(void)
{
int kor=0,eng=0,tot=0,mat=0,ave=0,i=0;
while(i<5)
{
printf("국어성적을 입력하세요. ex 90점->90\n");
scanf("%d",&kor);
printf("영어성적을 입력하세요. ex 44점->44\n");
scanf("%d",&eng);
printf("수학성적을 입력하세요. ex 33점->33\n");
scanf("%d",&mat);
tot=kor+eng+mat;
ave=tot/3;
printf("평균점수:%d\n",ave);
printf("총점수:%d\n",tot);
i++;
if(ave>=80)
{
printf("합격입니다.\n");
}
else
{
printf("불합격입니다.\n");
}
printf("현재 시도한 횟수 %d/5 \n\n\n\n\n\n\n\n",i);
}
system("pause > NULL");
return 0;
}
}}}
무한반복
*원래 i를 선언할 필요가 없지만 현재 시도한 횟수 넣으려고 내비뒀음
*무한반복이므로 windows.h 삭제
*if(kor=0,eng=0,mat=0) break; 하다가 두시간 날림.... ==이었음
{{{
#include <stdio.h>
int main(void)
{
int kor=0,eng=0,tot=0,mat=0,ave=0,i=0;
while(1)
{
printf("국어성적을 입력하세요. ex 90점->90\n");
scanf("%d",&kor);
printf("영어성적을 입력하세요. ex 44점->44\n");
scanf("%d",&eng);
printf("수학성적을 입력하세요. ex 33점->33\n");
scanf("%d",&mat);
tot=kor+eng+mat;
ave=tot/3;
if(kor==0,eng==0,mat==0)
break;
printf("평균점수:%d\n",ave);
printf("총점수:%d\n",tot);
i++;
if(ave>=80)
{
printf("합격입니다.\n");
}
else
{
printf("불합격입니다.\n");
}
printf("현재 시도한 횟수 %d\n\n",i);
}
return 0;
}
}}}
* 함수에 대해서 가르쳐 줄 때 얘기하겠지만 main 함수를 int형 반환으로 선언했다면 return 값이 있는 게 올바른 형태입니다. - [원준연]
*넵 고쳤습니다.
=== [홍성현] ===2014/3/23(일) 11:04 am
-문자 입력시 터지는 현상(해결불가)ㅠ, 0~100 이외의 숫자 넣을 경우(해결) 고려해서 막을 방법을 재고려하겠습니다. -
5회반복
#include <stdio.h>
int main()
{
int kor=0,eng=0,mat=0,ave=0,i=0;
for(i=0;i<5;i++)
{
printf("국어 성적 입력 :");
scanf("%d",&kor);
if(kor>=0,kor<=100)
{printf("국어 성적 :%d\n",kor);
}
else
{
printf("ㅗ\n");
break ;
}
printf("영어 성적 입력 :");
scanf("%d",&eng);
if(eng>=0,eng<=100)
{printf("영어 성적 :%d\n",eng);
}
else
{
printf("ㅗ\n");
break;
}
printf("수학 성적 입력 :");
scanf("%d",&mat);
if(mat>=0,mat<=100)
{printf("수학 성적 :%d\n",mat);
}
else
{
printf("ㅗ\n");
break;
}
ave=(kor+eng+mat)/3;
printf("평균 :%d\n",ave);
if(kor==0,eng==0,mat==0)
{break ;
}
if(ave>=80)
{printf("합격\n");
}
else
{
printf("불합격\n");
}
}
return 0 ;
}
ㅁ...무한반복 ㅈ..절대 귀찮아서 이렇게 한거 ㅇ..아니...ㄹ거에요
무한반복
#include <stdio.h>
int main()
{
int kor=0,eng=0,mat=0,ave=0,i=0;
for(i=0;i<5;i==0)
{
printf("국어 성적 입력 :");
scanf("%d",&kor);
if(kor>=0,kor<=100)
{printf("국어 성적 :%d\n",kor);
}
else
{
printf("ㅗ\n");
break ;
}
printf("영어 성적 입력 :");
scanf("%d",&eng);
if(eng>=0,eng<=100)
{printf("영어 성적 :%d\n",eng);
}
else
{
printf("ㅗ\n");
break;
}
printf("수학 성적 입력 :");
scanf("%d",&mat);
if(mat>=0,mat<=100)
{printf("수학 성적 :%d\n",mat);
}
else
{
printf("ㅗ\n");
break;
}
ave=(kor+eng+mat)/3;
printf("평균 :%d\n",ave);
if(kor==0,eng==0,mat==0)
{break ;
}
if(ave>=80)
{printf("합격\n");
}
else
{
printf("불합격\n");
}
}
return 0 ;
}
* 조건확인이 동시에 일어난다면 if를 여러 번 쓰지 말고 else if로 하는게 더 좋습니다. 그리고 무한반복 틀렸습니다. - [원준연]
ㄴ 넹
== 코드 올리는 법 =={{{
#include <stdio.h>
3.1. 내용 ¶
- 국,영,수를 받아서 합과 평균을 구하고, 평균이 80점 이상이면 합격, 미만이면 불합격을 출력하는 코드를 작성.
- 반복문을 통해 5회 반복하는 프로그램과 무한반복하는 프로그램을 작성.
- 결과물은 이 아래 자신의 항목을 만들어서 업로드.
3.2. 임기찬 ¶
- 문자 사용시 오류 방지를 위해
어쩔수없이ㅠㅠ 네이버의 도움을 받아fflush(stdin) 사용
- scanf 사용시 오류 방지를 위해
네이버의 도움을 받아#pragma warning(disable:4996) 사용
- 5번 반복하는 프로그램
#include <stdio.h> #pragma warning(disable:4996) int main() { int kor,eng,mat,tot,ave,i,j,k; for(k = 0;k<5;k++) { printf("당신의 국어 점수를 입력하십시오.(0~100): "); fflush(stdin); i = scanf("%d",&kor); j = 1; while(j == 1){ if( i == 0){ printf("문자를 입력하지 말아 주십시오. \n"); printf("당신의 국어 점수를 입력하십시오(0~100): "); fflush(stdin); i = scanf("%d",&kor); } else if ( kor < 0 || kor > 100) { printf("1~100사이의 값을 입력하십시오. \n"); printf("당신의 국어 점수를 입력하십시오.(1~100): "); i = scanf("%d",&kor); } else {j = 0;}} printf("당신의 영어 점수를 입력하십시오(0~100): "); fflush(stdin); i = scanf("%d",&eng); j = 1; while(j == 1){ if( i == 0){ printf("문자를 입력하지 말아 주십시오. \n"); printf("당신의 영어 점수를 입력하십시오(0~100): "); fflush(stdin); i = scanf("%d",&eng); } else if( eng < 0 || eng > 100){ printf("1~100사이의 값을 입력하십시오. \n"); printf("당신의 영어 점수를 입력하십시오.(1~100): "); i = scanf("%d",&eng); } else{j = 0;}} printf("당신의 수학 점수를 입력하십시오(0~100): "); fflush(stdin); i = scanf("%d",&mat); j = 1; while(j == 1){ if( i == 0){ printf("문자를 입력하지 말아 주십시오. \n"); printf("당신의 수학 점수를 입력하십시오(0~100): "); fflush(stdin); i = scanf("%d",&mat); } else if ( mat < 0 || mat > 100) { printf("1~100사이의 값을 입력하십시오. \n"); printf("당신의 수학 점수를 입력하십시오.(1~100): "); i = scanf("%d",&mat); } else { j = 0;}} tot = kor + eng + mat; ave = tot / 3; if ( ave >= 80){ printf("합격입니다. \n");} else { printf("불합격입니다. \n");}} return 0; }
- 무한 반복 프로그램(단, 모든 과목의 점수가 0일시 프로그램 종료)
#include <stdio.h> #pragma warning(disable:4996) int main() { int kor,eng,mat,tot=1,ave,i,j; while( tot > 0 ) { printf("당신의 국어 점수를 입력하십시오.(0~100): "); fflush(stdin); i = scanf("%d",&kor); j = 1; while(j == 1){ if( i == 0){ printf("문자를 입력하지 말아 주십시오. \n"); printf("당신의 국어 점수를 입력하십시오(0~100): "); fflush(stdin); i = scanf("%d",&kor); } else if ( kor < 0 || kor > 100) { printf("1~100사이의 값을 입력하십시오. \n"); printf("당신의 국어 점수를 입력하십시오.(1~100): "); i = scanf("%d",&kor); } else {j = 0;}} printf("당신의 영어 점수를 입력하십시오(0~100): "); fflush(stdin); i = scanf("%d",&eng); j = 1; while(j == 1){ if( i == 0){ printf("문자를 입력하지 말아 주십시오. \n"); printf("당신의 영어 점수를 입력하십시오(0~100): "); fflush(stdin); i = scanf("%d",&eng); } else if( eng < 0 || eng > 100){ printf("1~100사이의 값을 입력하십시오. \n"); printf("당신의 영어 점수를 입력하십시오.(1~100): "); i = scanf("%d",&eng); } else{j = 0;}} printf("당신의 수학 점수를 입력하십시오(0~100): "); fflush(stdin); i = scanf("%d",&mat); j = 1; while(j == 1){ if( i == 0){ printf("문자를 입력하지 말아 주십시오. \n"); printf("당신의 수학 점수를 입력하십시오(0~100): "); fflush(stdin); i = scanf("%d",&mat); } else if ( mat < 0 || mat > 100) { printf("1~100사이의 값을 입력하십시오. \n"); printf("당신의 수학 점수를 입력하십시오.(1~100): "); i = scanf("%d",&mat); } else { j = 0;}} tot = kor + eng + mat; ave = tot / 3; if ( ave >= 80){ printf("합격입니다. \n");} else { printf("불합격입니다. \n");}} return 0; }
3.3. 최필립 ¶
- 3월 24일 6피에서 함
- 창이 사라져서 용준동기의 도움으로 windows.h 와 pause 추가함
- 현재 시도한 횟수는 그냥 머리아파서 넣어봄
#include <stdio.h> #include <Windows.h> int main(void) { int kor=0,eng=0,tot=0,mat=0,ave=0,i=0; while(i<5) { printf("국어성적을 입력하세요. ex 90점->90\n"); scanf("%d",&kor); printf("영어성적을 입력하세요. ex 44점->44\n"); scanf("%d",&eng); printf("수학성적을 입력하세요. ex 33점->33\n"); scanf("%d",&mat); tot=kor+eng+mat; ave=tot/3; printf("평균점수:%d\n",ave); printf("총점수:%d\n",tot); i++; if(ave>=80) { printf("합격입니다.\n"); } else { printf("불합격입니다.\n"); } printf("현재 시도한 횟수 %d/5 \n\n\n\n\n\n\n\n",i); } system("pause > NULL"); return 0; }
무한반복
*원래 i를 선언할 필요가 없지만 현재 시도한 횟수 넣으려고 내비뒀음
*무한반복이므로 windows.h 삭제
*if(kor=0,eng=0,mat=0) break; 하다가 두시간 날림.... ==이었음
*무한반복이므로 windows.h 삭제
*if(kor=0,eng=0,mat=0) break; 하다가 두시간 날림.... ==이었음
#include <stdio.h> int main(void) { int kor=0,eng=0,tot=0,mat=0,ave=0,i=0; while(1) { printf("국어성적을 입력하세요. ex 90점->90\n"); scanf("%d",&kor); printf("영어성적을 입력하세요. ex 44점->44\n"); scanf("%d",&eng); printf("수학성적을 입력하세요. ex 33점->33\n"); scanf("%d",&mat); tot=kor+eng+mat; ave=tot/3; if(kor==0,eng==0,mat==0) break; printf("평균점수:%d\n",ave); printf("총점수:%d\n",tot); i++; if(ave>=80) { printf("합격입니다.\n"); } else { printf("불합격입니다.\n"); } printf("현재 시도한 횟수 %d\n\n",i); } return 0; }
- 함수에 대해서 가르쳐 줄 때 얘기하겠지만 main 함수를 int형 반환으로 선언했다면 return 값이 있는 게 올바른 형태입니다. - 원준연
- 넵 고쳤습니다.
- 넵 고쳤습니다.
3.4. 홍성현 ¶
2014/3/23(일) 11:04 am
-문자 입력시 터지는 현상(해결불가)ㅠ, 0~100 이외의 숫자 넣을 경우(해결) 고려해서 막을 방법을 재고려하겠습니다. -
-문자 입력시 터지는 현상(해결불가)ㅠ, 0~100 이외의 숫자 넣을 경우(해결) 고려해서 막을 방법을 재고려하겠습니다. -
5회반복
#include <stdio.h>
int main()
{
int main()
{
int kor=0,eng=0,mat=0,ave=0,i=0;
for(i=0;i<5;i++)
{
printf("국어 성적 입력 :");
scanf("%d",&kor);
}
else
{
printf("영어 성적 입력 :");
scanf("%d",&eng);
}
else
{
printf("수학 성적 입력 :");
scanf("%d",&mat);
}
else
{
ave=(kor+eng+mat)/3;
printf("평균 :%d\n",ave);
if(kor==0,eng==0,mat==0)
{break ;
}
if(ave>=80)
{printf("합격\n");
}
else
{
}
return 0 ;
}for(i=0;i<5;i++)
{
printf("국어 성적 입력 :");
scanf("%d",&kor);
if(kor>=0,kor<=100)
{printf("국어 성적 :%d\n",kor);}
else
{
printf("ㅗ\n");
break ;
}break ;
printf("영어 성적 입력 :");
scanf("%d",&eng);
if(eng>=0,eng<=100)
{printf("영어 성적 :%d\n",eng);}
else
{
printf("ㅗ\n");
break;
}break;
printf("수학 성적 입력 :");
scanf("%d",&mat);
if(mat>=0,mat<=100)
{printf("수학 성적 :%d\n",mat);}
else
{
printf("ㅗ\n");
break;
}break;
ave=(kor+eng+mat)/3;
printf("평균 :%d\n",ave);
if(kor==0,eng==0,mat==0)
{break ;
}
if(ave>=80)
{printf("합격\n");
}
else
{
printf("불합격\n");
}}
return 0 ;
ㅁ...무한반복 ㅈ..절대 귀찮아서 이렇게 한거 ㅇ..아니...ㄹ거에요
무한반복
#include <stdio.h>
int main()
{
#include <stdio.h>
int main()
{
int kor=0,eng=0,mat=0,ave=0,i=0;
for(i=0;i<5;i==0)
{
printf("국어 성적 입력 :");
scanf("%d",&kor);
}
else
{
printf("영어 성적 입력 :");
scanf("%d",&eng);
}
else
{
printf("수학 성적 입력 :");
scanf("%d",&mat);
}
else
{
ave=(kor+eng+mat)/3;
printf("평균 :%d\n",ave);
if(kor==0,eng==0,mat==0)
{break ;
}
if(ave>=80)
{printf("합격\n");
}
else
{
}
return 0 ;
}for(i=0;i<5;i==0)
{
printf("국어 성적 입력 :");
scanf("%d",&kor);
if(kor>=0,kor<=100)
{printf("국어 성적 :%d\n",kor);}
else
{
printf("ㅗ\n");
break ;
}break ;
printf("영어 성적 입력 :");
scanf("%d",&eng);
if(eng>=0,eng<=100)
{printf("영어 성적 :%d\n",eng);}
else
{
printf("ㅗ\n");
break;
}break;
printf("수학 성적 입력 :");
scanf("%d",&mat);
if(mat>=0,mat<=100)
{printf("수학 성적 :%d\n",mat);}
else
{
printf("ㅗ\n");
break;
}break;
ave=(kor+eng+mat)/3;
printf("평균 :%d\n",ave);
if(kor==0,eng==0,mat==0)
{break ;
}
if(ave>=80)
{printf("합격\n");
}
else
{
printf("불합격\n");
}}
return 0 ;
- 조건확인이 동시에 일어난다면 if를 여러 번 쓰지 말고 else if로 하는게 더 좋습니다. 그리고 무한반복 틀렸습니다. - 원준연
ㄴ 넹