개발나라 스용공주

[C++] #002 비주얼스튜디오(Visual Studio 2022)로 간단한 입출력해보기 Simple InputOutput Example with Visual Studio 2022 본문

C++

[C++] #002 비주얼스튜디오(Visual Studio 2022)로 간단한 입출력해보기 Simple InputOutput Example with Visual Studio 2022

스용공주 2023. 2. 17. 01:05
728x90
728x90

오늘은 비주얼스튜디오를 통해 간단한 입출력을 하는 프로그램을 짜보겠습니다.

우선 저는 비주얼스튜디오2022(Visual Studio 2022)을 사용하였습니다.

 

[비주얼스튜디오 2022 다운받기 링크]

https://visualstudio.microsoft.com/ko/downloads/

 

Visual Studio Tools 다운로드 - Windows, Mac, Linux용 무료 설치

Visual Studio IDE 또는 VS Code를 무료로 다운로드하세요. Windows 또는 Mac에서 Visual Studio Professional 또는 Enterprise Edition을 사용해 보세요.

visualstudio.microsoft.com

 

 


[1. 프로젝트 속성 변경하기]

코드 작성 이전 기본적으로 프로젝트에 설정해줄 프로젝트 속성은 아래 글을 참고하여 먼저 설정한 뒤 이 포스팅에 있는 내용을 따라해주셔야 작동되니 아래 글을 참고 부탁드립니다.
https://hwangseoyoung.tistory.com/21

 

[C++] #001 비주얼스튜디오 프로젝트 속성 설정하기 Set Project properties with Visual Studio 2022

오늘은 앞으로 사용할 비주얼스튜디오에서의 프로젝트 속성 값을 변경해주는 작업을 담은 글이다. 이 속성 값을 변경하면 따로 번거롭게 경로를 설정하지 않고도 헤더파일만 명시해주면 프로

hwangseoyoung.tistory.com

 

 

 

[2. Visual Studio 개발 환경 설정하기]

 

먼저 간단한 개발환경을 설정해보겠습니다.

별 특별한 설정은 아니고 지금은 실행하는 프로그램의 규모가 작아 이 설정이 미미한 결과 차이이지만 나중에 프로그램의 규모가 커지면 빌드 프로세스 등의 속도를 향상시키고 충돌을 방지시켜줄 수 있습니다.

 

 

 

먼저 아래 사진과 같이 프로젝트를 생성해준 뒤 우측에 위치한 솔루션 탐색기에서 프로젝트명(사진에서의 'CPP_0212'이 위치한 부분)을 우클릭한 뒤 '추가(D) → 새 폴더(D)'를 눌러 Header파일과 Source파일 총 2개의 파일을 만들어줍니다.

 

그리고 만들어진 폴더를 우클릭하여 '추가(D) → 새 항목(D)'을 눌러 아래 사진과 같이 Header폴더에는 00_oop.h, 01_Test, Stdafx.h라는 이름의 항목들을 생성하고 Source폴더에는 00_oop.cpp, 01_Test.cpp, Stdafx.cpp 각 폴더마다 3씩 항목들을 생성해줍니다. 새 항목 생성에 대한 설명은 밑에 부록 설명을 참고해주시기 바랍니다.

 

 

[부록설명1 - 새 항목 생성하기]

새 항목 생성 시 Header폴더에 만들 것은 헤더파일이므로 아래 사진에서 2번 즉 '헤더 파일(.h)'를 눌러 이름을 설정한 뒤 추가해주고 Source폴더에 만들 것은 소스파일이므로 아래 사진에서 1번 즉 'C++ 파일(.cpp)'를 눌러 이름을 설정한 뒤 추가해준다.

 

 


 

 

[3. 코드 작성하기]

 

아래에 있는 코드 들을 해당 파일들에 따라서 작성해주면 아래 작성된 결과값들이 출력됩니다.

 

