C++

C++ 3주차

kimbh 2023. 9. 21. 16:46

실습1

using namespace std;를 이용해서 출력하는법.

#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!\n";
cout << "Hello World!1\n";
}

이 방법이 좋은 방법은 아니다.

실습2

using std::cout;를 이용해서 출력하는 법.

#include <iostream>
using std::cout;
int main()
{
cout << "Hello World!\n";
cout << "Hello World!1\n";

 

}

이 방법을 사용을 많이한다.

 

실습3

연산자의 우선순위와 결합성에 대한 표다.

우선순위에 따라 결합성의 방향이 다르기 때문에 알고있는게 좋다.

 

실습4

sizeof 연산자 예시

#include <stdio.h>
int main(void)
{
int x;
int y[10]; 
printf("%d\n", sizeof("I love you!"));//12
printf("%d\n", sizeof("대한"));// 5(cp949) or 7(utf-8)
printf("%d\n", sizeof(int));// 4
printf("%d\n", sizeof(x));// 4, sizeof x라고 써도 됨
printf("%d\n", sizeof(y));// 40, sizeof y라고 써도 됨
return 0;
}

 

실습5

관계 연산자 (==, !=, =)

int x=3,y=5;
x=1;//x에 숫자 1을 넣는다.
x==1;// x는 1이 참인지 확인한다.
x!=1;//x의 1이 거짓인지 확인하는것.

 

실습6

 

비트 AND, 비트 XOR, 비트 OR이 논리 AND와 논리OR보다 순위가 높은것을 알 수 있다.

실습7

cin >> a; 는 나누기가 되어야하고

cout <<"a="는 곱하기가 되어야 하지만

C++에서 cin과 cout은 우선순위 연산자의 결합성 방향이 해당이 안된다.

 

실습8

c언어에서 제일 많이쓰는 제어문이 위에 사진과 같다.

 

실습9

5개의 프로그래밍 언어들에서 제어문의 공통점을 표로 표시.

 

실습10

if~else문을 이용해서 출력하기.

#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main(void)
{
int score;
cout << "당신의 점수를 입력하고 Enter를 누르세요. ==>";
cin >> score; //점수를 입력받음
if (score < 60) { // if문에서 괄호를 닫고 바로 옆에 {를 하면 줄을 낭비할 필요가 없다.
cout << "60점 미만이므로 재수강해야 합니다.\n";
}
else cout << "60점 이상이므로 Pass입니다.\n";
return 0;
}
 

 

 

실습11

python은 예외적으로 들여쓰기를 사용하는것을 알 수 있다.

실습12

switch문의 case와 break를 이용해서 출력하기.

#define _CRT_SECURE_NO_WARNINGS //Visual Studio에서만 사용
#include <stdio.h>
int main(void)
{
int value;
printf("1~3까지의수를입력하세요:");
scanf("%d", &value);
switch (value) {
case 1:
printf("1을입력하셨습니다.\n"); \
break;
case 2:
printf("2를입력하셨습니다.\n");
break;
case 3:
printf("3을입력하셨습니다.\n");
break;
default:
printf("다시입력하세요.\n");
break;
}
return 0;
}

 

 

 

실습13

#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main() {
char op; // 연산자 저장 변수 ex) + ,- ,* ,/
int num1, num2; // 피연산자 저장 변수
 
cout << "덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/)이 가능합니다" << endl;
cout << "계산하려는 수식(예: 10+20)을 입력하세요:";
cin >> num1 >> op >> num2; // 10+20
 
switch (op) {
case '+':
cout << "덧셈 결과는 " << num1 + num2 << "입니다." << endl;
break;
case '-':
cout << "뺄셈 결과는 " << num1 - num2 << "입니다." << endl;
break;
case '*':
cout << "곱셈 결과는 " << num1 * num2 << "입니다." << endl;
break;
case '/':
if (num2 != 0) {
cout << "나눗셈 결과는 " << (double)num1 / num2 << "입니다." << endl;
} else {
cout << "0으로 나눌 수 없습니다." << endl;
}
break;
default:
cout << "다시 입력하세요" << endl;
break;
}
return 0;
}

 

 

실습14 

c++언어에서  for문을 이용해 출력하기. 

#include <iostream>
using std::cout;
int main()
{
for (int i = 1; i <= 10; i++) {
cout << i << ".소프트\n";
}
return 0;
}

 

