[C++ 언어-기초실습-15] 글자 개수 세기

in #kr-dev5 years ago (edited)

[C++ 언어-기초실습-15] 글자 개수 세기



오늘의 실습 주제는 지난 시가느이 실습한 내용을 다른 관점으로 코딩을 해보는 시간을 갖을까 합니다. 지난시간에 영어 문장에 대해 알파벳 배열 변수에서 카운트 하였는데 이번에는 다른 카운트 방법을 실습을 해봅시다.

1. 알파벳 카운트 세기(복습)


    cout<<"문자열을 입력하시오? ";
    getline(cin,str);
    
    cout<<"문자열 길이 : "<<str.length()<<endl;
    for(int i=0;i<str.length();i++){      
        if(str[i]>=65 && str[i]<=90) cnt++;
        else if(str[i]>=97 && str[i]<=122)cnt++;
    }   
    cout<<cnt<<endl;

사전학습의 [C++ 언어-기초실습-2] 알파벳 개수 세기 글을 보면 소문자인 경우와 대문자인 경우로 해서 알파벳 글자인지를 if문으로 확인하여 해당 글자의 알파벳 위치의 배열 변수값을 1씩 증가하여 카운트 했는데 수정하면 위와 같이 c++만 하면 알파벳 전체 카운트 할 수 있습니다.

2. 문장의 글자 개수 세기


오늘의 주제는 문장의 글자를 세기 위한다면 어떻게 해야 할까요. 글자인지를 위와 같은 방식으로 체크하여 cnt값을 증가 시키는 방법과 다른 방법은 문장의 길이를 구한 다음 문장 속에 공백 갯수를 체크하여 문장 전체 길이에서 공백 개수를 빼주면 글자의 개수를 구할 수 있습니다.

for(int i=0;i<str.length();i++){
        if(str[i]==' ') cnt++;
}

이렇게 간단히 하나만 체크하여 문장에 글자수를 셀 수 있습니다.

3. 코딩


문장에 글자들은 문자,숫자,특수문자 등 다양한 글자들이 있습니다. 해당 문자들을 체크하여 사전학습의 내용처럼 개별 갯수를 셀 수 있겠지만 오늘은 문장의 문자수를 세기 위한 실습이기 때문에 간단한 방식으로 체크해보도록 하죠.

  • 조건 : 문장의 문자수를 세기

[전체소스]

#include <iostream>
#include <string.h>

using namespace std;

int main(int argc, char** argv) {
    
    string str; 
    int cnt=0;
    
    cout<<"문자열을 입력하시오? ";
    getline(cin,str);
    
    cout<<"입력한 문장 : "<<str<<endl;; 
    cout<<"문자열 길이 : "<<str.length()<<endl;
    for(int i=0;i<str.length();i++){
        if(str[i]==' ') cnt++;
    }
    cout<<"공백문자 개수 : "<<cnt<<endl;
    cout<<"알파벳 개수 = 문자열길이 - 공백문자 개수 = "<<str.length()-cnt<<endl;
    
    
    return 0;
}

[결과]
a1.jpg

마무리


문장의 문자 개수를 세기 위해서 공백문자를 비교했는데 실습을 할 때는 다른 방식으로 각 문자, 숫자, 특수문자등으로 범위를 정해서 해당 문자의 개수를 세는 코딩으로 수정해 보세요.


Sponsored ( Powered by dclick )

dclick-imagead

Sort:  

Thank you for your continued support towards JJM. For each 1000 JJM you are holding, you can get an additional 1% of upvote. 10,000JJM would give you a 11% daily voting from the 700K SP virus707 account.

Thank you