(입력 88/69/85/77) 아무개 언어 ****************** 수리 ************** 외국어 ***************** 탐구 **************** 평균 ****************
#include <stdio.h> #define GRAPH 5 // 이 숫자당 별 1개로 그래프 그림. #define NUM 3 // 이 숫자만큼 학생수를 입력받음. void draw(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, j; for (i = 0; i < NUM; i++){ printf("%d번째 학생입니다. \n", i + 1); printf("이름을 입력해 주세요 : "); gets(stu[i]); while (1){ printf("국어 점수를 입력해 주세요. : "); j = scanf("%d", &kor[i]); if (j == 0 || kor[i] < 0 || kor[i] > 100) { printf("잘못된 입력입니다 \n"); printf("다시 입력해 주세요. \n"); fflush(stdin); } else break; } while (1) { printf("수학 점수를 입력해 주세요. : "); j = scanf("%d", &math[i]); if (j == 0 || math[i] < 0 || math[i] > 100){ printf("잘못된 입력입니다. \n"); printf("다시 입력해 주세요. \n"); fflush(stdin); } else break; } while (1) { printf("영어 점수를 입력해 주세요. : "); j = scanf("%d", &eng[i]); if (j == 0 || eng[i] < 0 | eng[i] > 100){ printf("잘못된 입력입니다. \n"); printf("다시 입력해 주세요. \n"); fflush(stdin); } else break; } while (1) { printf("탐구 점수를 입력해 주세요. : "); j = scanf("%d", &rea[i]); if (j == 0 || rea[i] < 0 || rea[i] > 100){ printf("잘못된 입력입니다. \n"); printf("다시 입력해 주세요. \n"); fflush(stdin); } else break; } 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(kor[i], math[i], eng[i], rea[i], ave[i]); printf("\n"); } return 0; } void draw(int kor, int math, int eng, int rea, int ave){ int x, y = 100 / GRAPH, kg, mg, eg, rg, ag; kg = (kor + 4) / GRAPH, mg = (math + 4) / GRAPH, eg = (eng + 4) / GRAPH; rg = (rea + 4) / GRAPH, ag = (ave + 4) / GRAPH; //올림 하기 위해 +4 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); }
#include <stdio.h> void graph(int x,int y,int z); int main() { int kor[3]={0,},eng[3]={0,},mat[3]={0,},i=0,count; while(i<3) { printf("%d째 학생의 국어성적을 입력해주세요. : ",i+1); scanf("%d",&kor[i]); printf("%d째 학생의 영어성적을 입력해주세요. : ",i+1); scanf("%d",&eng[i]); printf("%d째 학생의 수학성적을 입력해주세요. : ",i+1); scanf("%d",&mat[i]); i++; printf("\n"); } for(count=0;count<3;count++) { printf("그래프\n"); graph(kor[count],eng[count],mat[count]); printf("\n\n"); } return 0; } void graph(int x,int y,int z) { int a,b,c,exa,exb,exc; a=x/5; b=y/5; c=z/5; exa=x; exb=y; exc=z; printf("국어 : "); while(a!=0) { printf("*"); a--; } if(exa%5==0) printf("\n"); else printf("*\n"); printf("영어 : "); while(b!=0) { printf("*"); b--; } if(exb%5==0) printf("\n"); else printf("*\n"); printf("수학 : "); while(c!=0) { printf("*"); c--; } if(exc%5==0)printf("\n"); else printf("*\n"); }
원래 아이디어는 찔끔찔끔 써줘야 제맛 별 그리는거 if문으로 일일이 때려박기는 어려울터이니 a=a-5 이런식으로 해서 a<0이 되기 전까지 반복문으로 삥삥 돌리구 세로 그래프 출력하려면 자릿수 맞춰서 때려박아봐야징! 함수 이해를 제대로 못했어요.. -_.. #include <stdio.h> int main() { int a,i=0,kor,mat,eng,tam,av; char st[10],c_kor[20]={0,},c_mat[20]={0,},c_eng[20]={0,},c_tam[20]={0,},c_av[20]={0,}; for(a=3;a>0;a--){ printf("이름을 입력하세요\n"); scanf("%s",st); printf("국어 성적을 입력하세요\n"); scanf_s("%d",&kor); printf("수학 성적을 입력하세요\n"); scanf_s("%d",&mat); printf("외국어 성적을 입력하세요\n"); scanf_s("%d",&eng); printf("탐구 성적을 입력하세요\n"); scanf_s("%d",&tam); av=(kor+mat+eng+tam)/4; printf("%s",st); printf("\n국어"); for(kor;kor>0;kor=kor-5) {c_kor[i]='*'; printf("%c",c_kor[i]); i++;} i=0; printf("\n수학"); for(mat;mat>0;mat=mat-5) {c_mat[i]='*'; printf("%c",c_mat[i]); i++;} i=0; printf("\n외국어"); for(eng;eng>0;eng=eng-5) {c_eng[i]='*'; printf("%c",c_eng[i]); i++;} i=0; printf("\n탐구"); for(tam;tam>0;tam=tam-5) {c_tam[i]='*'; printf("%c",c_tam[i]); i++;} i=0; printf("\n평균"); for(av;av>0;av=av-5) {c_av[i]='*'; printf("%c",c_av[i]); i++;} i=0; printf("\n"); } return 0; } 함수는 일단은 포기! 기프 실습시간에 npc에게 함수를 물어서 재창조 #include <stdio.h> void graph(int a,char c_kor[20]){ int i=0; for(i;i<(a+4)/5;i++){ c_kor[i]='*'; printf("%c",c_kor[i]); } return ; } int main() { int i,kor,mat,eng,tam,av; char st[10],c_kor[20]={0,},c_mat[20]={0,},c_eng[20]={0,},c_tam[20]={0,},c_av[20]={0,}; for(i=0;i<3;i++){ printf("이름을 입력하세요\n"); scanf("%s",st); printf("국어,수학,외국어,탐구 성적을 입력하세요. ex>50,40,30,20\n"); scanf("%d,%d,%d,%d", &kor, &mat, &eng, &tam); printf(" 국어"); graph(kor,c_kor); printf("\n 수학"); graph(mat,c_mat); printf("\n외국어"); graph(eng,c_eng); printf("\n 탐구"); graph(tam,c_tam); printf("\n 평균"); av=(kor+mat+eng+tam)/4; graph(av,c_av); printf("\n"); } return 0; }