用C++读取data.txt,文件内容如下,第一列是id,后面3列是x,y,z坐标,算法要求输入id,得到原子坐标 120

250.96148840.4977897.1122799262.23253632.6993067.1122799550.9322594.8981710.6725009得到... 25 0.9614884 0.497789 7.1122799
26 2.2325363 2.699306 7.1122799
55 0.932259 4.898171 0.6725009
得到坐标,可以对坐标进行后面的计算,最好建立一个n行4列的二位数组储存数据
展开
 我来答
万世之君
2017-03-03 · 昨日不会重现,经典却可永存
万世之君
采纳数:361 获赞数:1099

向TA提问 私信TA
展开全部
// 读取文件函数
ifstream& open_file(ifstream& in, const string& file)
{
    in.close();// close in case it was already open
    in.clear();// clear any existing errors
    // if the open fails, the stream will be in an invalid state
    in.open(file.c_str());// open the file we were given
    return in;// condition state is good if open succeeded
}

// 定义结构体
struct Coordinate
{
    int       id;
    double    x;
    double    y;
    double    z;
};

vector<Coordinate> vecCoor;

ifstream in;
open_file(in, "D:\\data.txt");
string line, word;
while (getline(cin, line))
{
    istringstream stream(line);
    while (stream >> word)
    {
        // 将读取的数字字符串转为对应类型的数字,插入vector数组
    }
}
更多追问追答
追问
编译没有通过
F:\迅雷下载\13.cpp(2) : error C2143: syntax error : missing ';' before '&'
出现在这行 ifstream& open_file(ifstream& in, const string&file)
您能不能写出主函数来,主函数你可以简单写一下,就是输入原子编号,然后显示原子坐标,然后对其进行简单的加减法就行😁
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式