Взяв данные из файла и поместив их в структуру

0

Я пытаюсь открыть эту программу для открытия файла, поместить эти элементы в структуру и затем вывести одну из переменных (чтобы увидеть, работает ли она). К сожалению, я даже не могу запустить программу, потому что моя основная функция void сообщает мне, что она изменилась на int, а затем говорит, что main должен возвращать int. Я [новичок] C++ и поэтому не понимаю, что это может быть простая ошибка с основным. Тем не менее, я не уверен, правильно ли он работает для строк. Пример текста в файле:

фамилия bloodtype орган год год (допускается) Casby A heart 35 2012 Jorde B kidney 20 2009 и т. д....

Я был бы очень благодарен за любую помощь по отношению к этой программе, так как это позволит мне сделать остальную часть реальной программы (сравнивая две из переменных, которые будут ==/отображать самый низкий год...

#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();

}
Теги:
struct
data-structures
file-io
main

1 ответ

0
Лучший ответ

Ваша первая из многих проблем лежит здесь:

void main ()

Main должен возвращать int. Некоторые компиляторы могут позволить вам уйти с void, но это нестандартно.

int main() { ... }

Или

int main(int argc, char** argv) { ... }

являются 2 стандартными сигнатурами для main.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню