c++でisalpha関数を用いてcharの配列の中に含まれるアルファベットの数を表示する


プログラミング初心者です。入力がcharの配列の場合において、cstringを含む文字列に含まれるアルファベットの数をisalpha関数とfor
loopを用いて表示しようとしたので全くうまくできませんでした。  
どなたかご教示頂けますと幸いです。（他の方法ではなく、isalpha関数を用いた方法をご教示頂けますと幸いです。）

[code]

    #include <iostream>
    #include <cctype>
    using namespace std;
    
    int main()
    {
        int counter = 0;
        int i;
        const int SIZE = 100;
        char input [SIZE];
        cout << "Please Enter String:" << endl;
        cin.getline(input, SIZE);
        for(i = 0; i< SIZE; i++)
        {
            if(isalpha(input[i]))
            {
                counter++;
            }
    
        }
        cout << "the number of elements in the array that contain the alphabetic character is:" << input << endl;
        return 0;
    }
    
[/code]




forループで、初期化されていないinput[i]をisalpha()に渡しているのと、std::coutに渡しているのがinputなのが原因だと思います。  
修正例：

[code]

    #include <iostream>
    #include <cctype>
    
    int main()
    {
        int counter = 0;
        const int SIZE = 100;
        char input[SIZE];
        std::cout << "Please Enter String:\n";
        std::cin.getline(input, SIZE);
        for (int i = 0; input[i] != '\0'; ++i)  // 文字列の終わりまで
        {
            if (isalpha(input[i]))
            {
                counter++;
            }
        }
        std::cout << "the number of elements in the array that contain the alphabetic character is:" << counter << "\n";
        return 0;
    }
    
[/code]

