2017-07-30 6 views
-2

無料のインベントリシステムを作成しようとしていますが、ファイルの内容を読み取る方法がわかりません。言葉を取り、一致するものがあればそれらに数字を加えます。だから、 "スティック"がファイルに3回現れると言うと、それはコンソールに印刷されます。 "スティック:3"ファイルの内容を読み取るにはどうすればいいですか?

void ViewFiles() { 
    string line; 
    ifstream a_file("Candles"); 
    if (a_file.is_open()) 
    { 
    while (getline(a_file, line)) 
    { 
     cout << line << '\n'; 
     if (line == line) { 
     line = line + "1"; 
     } 
    } 
    a_file.close(); 
    } 
    else cout << "Unable to open file"; 
} 

コードが悪い場合は申し訳ありませんが、これは自分のための初めての実際のプロジェクトです。

+0

ような短いコードスニペットが良く、直接疑問にコピーされます。入力フォームには、コードを入力するための別のボタンがあります。 – Stephan

+0

'if(line == line)' *は*を意味します(つまり、*本当に*真*ではない* true?)。 – WhozCraig

+0

1)ファイルの内容を読むためにファイルのfstreamを作成します。 2) - マップハッシュを使用してハッシュマップを作成します。 3)ypur fstreamから単語を取得し、ハッシュを行う[word] ++; 4)今度は、最後に地図をたどり、必要な形式のデータをキーに出力するだけです。 – monster

答えて

0

2つのループが必要です。しばらくのうちに別の単語を追加して、最初の単語とリストの残りの単語を比較します。同じ単語を見つけたら、カウンターに1を加えます。あなたが終了すると、その言葉とカウンターを印刷し、2番目の単語を探してください...

1

単に地図を使用してください。 あなたが行うことができます:あなたは新しい単語を見つけるたび

map<string, int> someName; 

は、キーとしてそれを使用する:

someName[word]++; //you found it so increment the occurrence; 
関連する問題