所以我试图让这个特定的程序打开一个文件,将这些元素放入一个结构中,然后输出一个变量(看它是否正常工作)。不幸的是我甚至无法启动程序,因为我的void main告诉我它已经改为int然后说main必须返回int。我是C ++新手,因此没有意识到它可能是主要的一个简单的错误。但是,结构我不确定它是否对字符串正常工作。文件中的示例文本:
姓血型器官年龄(赞) Casby A heart 35 2012 Jorde B肾脏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();
}
答案 0 :(得分:0)
你的第一个问题就在于:
void main ()
Main必须返回int
。有些编译器可能会让你逃脱void
,但这是非标准的。
int main() { ... }
或者
int main(int argc, char** argv) { ... }
是main
的2个标准签名。