💻 개인공부 💻/C | C++

💻 개인공부 💻/C | C++

[ C언어 ] 다음 변환 지정자에 해당하는 'scanf_s' 에 대한 정수 인수가 없습니다

문제 상황 C언어로 코딩하다가 다음과 같은 어려움에 봉착했다. 해결방법 scanf_s에서 %s를 사용하려면 입력받을 변수의 메모리 크기를 지정해주어야 한다. ex) scanf_s("%s", words, 30); 결과 해결 완료!

💻 개인공부 💻/C | C++

[C++] strcmp 함수를 이용한 문자열 비교 예제

문제 무한루프{ 비밀번호를 두 번 입력받는다. 입력한 두개의 비밀번호가 같으면 OK 메세지를 화면에 보여주고 루프를 빠져나온다(jump 문 사용). 입력한 두개의 비밀번호가 다르면 오류 메세지를 화면에 보여주고 다시 비밀번호를 입력 받는다. 세번까지 반복해도 비밀번호가 다르면 루프를 빠져나온다(jump 문 사용). } #include #include using namespace std; int main() { int i = 0; char password1[10]; char password2[10]; while (1) { cin >> password1 >> password2; if (strcmp(password1, password2) == 0) { cout

💻 개인공부 💻/C | C++

[C++] C++에서의 데이터타입, signed와 unsigned

데이터 타입 ▶ C++에서의 데이터타입은 아래 표와 같다. ▶ 코딩을 이용하여 크기를 알아보자. 소스코드는 아래와 같다. #include using namespace std; int main() { unsigned short _short; int _int; long _long; char _char; float _float; double _double; long double _longDouble; bool _bool; cout

💻 개인공부 💻/C | C++

[C++] 함수와 참조 (feat. &, 별명)

출처 => C++ How to Program (Detitel / Prenticehall) / 현재 그리고 미래지향적인 C++ 프로그래밍(장석우, 임정목 / 비앤씨에듀케이션) 함수의 인자 전달 방식 ▶ 프로그래밍에서 함수를 사용할 때 변수, 즉 인자는 거의 필수 불가결하게 사용이 된다. 인자, 혹은 이 매개변수는 어떤 식으로 불러와서 사용이 되는걸까? 2가지의 방법이 있는데 값에 의한 호출과 주소에 의한 호출로 나뉘어진다. 값에 의한 호출로 객체 전달 ▶ 순서는 다음과 같다. 1. 함수를 호출하는 쪽에서 객체를 전달한다. 2. 함수의 매개 변수 객체 생성, 매개 변수 객체의 생성자는 호출되지 않는다. 3. 함수 종료, 매개 변수 객체의 소멸자를 호출한다. ▶ 값에 의한 호출 시, 매개 변수 객체의 생성자는..

💻 개인공부 💻/C | C++

[C++] string 클래스 (feat. copy, getline, substr, find, replace)

출처 => C++ How to Program (Detitel / Prenticehall) / 현재 그리고 미래지향적인 C++ 프로그래밍(장석우, 임정목 / 비앤씨에듀케이션) string 클래스 ▶ C++에서 변수를 선언할 때 'c'는 char형으로, "string"은 string형을 자료형을 선언하여 준다. 여기서 "string"과 같은 자료형이 string인 변수들은 string클래스의 객체이다. ▶ 그렇다면 string클래스란 과연 무엇인가? #include using namespace std; ▶ string 클래스는 헤더 파일에 선언을 하여 사용한다. ▶ 다양한 문자열 연산을 실행하는 연산자와 멤버 함수를 포함한다. ▶ 문자열, 스트링, 문자열 객체, string 객체 등으로 혼용이 된다. ▶ 문..

💻 개인공부 💻/C | C++

[C++] 예외 처리 (Exception)

출처 => C++ How to Program (Detitel / Prenticehall) / 현재 그리고 미래지향적인 C++ 프로그래밍(장석우, 임정목 / 비앤씨에듀케이션) 예외란 무엇인가? ▶ 프로그램을 실행 중, 오작동이나 결과에 영향을 미치는 예상치 못한 상황이 발생한다. 이런 사오항을 예외 발생이라고 하는데 이를 처리하는 코드를 예외 처리기라고 한다. ▶ 예를 들면 다음과 같은 상황이다. #include using namespace std; int getExp(int base, int exp) { int value = 1; for (int n = 0; n < exp; n++) { value = value * base; //거듭제곱. base를 exp번 곱한 값이 value } return valu..

💻 개인공부 💻/C | C++

[C++] 조작자를 이용한 구조체 객체들의 정보 출력 프로그램(feat. struct, setw(), switch)

1. 문제 2. 요구사항 1. Namecard의 구조체 작성(이름, 주소, 연락처) 2. 입력할 인원을 입력할 수 있어야 함 3. 입력한 인원들의 정보를 정렬해야 함 4. 이를 출력 5. 위의 요구사항들 + 종료를 실행할 수 있는 메뉴가 있어야 함 프로그램 설계도 소스 코드 #include//C++ #include//정렬을 위한 sort함수 헤더함수 #include//조작자 setw()을 사용하기 위한 헤더함수 using namespace std; struct namecard {//namecard객체 char name[30];//namecard의 이름 char address[30];//namecard의 주소 char tel[20];//namecard의 전화번호 }; int menu; //메뉴를 숫자로 할..

💻 개인공부 💻/C | C++

[C++] 제네릭 함수 (feat. template)

함수 중복의 약점과 제네릭 template //template: 템플릿을 선언하는 키워드 //class: 제네릭 타입을 선언하는 키워드 //T: 제네릭 타입 T 선언 void swap(T& a, T& b) { T tmp; tmp a; a = b; b = tmp; } ▶ 위의 소스 코드를 보자 template //template: 템플릿을 선언하는 키워드 //class: 제네릭 타입을 선언하는 키워드 //T: 제네릭 타입 T 선언 void swap(T& a, T& b) { T tmp; tmp a; a = b; b = tmp; } ▶ 둘다 동일한 코드에다가 동일한 이름이지만, 단순히 매개 변수만 달라(오버로딩) 중복하여 작성하였다. 이는 코드를 작성하는데 낭비가 될 수 있다. ▶ 이를 해결하기 위해 사용하는..

💻 개인공부 💻/C | C++

[C++] 상속(Inheritance) - 2 (feat. 가상 함수와 추상클래스)

출처 => C++ How to Program (Detitel / Prenticehall) / 현재 그리고 미래지향적인 C++ 프로그래밍(장석우, 임정목 / 비앤씨에듀케이션) https://ehclub.co.kr/2135 https://private.tistory.com/25 오버라이딩 ▶ 상속관계에 있는 클래스를 작성하다 보면 다음과 같이 함수가 중복되는 경우를 볼 수 있다. #include using namespace std; class Base { public: void f() { cout

공대생 배기웅
'💻 개인공부 💻/C | C++' 카테고리의 글 목록