문제 :
문자열을 두 개 입력받고 두 개의 문자열이 같은지 검사하는 프로그램을 작성하라. 만일 같으면 "같습니다", 아니면 "같지 않습니다"를 출력하라.
목적 및 힌트 :
공백 없이 입력된 문자열 읽기 (빈칸 없이 입력)
실행 결과 :
코드 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#include<iostream>
#include<cstring>
using namespace std;
int main() {
char pw1[100];
char pw2[100];
cout << "새 암호를 입력하세요>>";
cin.getline(pw1,100);
cout << "새 암호를 다시 한 번 입력하세요>>";
cin.getline(pw2,100);
if(strcmp(pw1,pw2)==0)
cout << "같습니다";
else
cout << "같지 않습니다";
return 0;
}
|
설명 :
각각의 배열의 원소들을 하나하나 비교하여 입력받은 두 문자열이 서로 같은지 판단할 수도 있지만 strcmp() 함수를 사용하여 비교, 판단 하였습니다.
c++에서 strcmp() 함수는 cstring 헤더파일에 정의되어 있으므로 cstring 헤더파일을 include 해주었습니다.
strcmp() 함수는 두 문자열이 정확하게 일치한다면 0 을 리턴한다.
일치하지 않을 경우, 일치 하지 않는 첫 번째 문자를 비교해 str1 이 str2 보다 크다면 0 보다 큰 값을 아니면 0 보다 작은 값을 리턴합니다.
'C++ programming' 카테고리의 다른 글
명품 C++ programming 실습 문제 2장 8번 (2) | 2020.02.28 |
---|---|
명품 C++ programming 실습 문제 2장 7번 (1) | 2020.02.28 |
명품 C++ programming 실습 문제 2장 5번 (1) | 2020.02.28 |
명품 C++ programming 실습 문제 2장 4번 (1) | 2020.02.28 |
명품 C++ programming 실습문제 2장 3번 (1) | 2020.02.28 |