C++

C++

ADELA_J 2023. 5. 18. 17:54

정렬 : Ctrl K + Ctrl F

주석 : Ctrl K + Ctrl C 해제 Ctrl K + Ctrl U

 

 

-  new 연산자 : 포인터 = new 타입[(초깃값)];

pi는 왜 이게 나오는지...??????????

6. IO 스트림 cin과 cout를 사용하여 정수값 두개를 입력받아 그 합을 출력하기

- std랑 return 은 생략가능

▼ endl 빼도 실행이 됨. ( endl은 라인이 큐에 삭 들어가서 출력하고 비우고 출력하고 비우고 출력하고 반복 > 오래걸림)

 \n은 끝까지 다 들어간 후에 한번에 출력됨.

이것도 위와 같은 실행결과
위에꺼에서 스텝까지 추가해서
바로 위에꺼를 좀 더 간결하게 적으면 이렇게! 이런게 바로 클린코드인가 😎 (아닐수있음)

- 트리만들기 별찍기

for 문의 기본 입력 값이 다르기 때문에 i만 적으 면 안돼

for (초기값; 비교값; 증감값) {      //for 문 뒤에 초기화 하는 거 잊지말기

조건 1; 

조건 2 ;

출력 ; 

}

이런식으로 해야함 

숫자입력받아서,,,
트리모양까지 받아서..!

cout << 는 복합적으로 출력할 수 있다. ex. 변수 + 숫자 + bool + float 등등 다 합쳐서 한줄로도 ㄱㄴ

연산식뿐만 아니라 함수 호출도 가능.

 

-- cout와 <<를 이용한 화면 출력 : 61 행에서 

 int size = w*h ; 

 return size ; 

해도됨.

 

- namespace : 이름 충돌안하게 1동::마이클 , 2동::마이클 이렇게 부르는거 

cout >> A::tot  / cout >> B::tot 이렇게 부르는거. ▶ 이름 공간 :: 이름 이렇게 부르기.

 

- std : 이름공간 중 하나. 

  - iostream 헤더 파일에 선언된 모든 이름 : std 이름 공간 안에 있음.

  - std 이름공간에 선언된 이름을 접근하기 위해 std:: 접두어 사용해야함 .ex) std::cout, std:endl

  - 위에 using std::(이름) 이렇게 사용하면 std:: 생략 가능함.

  - using namespace std; >> 밑에꺼 다 생략 ㄱㄴ (통째로 이름 공간 내에 선언한거임. iostream 헤더 파일을 사용하기위해)

 

- cin : 입력 다 끝나고 enter 키를 켜야지 입력 버퍼에 저장(메모리에 저장) 잘못치면 backspace 눌러서 지울 수 있음.(엔터 치기 전에) / >>> 입력 스트림 cin ▶ 스트림 버퍼에서 프로그램으로 키 전달함.

 

 - C 스트링방식 : \0로끝나는 문자배열 , 맨끝에 \0 이라고 문자가 하나 더 붙어서 저장된다. 

 없으면 단순 문자 배열. ex) Grace > G[0] / r[1] /a [2] / c[3] / e[4] / \0 [5]

 

- string 클래스 이용 : <string> 헤더 파일에 선언됨. 다양한 멤버 함수 제공, 문자열 비교, 복수, 수정 등

 

---- 키보드에서 문자열 입력 받고 출력

띄어쓰기해서 입력하면 첫번째 글자만 읽어온다규

--- C-스트링을 이용하여 true가 되면 프로그램을 종료하는 예

▲ 요거는 공백없이 했는데 공백이 낀 문자열을 받으려면

cin.getline(char buf[], int size, char delimitChar)

buf에 최대 size-1개의 문자 입력 (끝에 \0 포함) ex. cin.getline(address, 100, '\n');

--------공백이 낀 문자열 받아서 하는거 cin.getline() 예시 

- string 클래스 : 문자열 크기에 대한 제약이 읍어 (c- 스트링 보다 더 쓰기 쉬움) / 공백이런거 신경안써도됨.

 include <string> 헤더 쓰고 해야한다

int main() {
char c[100];
int count = 0;
cout << "문자열 이볅해라" << endl;
cin.getline(c, 100, '\n');
int i = 0;
while (true) {
if (c[i]) == '\0') 
break;
if (c[i] == 'A')
conut++;
i++;



}
}

 

 


int main() {
string word;
cout << "A가 몇 개있는지 궁금한 단어를 작성하세요.(대문자로): ";
getline(cin, word);
int a = 0;
int n = 0; //숫자세기
for (int i = 0; i<=20; i++) {
if (word[a] == 'A') {
cout << word[a];
a += 1;
n += 1;
cout << "맞음" << n;
return i;
}
else {
cout<< "틀림"<< n;
return i;
}

cout << n;
}
}

 

 


int main() {
string word[100];
cout << "A가 몇 개있는지 궁금한 단어를 작성하세요.(대문자로): ";
cin.getline(cin, 100, '\n');
int a = 1;
for (int n = 0; n < 10; n++) {
if (word[n] == 'A') {
a += 1;
}
else {
cout << "  ";
}
cout << a;
}
}