Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

새싹교실/2014/배반/1주차: Difference between revisions

From ZeroWiki
imported>lim0757
No edit summary
imported>lim0757
No edit summary
Line 46: Line 46:
  printf("1~100사이의 값을 입력하십시오. \n");
  printf("1~100사이의 값을 입력하십시오. \n");
  printf("당신의 국어 점수를 입력하십시오.(1~100): ");
  printf("당신의 국어 점수를 입력하십시오.(1~100): ");
fflush(stdin);
  i = scanf("%d",&kor); }}
  i = scanf("%d",&kor); }}
  printf("당신의 영어 점수를 입력하십시오(0~100): ");
  printf("당신의 영어 점수를 입력하십시오(0~100): ");
fflush(stdin);
  i = scanf("%d",&eng);
  i = scanf("%d",&eng);
  while(eng < 0 || eng > 100){
  while(eng < 0 || eng > 100){
Line 60: Line 58:
  printf("1~100사이의 값을 입력하십시오. \n");
  printf("1~100사이의 값을 입력하십시오. \n");
  printf("당신의 영어 점수를 입력하십시오.(1~100): ");
  printf("당신의 영어 점수를 입력하십시오.(1~100): ");
fflush(stdin);
  i = scanf("%d",&eng); }}
  i = scanf("%d",&eng); }}
  printf("당신의 수학 점수를 입력하십시오(0~100): ");
  printf("당신의 수학 점수를 입력하십시오(0~100): ");
fflush(stdin);
  i = scanf("%d",&mat);
  i = scanf("%d",&mat);
  while(mat < 0 || mat > 100){
  while(mat < 0 || mat > 100){
Line 74: Line 70:
  printf("1~100사이의 값을 입력하십시오. \n");
  printf("1~100사이의 값을 입력하십시오. \n");
  printf("당신의 수학 점수를 입력하십시오.(1~100): ");
  printf("당신의 수학 점수를 입력하십시오.(1~100): ");
fflush(stdin);
  i = scanf("%d",&mat); }}
  i = scanf("%d",&mat); }}
   
   
Line 108: Line 103:
  printf("1~100사이의 값을 입력하십시오. \n");
  printf("1~100사이의 값을 입력하십시오. \n");
  printf("당신의 국어 점수를 입력하십시오.(1~100): ");
  printf("당신의 국어 점수를 입력하십시오.(1~100): ");
fflush(stdin);
  i = scanf("%d",&kor); }}
  i = scanf("%d",&kor); }}
  printf("당신의 영어 점수를 입력하십시오(0~100): ");
  printf("당신의 영어 점수를 입력하십시오(0~100): ");
fflush(stdin);
  i = scanf("%d",&eng);
  i = scanf("%d",&eng);
  while(eng < 0 || eng > 100){
  while(eng < 0 || eng > 100){
Line 122: Line 115:
  printf("1~100사이의 값을 입력하십시오. \n");
  printf("1~100사이의 값을 입력하십시오. \n");
  printf("당신의 영어 점수를 입력하십시오.(1~100): ");
  printf("당신의 영어 점수를 입력하십시오.(1~100): ");
fflush(stdin);
  i = scanf("%d",&eng); }}
  i = scanf("%d",&eng); }}
  printf("당신의 수학 점수를 입력하십시오(0~100): ");
  printf("당신의 수학 점수를 입력하십시오(0~100): ");
fflush(stdin);
  i = scanf("%d",&mat);
  i = scanf("%d",&mat);
  while(mat < 0 || mat > 100){
  while(mat < 0 || mat > 100){
Line 136: Line 127:
  printf("1~100사이의 값을 입력하십시오. \n");
  printf("1~100사이의 값을 입력하십시오. \n");
  printf("당신의 수학 점수를 입력하십시오.(1~100): ");
  printf("당신의 수학 점수를 입력하십시오.(1~100): ");
fflush(stdin);
  i = scanf("%d",&mat); }}
  i = scanf("%d",&mat); }}
  tot = kor + eng + mat;
  tot = kor + eng + mat;

Revision as of 04:48, 24 March 2014

개요

내용

  • #include 와 #define
  • printf 와 scanf
  • 조건문과 반복문
  • 자료형
  • --goto는 해로운 goto다--

과제

=== 내용 ===
    • 국,영,수를 받아서 합과 평균을 구하고, 평균이 80점 이상이면 합격, 미만이면 불합격을 출력하는 코드를 작성.
    • 반복문을 통해 5회 반복하는 프로그램과 무한반복하는 프로그램을 작성.
    • 결과물은 이 아래 자신의 항목을 만들어서 업로드.
