일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Java
- 경제
- 재테크
- 주식
- algorithmtraining
- 투자
- 지혜를가진흑곰
- 알고리즘 공부
- algorithmStudy
- 백준알고리즘
- 독서
- C++
- 프로그래밍언어
- 독후감
- 성분
- 알고리즘트레이닝
- 프로그래머스 알고리즘 공부
- 다독
- algorithmTest
- 채권
- 자바스크립트
- 알고리즘공부
- 책알남
- 화장품
- 돈
- 자바
- C
- 책을알려주는남자
- 서평
- JavaScript
- Today
- Total
목록[Snow-ball]프로그래밍(컴퓨터)/C, C++ (24)
탁월함은 어떻게 나오는가?
scanf로 년,월,일을 입력받아 그대로 출력하는 방법을 소개하겠습니다. 2015.8.15을 입력한다면 출력은 2015.08.15로 출력되게 만들었습니다. 출력하기 위해서는 연, 월, 일을 입력받아야 하는데, yyyy.mm.dd형식으로 출력해야 합니다. 그리고 printf(출력)에서는 4자리 정수를 출력하기 위해서는 %04d, 2자리 정수를 출력하기 위해서는 %02d를 입력해야 합니다. 그래야지만 1~9월인 1자리수에서도 0을 붙여 출력이 되기 때문입니다. 인테리어소품 베타존 : 네이버쇼핑 스마트스토어 나를 꾸미다 - 인테리어소품 베타존 smartstore.naver.com
scanf() 함수는 지정한 형식(format)에 따라 입력받는 함수입니다. 그렇기 때문에, 입력받고자 하는 형식을 그대로 표현을 해주면 출력이 가능해집니다. 위에 코드처럼 시간을 그대로 출력하기 위해서는 scanf("%d:%d", &h, &m); 을 입력해준다면 시간표현이 가능해집니다. 인테리어소품 베타존 : 네이버쇼핑 스마트스토어 나를 꾸미다 - 인테리어소품 베타존 smartstore.naver.com
정수형이 아닌 실수형을 받아야는데 소수점이 길어지다보면 적당하게 반올림할 필요가 생깁니다. 그럴때 사용하면 좋은 방법입니다. 밑에의 코드는 실수형(float) 숫자를 1개받아서 소수점 셋째자리에서 반올림하기 위한 코드와 출력입니다. prinf에서 %.2f는 셋째자리에서 반올림 %.3f 넷째자리에서 반올림하게 되는것입니다. 인테리어소품 베타존 : 네이버쇼핑 스마트스토어 나를 꾸미다 - 인테리어소품 베타존 smartstore.naver.com
위와 같이 코드를 작성하면 오류가 발생하게 됩니다. 오류 발생 원인 C6031오류는 함수 scanf의 반환값을 어딘가에 대입하거나 사용하지 않아서 발생하는 경고입니다. 코드상 문제도 없으며, 단순히 버려지는 값이 있음을 알리기 위해서 인텔리센스가 안내하는 내용입니다. 만일 원하는 작업대로 정상 동작시에는 무시해도 무방합니다. 경고 문구 제거 방법 1. 코드안에 [ #pragma warning(disable:4996) 을 넣습니다. 2. 상단의 [프로젝트 > 속성] 을 눌러 속성 창을 엽니다. 속성창으로 들어가서 C/C++를 누르고 SDL검사 > 아니오로 바꿔준 후 적용을 합니다.
위의 특수문자를 출력하기 위해서는 유니코드의 특수문자를 사용해야 합니다. 유니코드표는 밑에사진과 같습니다. 다만 운영체제 또는 컴파일러에 따라서 사용되는 문자의 코드표가 다를수 있습니다. 밑에 코드처럼 입력하시면 오른쪽같은 결과값이 출력하게 됩니다. 인테리어소품 베타존 : 네이버쇼핑 스마트스토어 나를 꾸미다 - 인테리어소품 베타존 smartstore.naver.com
복사 생성자(copy constructor)란 같은 클래스의 객체를 복사하여 객체를 만드는 생성자입니다. 만일 복사 생성자를 명시적으로 선언하지 않으면 컴파일러는 원본 객체의 멤버들을 그대로 복사하여 객체를 정의하는 복사 생성자를 자동으로 만듭니다. 복사 생성자는 파라미터를 자기 클래스 타입의 참조 변수 하나만 가지며, 때문에 하나의 복사 생성자만 존재할 수 있습니다. 복사에는 두 가지 복사가 존재하는데, 1.얕은 복사(swallow copy)와 2.깊은 복사(deep copy)가 있습니다. 두 가지 복사를 나누는 핵심은 메모리의 할당에 있다. 멤버 변수에는 다양한 변수들이 존재하며, primitive type이 있을 수도 있고, 다른 클래스의 객체가 존재 할 수도 있고, 포인터가 존재 할 수도 있습니다..
복사 생성자(copy constructor)란 같은 클래스의 객체를 복사하여 객체를 만드는 생성자입니다. 만일 복사 생성자를 명시적으로 선언하지 않으면 컴파일러는 원본 객체의 멤버들을 그대로 복사하여 객체를 정의하는 복사 생성자를 자동으로 만듭니다. 복사 생성자는 파라미터를 자기 클래스 타입의 참조 변수 하나만 가지며, 때문에 하나의 복사 생성자만 존재할 수 있습니다. 복사에는 두 가지 복사가 존재하는데, 1.얕은 복사(swallow copy)와 2.깊은 복사(deep copy)가 있습니다. 두 가지 복사를 나누는 핵심은 메모리의 할당에 있다. 멤버 변수에는 다양한 변수들이 존재하며, primitive type이 있을 수도 있고, 다른 클래스의 객체가 존재 할 수도 있고, 포인터가 존재 할 수도 있습니다..
C++를 하다보면 여러가지 오류가 발생하게 됩니다. 그 중에서도 자주 볼 수 있는 Eroor C4996 : strcpy와 strcat 오류에 대해서 알아보겠습니다. 작성하다보면 삼각도안의 !가 들어가있는 오류가 발생합니다. 오류 C4996 'strcpy' : This function or variable may be unsafe. Consider using strcpy_s intead. To disable deprecation, us _CRT_SECURE_NO_WARNINGS. See online hele of details. 결국은 이 함수 또는 변수는 안전하지 않을 수 있으니, strcpy_s 사용하거나 오류가 뜨지않을려면_CRT_SECURE_NO_WARNINings를 사용하세요. 정도로 해석이 가능..