0

SO私は、この特定のプログラムにファイルを開き、それらの要素を構造体に入れ、変数の1つを出力させようとしています(それが機能しているかどうかを確認するため)。残念ながら、void main が int に変更されたことを通知し、main が int を返さなければならないと言っているため、プログラムを開始することさえできません。私は C++ の初心者なので、それがメインの単純な間違いである可能性があることに気づいていません。ただし、構造体が文字列に対して正しく機能しているかどうかはわかりません。ファイル内のサンプル テキスト:

姓 血液型 臓器 年齢 年(自認) Casby A 心臓 35 2012 Jorde B 腎臓 20 2009 など....

これにより、実際のプログラムの残りの部分を実行できるようになります (2 つの変数を比較して ==/最低の年を表示する...

#include <iostream>
#include <stdlib.h>
#include <fstream>
#include <stdio.h>
#include <string>
#include <sstream>
#include <iomanip.h>

using namespace std;

ifstream patientin;
struct Patient {
    string surname;
    char Btype;
    string organ;
    int age, year;
};

void open(){
    patientin.open("patient.txt");
    if (patientin ==  NULL){
    cout <<"\nCan't open the file. Restart." << endl;
    exit(1);
    }

}

void close(){

    patientin.close();
}

void getFileInfo(){

        const int Max = 4;
        int i = 0;
        Patient records[Max];
            while (i <= Max){
            patientin >> records[i].surname;
            patientin >> records[i].Btype;
            patientin >> records[i].organ;
            patientin >> records[i].age;
            patientin >> records[i].year;
        }
                cout << records[0].surname << endl;

}


void main (){

open();
getFileInfo();
close();

}
4

1 に答える 1