2017-01-24 14 views
-2
#include <iostream> 
#include <string> 
using namespace; 

int main() 
{ 
    string word = " "; 

    do 
    { 
     cout << "Enter a word that has at least 5 characters: " << endl; 
     cin >> word; 
     }while(word.size() < 5); 

     char searchCh = '0'; 
     cout << "Enter a character and the program will tell " << 
     "you how many times it appears in the word " << word << "." << endl; 
     cin >> searchCh; 

     int counter = 0; 

    for(int i = 0; i < (int)word.size(); i++) 
    { 
     char ch = word.at(i) 

     if(searchCh == ch) 
     { 
      counter++; //counter = counter + 1 
     } 
    } 

    cout << "The number of " << searchCh << " 's in the word " << word << " is " << counter << ".\n"; 


} 
は私が連続のような複数のエラーを受け取る

:「string」は このスコープで宣言されていなかったこのスコープ 「単語」で宣言されていなかった「CIN」 「ENDL」スコープ で宣言されていなかったと宣言されていませんこの範囲では、 は '、'または ';' before '}'トークン私のC++コードがコードブロック上で何が問題になっていますか?

私はコードブロックを使用しています。ありがとう:D

+1

をお読みください;' '使用する必要がありますnamespace std; ' –

+1

動作の変更はありませんが、forループ全体を' std :: count'の呼び出しで置き換えることができます。ボーナスとして、このコードの目的は値の出現を数えることです。 – chris

+0

CodeblocksはIDEです。この質問はIDEとは関係ありません。 – MrEricSir

答えて

2

あなたの最初の行の一つは

using namespace; 

であるあなたは、おそらく

using namespace std; 

を書きたかったが、名前空間を使用して `Why is using namespace std considered bad practice?

+1

これに関しては、悪い習慣です:私はプログラマーではないが、名前空間を別名(http://en.cppreference.com/w/cpp/language/namespace_alias)を使用して、stdと名前を照合するライブラリに使用することができます。 私は個人的にはlessをタイプしたいと思っています。 – MaLiN2223

+0

@ MaLiN2223自分のコードを可能な限り明示的に指定することをお勧めします。もちろん、問題に対処する他の方法はありますが、それを認識していないことは解決策ではありません。たぶん私は少し主観的な答えをフレーズにしようとします – user463035818

+0

私はあなたに同意しない、C#の私のhabbitsはここに多くの重量です。しかし、私はちょうど代替案を述べたいと思っていました(あなたが言ったように、気づいていないことは全く解決策ではありません:P)。 – MaLiN2223

関連する問題