私のプログラムは、50を超えるプレーヤー統計情報を含まないテキストファイルから読み込む必要があります。入力の例は次のようになります。データの取得と解析
Chipper Jones 3B 0.303
Rafael Furcal SS 0.281
Hank Aaron RF 0.305
私の問題は、私は各ライン内のデータを解析する方法を見つけ出すように見えることはできませんです。出力は次のようになりますように、私は、私はそれをするつもりだ方法を考え出す助けが必要:
私の目標は、ラインを解析し、任意の使用可能な回線を介して実行されますループのいくつかの並べ替えを作成することですJones, Chipper: 3B (0.303)
Furcal, Rafael: SS (0.281)
Aaron, Hank: RF (0.305)
、各行の内容を関連する変数に設定します。
コード:
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
class player
{
private:
string first, last, position;
float batave;
int a;
public:
void read(string input[50]);
void print_data(void);
} playerinfo;
void player::print_data(void)
{
cout << last << ", " << first << ": " << position << " (" << batave << ")" << endl;
}
void player::read(string input[]) // TAKE INFORMATION IN THE FILE AND STORE IN THE CLASS
{
for (int a = 0; a <= 50; a++);
{
// getline(input[0], first, ' ', last,);
}
}
int main(void)
{
ifstream infile;
string filename;
ofstream outfile;
string FILE[50];
cin >> filename;
infile.open(filename.c_str());
if (!infile)
{
cout << "We're sorry! The file specified is unavailable!" << endl;
return 0;
}
else
{
cout << "The file has been opened!" << endl;
for (int a = 0; getline(infile, FILE[a]); a++);
playerinfo.read(FILE);
playerinfo.print_data();
}
printf("\n\n\n");
system("pause");
}
私は 入力と出力ファイル名のユーザーにプロンプトを表示する必要があります。あなたのプログラムにファイル名をハードコードしないでください。 入力ファイルを開きます 各プレーヤーを読み込み、Playerオブジェクトの配列に格納します アレイ内のプレーヤー数を把握する 出力ファイルを開く アレイの各プレーヤーを出力ファイルに書き込み、割り当てによって必要とされる他の出力と一緒に表示されます。 完了したらファイルを閉じることを忘れないでください。
はあなたがstringstream' '知っていますか? – Barmar
いいえ。これはちょうどファイルを読み込んでそれを解析し、それをoutfileに送り返す基本的なC++プログラムであると考えられています。 –