ファイル入力しそこからファイルに入ってる英数字をカウントしたいのですが、わかりません!!

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
マム

ファイル入力しそこからファイルに入ってる英数字をカウントしたいのですが、わかりません!!

#1

投稿記事 by マム » 9年前

C++でプロジェクトファイルに予め英数字の入ったtxtファイルを作っておいて。プログラムで入力し特定のアルファベットをカウントし表示せよ。というプログラムを作ろうとしているのですが、txtファイルを入力しそれをファイルの内容は表示させれるのですが、特定のアルファベットをカウントするプログラムがわかりません。ご教授のほどおねがいします。

だんごさん
記事: 273
登録日時: 13年前

Re: ファイル入力しそこからファイルに入ってる英数字をカウントしたいのですが、わかりません!!

#2

投稿記事 by だんごさん » 9年前

ファイルの文字を一文字ずつ解析し、もしその文字が特定の文字だった場合カウントを+1していく、という方法で可能だと思います。

ファイルの文字だけループさせ、ifで判定をする、ということをプログラムに起こしてみてはいかがでしょう。
たとえ間違ったプログラムでも載せていただければ、それなりにアドバイスが来るかと思います。
 Dango San

マム

Re: ファイル入力しそこからファイルに入ってる英数字をカウントしたいのですが、わかりません!!

#3

投稿記事 by マム » 9年前

#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;
}
返信ありがとうございます。プログラムはこれになります・・・

だんごさん
記事: 273
登録日時: 13年前

Re: ファイル入力しそこからファイルに入ってる英数字をカウントしたいのですが、わかりません!!

#4

投稿記事 by だんごさん » 9年前

ソースはコードタグで囲みましょう。見やすくなります。

コード:

#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'だった場合カウントする」という処理を考えた場合、これをプログラムに起こせますか?
 Dango San

閉鎖

“C言語何でも質問掲示板” へ戻る