C++ Project1

‍우건우·2024년 2월 13일

1.소스 작성
2.컴파일(.obj): 사람이 알아볼 수 있는 형태의 소스파일을 기계어로 변경.
3.링크: 사용자 정의 헤더파일 혹은 시스템 라이브러리 파일을 소스와 연결하여 실행파일을 뽑아냄

C++: C언어에 객체지향 개념을 추가하여 프로젝트에 들어가는 부품(클래스)들을 먼저 제작한 후 부품들을 조립하는 방식으로 프로그램을 작성

특징:

  • 어셈블리(기계어에 가까운 언어)를 사용하여 하드웨어와 직접 통신하므로 빠르다.
  • 멀티패러다임 언어로 객체지향프로그램을 포함한 다양한 스타일의 프로그래밍을 지원하여 유연하다.
  • 다양한 라이브러리 지원을 받을 수 있다

iostream,std를 이용하여 출력

#include<iostream>

int main(void) {
	std::cout << "Game Over!" <<"\nyour score: 20" << std::endl; //end line: 개행
	return 0;
}

std - 네임스페이스(표준 라이브러리들이 모여있는 이름 공간). 프로그래밍 중에 이름이 겹쳐서 에러가 나는 것을 방지하는 수단

using을 이용하여 std 생략

#include<iostream>
using namespace std; //라이브러리에 있는 모든 기능 사용

int main(void) {
	cout << "Game Over!" <<"\nyour score: 20" << endl; //end line: 개행
	return 0;
}
#include<iostream>
using std::cout, std::endl; 

int main(void) {
	cout << "Game Over!" <<"\nyour score: 20" << endl; //end line: 개행
	return 0;
}

변수 정의

#include<iostream>
using namespace std;

int main(void) {
	
	int score = 0;
	double distance = 1200.76;
	char playAgain = 'y';
	bool shieldsUp = true;
	int lives = 3;
	int aliensKilled = 10;
	double engineTemp = 6572.89;

	cout << endl << "score: " << score << endl;
	cout << "distance: " << distance << endl;
	cout << "playAgain: " << playAgain << endl;
	cout << "lives: " << lives << endl;
	cout << "aliensKilled: " << aliensKilled << endl;
	cout << "engineTemp: " << engineTemp << endl;

	int fuel;
	cout << "Input fule: ";
	cin >> fuel;
	cout << "fule: " << fuel << endl;

	typedef unsigned short int unshort;

	unshort bonus = ++lives * 10; //bonus=40, lives=4
	bonus = lives++ * 10; //bonus=40, livse =5
	cout << "\nbonus: " << bonus << endl;
	

	return 0;
}

const,enum을 통한 상수 정의

#include<iostream>
using namespace std;
#define true 1

int main(void) {
	
	int score = 0;
	double distance = 1200.76;
	char playAgain = 'y';
	int shieldsUp = true;
	int lives = 3;
	int aliensKilled = 10;
	double engineTemp = 6572.89;

	cout << endl << "score: " << score << endl;
	cout << "distance: " << distance << endl;
	cout << "playAgain: " << playAgain << endl;
	cout << "lives: " << lives << endl;
	cout << "aliensKilled: " << aliensKilled << endl;
	cout << "engineTemp: " << engineTemp << endl;

	int fuel;
	cout << "Input fule: ";
	cin >> fuel;
	cout << "fule: " << fuel << endl;

	typedef unsigned short int unshort;

	unshort bonus = ++lives * 10; //bonus=40, lives=4
	bonus = lives++ * 10; //bonus=40, livse =5
	cout << "\nbonus: " << bonus << endl;
	
	return 0;
}

switch-case문의 조건식(정수, 문자만 올 수 있음)

#include<iostream>
using namespace std;

int main(void) {

	int difficulty;
	cout << "Difficulty Levels"<< endl;
	cout << "1-Easy" << endl;
	cout << "2-Normal" << endl;
	cout << "3-Hard" << endl;

	cout << "Choice: ";
	cin >> difficulty;
	
	switch (difficulty) {
	case 1:
		cout << "You picked Easy mode." << endl;
		break;
	case 2:
		cout << "You picked Normal mode." << endl;
		break;
	case 3:
		cout << "You picked Hard mode." << endl;
		break;
	default:
		cout << "You replied wrong answer." << endl;
		break;
	}
	return 0;
}

do while, while

#include<iostream>
using namespace std;

int main(void) {
	char again;
	do {
		cout << "**Played an exciting game**";
		cout << endl << "Do you want to play again?(Y/N): ";
		cin >> again;
	} while (again=='y'||again=='Y');
	cout << endl << "Okay bye." << endl;
	return 0;
}

로그인 프로그램

#include<iostream>
using namespace std;

int main(void) {
	
	string username;
	string password;
	bool success;

	cout << "\tGame Designer's Network" << endl;
	do {
		cout << endl << "Username: ";
		cin >> username;

		cout << endl << "Password: ";
		cin >> password;

		if (username == "S.Meier" && password == "civilization") {
			cout << "\nHi, Sid!";
			success = true;
		}
		else if (username == "S.Miyamoto" && password == "mariobros") {
			cout << "\nHi, Shigeru!";
			success = true;
		}
		else if (username == "guest" || password == "guest") {
			cout << "\nWelcome, guest!";
			success = true;
		}
		else {
			cout << "\nYou entered wrong username or password";
			success = false;
		}
	} while (!success);

	return 0;
}

0개의 댓글