2016-06-01 2 views
-1

配列やベクトルや関数を使用しないでください! ...これをc_for everyoneの教科書から解く。母音を母音で印刷するには?

質問 - 単語を読み上げ、その単語の母音の数を表示するプログラムを作成します。この演習では、、つまりが母音であると仮定します。例えば、ユーザが入力を提供する場合、 "ハリー"、プログラム印刷2つの母音

試み -

#include <iostream> 
#include <cstring> 


using namespace std; 

int main() 
{ 
cout <<"Please enter a word" ; 
char alpha; 
cin>> alpha; 
int count = 0; 


for (int i=0; i <= alpha.length(); i++) 
{ 
if (alpha == 65 || alpha == 69 || alpha == 73 || alpha == 79 || alpha == 85 || alpha == 89) 
    count++; 
} 

cout << count << " vowels." ; 


return 0; 

このエラーを表示し、コンパイルされない - p.4.13.cppを:27:15:エラー:メンバー参照の基本型 'char'は構造体または共用体ではありません。助けてくれてありがとう!

+0

「c_for everyone」の教科書からのものであれば、C++ではなく、Cのタグを付けてはいけませんか?試してみると – Rakete1111

+0

がおめでとうございます。質問はありますか? – user463035818

+3

'char alpha;'は単一のcharです。また、 '65'のようなマジックナンバーを避け、代わりに' 'a''を使います。 –

答えて

-1

これを行うには良い方法がありますが、元のものに近いものを投稿すると、私はそれを行うことができます。

#include <iostream> 
#include <string> 


using namespace std; 

const string vowels{ "aeiouy" }; 
int main() 
{ 
    cout << "Please enter a word: "; 
    std::string alpha; 
    getline(cin, alpha, '\n'); 
    int count = 0; 

    for(const auto& letter : alpha) { 
     if(string::npos != vowels.find(letter)) ++count; 
    } 

    cout << count << " vowels."; 

    cout << '\n' << '\n'; 
    system("PAUSE"); 
    return 0; 
} 
+0

なぜ賛成投票ですか? –

0

それが構造体ではなく、CHARではなく、「charは」プリミティブ型である([] char型、または文字の配列)のstd ::文字列を使用してみてください、あなたが経由でアクセスすることができます何のメンバーを持っていません"。"オペレーター。

関連する問題