2

文字がユーザー入力に表示さalphabet[0]れるたびに配列 ( ) インデックスをインクリメントしようとしていますが、印刷すると間違った出力が表示されました。'a'alphabet[0]

問題例:

"Enter a string" 

adam //input 

2665453 //printed on screen
2665453
2665453
2665453
2665453

私が達成しようとしている出力は、2 'a's in adam の 2 になるはずです。

これが私のコードです:

class Counter {

    public:
        string input; //the string used for user input
        int alphabet[26];
        int numbers[10];
    void countcharacters();
    void countnumbers();

    private:
};

void Counter::countcharacters() {
    cout << "Enter a string" <<endl;
    getline(cin, input);

    for(int i=0; i<input.length(); i++) {
        if(input.at(i) == 'a'){
            alphabet[0]++;
        }
    cout << alphabet[0] << endl;
    }
}
4

2 に答える 2