A sentimental robot

함수와 포인터를 사용한 1차원배열 본문

C

함수와 포인터를 사용한 1차원배열

GOD03219 2017. 12. 29. 20:05

#include<stdio.h>
#pragma warning(disable:4996)
void input(char *scoName, char*name, int*score);
void oper(int*score, float*avg);
void output(char*scoName, char*name, int*score, float*avg);
void main()
{
 char scoName[6][10] = { "Name", "Kor","Eng","Math","Total","Avg" };
 char name[10] = { 0, };
 int score[4] = { 0 };
 float avg;

 

 input(*scoName, name, score);     // 매개변수1차원 주소로 넘겨주기

 oper(score, &avg);
 output(*scoName, name, score, &avg);

 

}


void input(char *scoName, char*name, int*score)
{
 int i;
 printf("%s input: ", scoName);
 scanf("%s", name);
 
 for (i = 0; i < 3 ; i++)
 {
  printf("%s input: ", scoName+(i+1)*10);
  scanf("%d", score + i);
 }


}


void oper(int*score, float*avg)
{
 int i;
 for (i = 0; i < 3; i++)
      *(score + 3) += *(score + i);
 *avg = *(score + 3) / 3.f;
}


void output(char*scoName, char*name, int*score, float*avg)
{
 int i;
 for (i = 0; i < 6; i++)
 {
  printf("%s\t", scoName);
  scoName += 10;        // 한 행(10byte)씩 옮기기
 }
 puts("");
 printf("%s\t", name);


 for (i = 0; i < 4; i++)
 {
  printf("%d\t", *(score + i));

 }


 printf("%f\n", *avg);


}

 


 


'C ' 카테고리의 다른 글

포인터배열과 더블포인터  (0) 2017.12.29
함수매개변수로 [ ] 사용 해보기  (0) 2017.12.29
Call by address  (0) 2017.12.29
Pointer,2차원배열  (0) 2017.12.29
[ ]대신*만을 이용한 2차원배열  (0) 2017.12.29