작성 전 먼저 파일의 관계도에 대한 설명을 간략하게 드리겠습니다。

각 파일의 관계성은 다음 표와 같습니다。

여기서 01_Test.h의 헤더파일에서 정보 은닉이란 변수에 어떤 것이 있고 내부 함수의 구체적 내용들을 사용자가 알 수 없고 어떤 형태인지만 간략하게 명시되어져 있는 것을 의미합니다.

그리고 빨간색 화살표가 의미하는 것은 가리키고 있는 파일이 가리켜지고 있는 파일을 사용하고 있다는 것을 의미합니다. 우리는 .h 형식으로 끝나는 파일들을 헤더 파일이라고 부르는데 이 헤더 파일에 기능을 만든 뒤 기능을 제공받을 수 도 있습니다. 예시로 C언어에서 출력을 할 때 printf()는 우리가 선언하지 않은 함수지만 출력을 할 때 사용하는 함수입니다. 이것은 어디에 정의되어져있을까요? 우리가 #include <stdio.h>라는 것을 작성해주는 것이 이 이유 때문입니다. printf()가 stdio.h에 선언되어져있는 것이기 때문입니다.

 

이러한 원리와 마찬가지로 우리도 Stdafx.h 헤더파일에 기본적인 코드를 미리 작성해두고 이 헤더를 #include "Stdafx.h"를 사용해 생략해주는 식으로 코드를 짜보겠습니다.

 

 

 

[Stdafx.h]

#pragma once

#include <iostream>
#include <string>

using namespace std;

 

우리는 이제 #include <iostream>과 #include <string>을 생략할 수 있습니다. 그리고 using namespace std; 또한 미리 선언해두어 C++에서의 출력 시 사용되는  cout<<~<<endl;을 좀 더 간략하게 사용할 수 있게 되었습니다.

 

 

[Stdafx.cpp]

#include "Stdafx.h"

 

[00_opp.h]

#pragma once

#include "01_Test.h"

 

[00_opp.cpp]

#include "Stdafx.h"
#include "00_oop.h"

 

[01_Test.h]

#pragma once

void Test();

위 void Test();과 같이 함수의 원형을 명시해줍니다. 여기서 함수 내의 매개변수가 '자료형 매개변수명'일 경우 매개변수명을 생략하고 '자료형'만 작성해줘도 실행 가능합니다.

 

 

[01_Test.cpp]

#include "Stdafx.h"
#include "01_Test.h"

void Test()
{

	{
		cout << "Hello World!\n" << endl;
	}

	{
		int num = 100;
		cout << num << endl;
	}
}
[결과]
Hello World!
 
100

위의 코드와 같이 cout과 endl 사이에는 "(쌍따옴표)로 감싼 문자를 작성하여 출력해줄 수 도 있고 변수에 값을 넣은 뒤 변수명만 작성하여 출력해줄 수도 있습니다.

 

 

 

cpp파일 안에 다른 코드를 작성해보겠습니다.

이 코드는 int형 변수 num에 정수형 값을 키보드로 입력 받은 뒤 입력받은 값을 출력하는 형태입니다.

#include "Stdafx.h"
#include "01_Test.h"

void Test()
{

	{
		int num;

		cin >> num;
		cout << num << endl;
	}

}
[결과]
500
500

(위의 결과에서 첫번째 줄의 500은 내가 입력해준 값이고 두번째 줄의 500은 내가 키보드로 입력한 값을 출력해준 값)

cin은 입력값을 키보드로부터 받는 것이고 cout은 출력값을 출력하는 기능을 하는 것을 볼 수 있습니다.

 

C언어와의 입출력의 차이점이 있다면, C++은 삽입 연산자(<<)와 추출 연산자(>>)로 데이터의 흐름을 더 직관적으로 나타내며 입출력 데이터의 타입을 자동으로 반환하여 더욱 편리하고 안전하다는 장점이 있습니다.

 

728x90
728x90
Comments