실습15

#include <iostream>
#include<iomanip>
using std::cout;
int main()
{
for (int i = 1; i <= 10; i++) {
cout << std::setw(2) << i << " : 소프트\n";
}
return 0;
}
std::setw(2)는 #include<iomanip> 선언해야 사용이 가능하다.
#include <iostream>
int main()
{
for (int i = 1; i <= 10; i++) {
std::cout.width(2); //다음에 출력되는 하나(i)를 두칸에 출력
std::cout << i << " : 소프트\n";
}
}
cout.width는 #include 선언없이 사용가능.

실습16

무한 반복하는 계산기

#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main() {
char op; // 연산자 저장 변수 ex) + ,- ,* ,/
int num1, num2; // 피연산자 저장 변수
for (;;) {
cout << "덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/)이 가능합니다" << endl;
cout << "계산하려는 수식(예: 10+20)을 입력하세요:";
cout << "끝내려면 0+0을 입력하세요.:";
cin >> num1 >> op >> num2; // 10+20
if (num == 0 && num2 == 0)break;
switch (op) {
case '+':
cout << "덧셈 결과는 " << num1 + num2 << "입니다." << endl;
break;
case '-':
cout << "뺄셈 결과는 " << num1 - num2 << "입니다." << endl;
break;
case '*':
cout << "곱셈 결과는 " << num1 * num2 << "입니다." << endl;
break;
case '/':
if (num2 != 0) {
cout << "나눗셈 결과는 " << (double)num1 / num2 << "입니다." << endl;
}
else {
cout << "0으로 나눌 수 없습니다." << endl;
}
break;
default:
cout << "다시 입력하세요" << endl;
break;
}
 
}
return 0;
}

 

실습17

do ~ while문을 이용한 원하는 작업선택하기를 출력

#include <iostream>
using std::cout;
using std::cin;
int main() {
int menu;
do {
cout << "\n메뉴\n";
cout << "1:추가\n";
cout << "2:삭제\n";
cout << "3:저장\n";
cout << "4:수정\n";
cout << "원하는 작업을 선택하세요 ->";
cin >> menu;
} while (!(menu >= 1 && menu <= 4));
cout << menu << "를 선택했습니다.\n";
return 0;

 

}

 

실습18

무한루프하는 3가지 방법.

조심해야 될 점은 do ~ while문인데, while (1)들어가고 ;(세미콜론)을 꼭 붙어야 한다.

실습19

for문, while문, do~while문 등 반복문에서 벗어날 때 사용한다.

실습20

continue문 

#include <iostream>
using std::cout;
using std::cin;
int main() {
int n;
for (n = 1; n<= 100; n++) {
if (n % 2 == 0)continue;
cout << n<<" ";
}
return 0;
}
조건을 검사하는 부분으로 다시 돌아가게 되면서 홀수만 출력된다.

 

실습21

챗 gpt를 이용한 c++로 제어문을 잘 이용한 가위바위보 게임 만들기.

#include <iostream>
#include <ctime> // 시간을 기반으로 한 난수 생성을 위한 헤더 파일
using namespace std;
int main() {
// 난수 발생을 위한 시드 설정
srand(static_cast<unsigned int>(time(0)));
// 컴퓨터가 선택한 가위(0), 바위(1), 보(2)
int computerChoice = rand() % 3;
// 사용자에게 선택을 입력받음
int userChoice;
cout << "가위(0), 바위(1), 보(2) 중 하나를 선택하세요: ";
cin >> userChoice;
// 사용자와 컴퓨터의 선택을 출력
cout << "사용자의 선택: " << userChoice << endl;
cout << "컴퓨터의 선택: " << computerChoice << endl;
// 가위바위보 게임 결과 계산
if (userChoice == computerChoice) {
cout << "무승부!" << endl;
}
else if ((userChoice == 0 && computerChoice == 2) ||
(userChoice == 1 && computerChoice == 0) ||
(userChoice == 2 && computerChoice == 1)) {
cout << "사용자 승리!" << endl;
}
else {
cout << "컴퓨터 승리!" << endl;
}
return 0;
}

 

'C++' 카테고리의 다른 글

C++ 8주차  (0) 2023.11.02
C++7주차  (0) 2023.10.19
6주차  (0) 2023.10.12
5주차  (0) 2023.10.05
C++ 기본  (0) 2023.09.14