U E D R , A S I H C RSS

Our Major Lang IsCAndCPlus Plus/print

printf와 유사한 print 함수 만들기
----
이름 소스 코딩 시간
이상규 OurMajorLangIsCAndCPlusPlus/print/이상규 2시간
이도현 OurMajorLangIsCAndCPlusPlus/print/이도현 3시간 30분
하기웅 OurMajorLangIsCAndCPlusPlus/print/하기웅 2시간 30분
조현태 OurMajorLangIsCAndCPlusPlus/print/조현태 ?
허준수 OurMajorLangIsCAndCPlusPlus/print/허준수 3시간
김민경 OurMajorLangIsCAndCPlusPlus/print/김민경 진행중
김상섭 OurMajorLangIsCAndCPlusPlus/print/김상섭 2시간(열라 물어보면서..ㅡㅜ)
----
함수 원형
~cpp
void print(const char *, ...);
printf, scanf 계열의 함수 사용 금지
C++ 라이브러리 사용 금지
출력은 fputchar, fputs 등 사용

요구사항 1

printf와 같이 %d, %s, %f를 통해 정수(int), 문자열(char*), 실수(double)를 출력할 수 있다.


~cpp
int a = 10;
char *b = "example";
double c = 10.5
print("number: %d, string: %s, real number: %f\n", a, b, c);
결과
~cpp
number: 10, string: example, real number: 10.5

요구사항 2

@d(정수 배열), @s(문자열 배열), @f(실수 배열)를 통해 배열을 출력할 수 있다.
배열의 경우 배열 포인터와 배열의 길이를 전달인자로 넘긴다.
배열 출력 형식은 { 원소1, 원소2, ... }


~cpp
int a[3] = { 1, 2, 3 };
char *b[2] = { "abc", "def" };
print("array: @d\n", a, 3);
print("array: @s\n", b, 2);
결과
~cpp
array: { 1, 2, 3 }
array: {abc, def }

요구사항 3

%3d와 같은 정렬 기능을 제공한다.
항상 우측정렬, 길이가 넘어가면 그대로 출력


~cpp
int a = 123;
int b = 12345;
int c = 12345678;
print("number: %5d\n", a);
print("number: %5d\n", b);
print("number: %5d\n", c);
결과
~cpp
number: __123
number: 12345
number: 12345678
('_'는 공백을 의미 실재로는 출력 안됨)
----
OurMajorLangIsCAndCPlusPlus
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:57
Processing time 0.0170 sec