연재 완료/C++ Lang 예제코드 모음

C++ ESPRESSO 1-1. 기초 사항 / LAB

라이피 (Lypi) 2018. 8. 1. 15:30
반응형
//basic, expert
#define expert

#ifdef basic

//화씨 온도를 섭씨 온도로 변환하는 프로그램.

//헤더파일 추가 및 네임스페이스 설정
#include <iostream>
//using namespace std;
using std::cout;
using std::endl;
using std::cin;

int main()
{
	//변수 선언 및 초기화
	//int f_temp = 60;
	//int c_temp;
	double f_temp;
	double c_temp;
	
	cout << "화씨 온도를 입력하세요 : "; cin >> f_temp;

	//계산 결과를 c_temp에 대입
	//c_temp = 5 / 9 * (f_temp - 32);
	c_temp = 5 / 9.0 * (f_temp - 32); // or  c_temp = 5 / (double)9 * (f_temp - 32); 

	//문자열 출력
	//cout << "섭씨 온도는 " << c_temp << "입니다." << endl;
	cout << "섭씨 온도는 " << c_temp << "입니다.\n";

	return 0;
}

#endif

// 1. 실행 결과 : "섭씨 온도는 0입니다."
//    빌드 단축키 : 없음, 디버그 단축키 : F5, 한 단계씩 실행 : F11, 프로시저 단위로 실행 : F10
// 2. 주석 달기
// 3. endl 대신에 "\n"써보기
// 4. using문장 삭제시 :  "C2065 : 선언되지 않은 식별자입니다." 
//    개인적으로 전체 네임스페이스를 사용하는 것보다는 필요한 객체의 네임스페이스만 사용하는걸 선호.
// 5. c_temp의 값이 0으로 나오는 이유 : 나누기 연산자는 피연산자가 모두 정수이면 몫만 정수값으로 반환하기 때문.
// 6. 디버그하며 조사식 확인하기. 
// 7. 프로그램 수정하기 : 둘 중 하나만 실수형태로 바꿔도 결과값을 실수값으로 반환함. 
// 8. 화씨 온도를 사용자에게 입력받기.
// 9. 화씨 온도와 섭씨 온도를 실수로 처리하기.
// 10. 섭씨 온도를 화씨 온도로 변환하는 프로그램 만들기.

#ifdef expert

#include <iostream>
using std::cout;
using std::endl;
using std::cin;

double f_c(double f_temp) {
	double c_temp = 5 / 9.0 * (f_temp - 32);
	return c_temp;
}

double c_f(double c_temp) {
	double f_temp = 9 / 5.0 * c_temp + 32;
	return f_temp;
}

int main()
{
	while (true) {
		int sw;
		cout << "메뉴" << endl;
		cout << "1. 화씨 -> 섭씨" << endl;
		cout << "2. 섭씨 -> 화씨" << endl;
		cout << "그외. 종료" << endl;
		cin >> sw;


		double degree;
		switch (sw) {
			case 1: {
				cout << "화씨 온도 입력 : "; cin >> degree;
				cout << "화씨 " << degree << "는 섭씨 " << f_c(degree) << "입니다" << endl;
				break;
			}

			case 2: {
				cout << "섭씨 온도 입력 : "; cin >> degree;
				cout << "섭씨 " << degree << "는 화씨 " << c_f(degree) << "입니다" << endl;
				break;
			}

			default: {
				return 0;
			}
		}
	}
}

#endif


반응형