=== 임기찬 ===
  • 문자 사용시 오류 방지를 위해 --어쩔수없이ㅠㅠ 네이버의 도움을 받아-- 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;

	for(j = 0;j<5;j++) {
	printf("당신의 국어 점수를 입력하십시오.(0~100): ");
	fflush(stdin);
	i = scanf("%d",&kor);
	while(kor < 0 || kor > 100){
		if( i == 0){
			printf("문자를 입력하지 말아 주십시오. \n");
			printf("당신의 국어 점수를 입력하십시오(0~100): ");
			fflush(stdin);
			i = scanf("%d",&kor); }
		else{
			printf("1~100사이의 값을 입력하십시오. \n");
			printf("당신의 국어 점수를 입력하십시오.(1~100): ");
			i = scanf("%d",&kor); }}
	printf("당신의 영어 점수를 입력하십시오(0~100): ");
	i = scanf("%d",&eng);
	while(eng < 0 || eng > 100){
		if( i == 0){
			printf("문자를 입력하지 말아 주십시오. \n");
			printf("당신의 영어 점수를 입력하십시오(0~100): ");
			fflush(stdin);
			i = scanf("%d",&eng); }
		else{
			printf("1~100사이의 값을 입력하십시오. \n");
			printf("당신의 영어 점수를 입력하십시오.(1~100): ");
			i = scanf("%d",&eng); }}
	printf("당신의 수학 점수를 입력하십시오(0~100): ");
	i = scanf("%d",&mat);
	while(mat < 0 || mat > 100){
		if( i == 0){
			printf("문자를 입력하지 말아 주십시오. \n");
			printf("당신의 수학 점수를 입력하십시오(0~100): ");
			fflush(stdin);
			i = scanf("%d",&mat); }
		else{
			printf("1~100사이의 값을 입력하십시오. \n");
			printf("당신의 수학 점수를 입력하십시오.(1~100): ");
			i = scanf("%d",&mat); }}

	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;

	while( tot > 0 ) {
	printf("당신의 국어 점수를 입력하십시오.(0~100): ");
	fflush(stdin);
	i = scanf("%d",&kor);
	while(kor < 0 || kor > 100){
		if( i == 0){
			printf("문자를 입력하지 말아 주십시오. \n");
			printf("당신의 국어 점수를 입력하십시오(0~100): ");
			fflush(stdin);
			i = scanf("%d",&kor); }
		else{
			printf("1~100사이의 값을 입력하십시오. \n");
			printf("당신의 국어 점수를 입력하십시오.(1~100): ");
			i = scanf("%d",&kor); }}
	printf("당신의 영어 점수를 입력하십시오(0~100): ");
	i = scanf("%d",&eng);
	while(eng < 0 || eng > 100){
		if( i == 0){
			printf("문자를 입력하지 말아 주십시오. \n");
			printf("당신의 영어 점수를 입력하십시오(0~100): ");
			fflush(stdin);
			i = scanf("%d",&eng); }
		else{
			printf("1~100사이의 값을 입력하십시오. \n");
			printf("당신의 영어 점수를 입력하십시오.(1~100): ");
			i = scanf("%d",&eng); }}
	printf("당신의 수학 점수를 입력하십시오(0~100): ");
	i = scanf("%d",&mat);
	while(mat < 0 || mat > 100){
		if( i == 0){
			printf("문자를 입력하지 말아 주십시오. \n");
			printf("당신의 수학 점수를 입력하십시오(0~100): ");
			fflush(stdin);
			i = scanf("%d",&mat); }
		else{
			printf("1~100사이의 값을 입력하십시오. \n");
			printf("당신의 수학 점수를 입력하십시오.(1~100): ");
			i = scanf("%d",&mat); }}
	tot = kor + eng + mat;
	ave = tot / 3;
	if ( ave >= 80){
		printf("합격입니다. \n");}
	else {
		printf("불합격입니다. \n");}}
	return 0;
}
=== 최필립 ===
=== 홍성현 ===

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);
	printf("영어 성적 입력 :");
	scanf("%d",&eng);
	printf("수학 성적 입력 :");
	scanf("%d",&mat);
	ave=(kor+eng+mat)/3;
	printf("평균 :%d\n",ave);
	if(ave>=80)
	{printf("합격\n");
	}
	if(ave<80)
	{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--)
	{
	printf("국어 성적 입력 :");
	scanf("%d",&kor);
	printf("영어 성적 입력 :");
	scanf("%d",&eng);
	printf("수학 성적 입력 :");
	scanf("%d",&mat);
	ave=(kor+eng+mat)/3;
	printf("평균 :%d\n",ave);
	if(ave>=80)
	{printf("합격\n");
	}
	if(ave<80)
	{printf("불합격\n");
	}

	}
	
	

	return 0 ;
}
  • 조건확인이 동시에 일어난다면 if를 여러 번 쓰지 말고 else if로 하는게 더 좋습니다. 그리고 무한반복 틀렸습니다. - 원준연

코드 올리는 법

#include <stdio.h>

int main(void){
printf("위키소스코드를 보고 써먹으세요.\n");
return 0;
}

새싹교실/2014/배반