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

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

From ZeroWiki
imported>tjdgus3537
No edit summary
imported>asd123
No edit summary
Line 32: Line 32:


=== 임기찬 ===
=== 임기찬 ===
  Write your source code here
   
#include <stdio.h>
#define GRAPH 5 // 이 숫자당 별 1개로 그래프 그림.
#define NUM 3 // 이 숫자만큼 학생수를 입력받음.
void draw(int i,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(i,kor[i],math[i],eng[i], rea[i],ave[i]);
printf("\n");
}
return 0;
}
void draw(int i,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);
}


=== 최필립 ===
=== 최필립 ===

Revision as of 16:26, 14 April 2014

개요

참가자 : 원준연, 임기찬, 최필립, 홍성현
일시 : 14/04/10 15:00~16:15 --뭐가 이리 짧아--

내용

  • 함수
    • 함수의 개념
    • 사용하는 이유
    • 선언하는 법
    • 주의사항
  • 실습

과제

  • --사골국물처럼 우려낸-- 성적 통계 프로그램.
    • 입력받은 세 명의 학생들의 성적을 가로 그래프로 보여주는 프로그램.(세로 그래프로 구현한다면 중간고사 끝나는 날 밥을 사겠다!)
    • 과목은 언, 수, 외, 탐. 그리고 평균에 대한 그래프도 보여줄 것.
    • 100점 만점.
    • 5점당 * 한 개로, 100점이면 20개이며 5점당 1개씩 줄어든다.(즉, 5 단위로 올림처리할 것)
  • 그래프를 그리는 과정은 반드시 함수로 추상화해 줄 것. 그 외에는 편한대로 함수로 해도 되고 안해도 됨.
  • 되도록이면 배열도 써먹었으면 좋겠음.
  • 출력예시
(입력 88/69/85/77)
아무개
언어	******************
수리	**************
외국어	*****************
탐구	****************
평균	****************

임기찬

#include <stdio.h>
#define GRAPH 5 // 이 숫자당 별 1개로 그래프 그림.
#define NUM 3	// 이 숫자만큼 학생수를 입력받음.

void draw(int i,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(i,kor[i],math[i],eng[i], rea[i],ave[i]);
		printf("\n");
	}
	return 0;
}


void draw(int i,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);
}

최필립

Write your source code here

홍성현

원래 아이디어는 찔끔찔끔 써줘야 제맛
별 그리는거 if문으로 일일이 때려박기는 어려울터이니
a=a-5 이런식으로 해서 a<0이 되기 전까지 반복문으로 삥삥 돌리구
세로 그래프 출력하려면 자릿수 맞춰서 때려박아봐야징!

새싹교실/2014, 새싹교실/2014/배반