ページ 1 / 1
ファイル入力しそこからファイルに入ってる英数字をカウントしたいのですが、わかりません!!
Posted: 2016年7月20日(水) 16:17
by マム
C++でプロジェクトファイルに予め英数字の入ったtxtファイルを作っておいて。プログラムで入力し特定のアルファベットをカウントし表示せよ。というプログラムを作ろうとしているのですが、txtファイルを入力しそれをファイルの内容は表示させれるのですが、特定のアルファベットをカウントするプログラムがわかりません。ご教授のほどおねがいします。
Re: ファイル入力しそこからファイルに入ってる英数字をカウントしたいのですが、わかりません!!
Posted: 2016年7月20日(水) 16:54
by だんごさん
ファイルの文字を一文字ずつ解析し、もしその文字が特定の文字だった場合カウントを+1していく、という方法で可能だと思います。
ファイルの文字だけループさせ、ifで判定をする、ということをプログラムに起こしてみてはいかがでしょう。
たとえ間違ったプログラムでも載せていただければ、それなりにアドバイスが来るかと思います。
Re: ファイル入力しそこからファイルに入ってる英数字をカウントしたいのですが、わかりません!!
Posted: 2016年7月20日(水) 17:25
by マム
#include <iostream>
#include <wineggx.h>
#include <fstream>
using namespace std;
int main( )
{
ifstream fin;
fin.open ("data1.txt");
if(!fin)
{
cout << "入力ファイルがオープンできません" << endl;
cin.get();
return 1;
}
int i;
char c;
while(fin>>c)
cout<<c;
fin.close( );
cin.get();
return 0;
}
返信ありがとうございます。プログラムはこれになります・・・
Re: ファイル入力しそこからファイルに入ってる英数字をカウントしたいのですが、わかりません!!
Posted: 2016年7月20日(水) 23:09
by だんごさん
ソースはコードタグで囲みましょう。見やすくなります。
コード:
#include <iostream>
#include <wineggx.h>
#include <fstream>
using namespace std;
int main()
{
ifstream fin;
fin.open ("data1.txt");
if(!fin)
{
cout << "入力ファイルがオープンできません" << endl;
cin.get();
return 1;
}
int i;
char c;
while(fin>>c)
cout<<c;
fin.close();
cin.get();
return 0;
}
while文の中で「cの値がカウントしたい文字だった場合」の処理を追加してみましょう。
「もし、cが'e'だった場合カウントする」という処理を考えた場合、これをプログラムに起こせますか?