标题:在 C++ 中读取文件中的数据存储在数组中,并且对数组进行排列处理
只看楼主
helloworldll
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-12-1
结帖率:100%
已结贴  问题点数:20 回复次数:3 
在 C++ 中读取文件中的数据存储在数组中,并且对数组进行排列处理
5
Franks,Tom 2 3 8 3 6 3 5
Gates,Bill 8 8 3 0 8 2 0
Jordan,Michael 9 10 4 7 0 0 0
Bush,George  5 6 5 6 5 6 5
Heinke,Lonnie  7 3 8 7 2 5 7
这是文件中的数据格式,其中数字表述的是一周内每天的工作时间。我想要把数据读入并且存储在数组当中,然后计算出每个人一周的总工作时间,根据总工作时间的长短来排列这几个人的顺序,请大家帮忙解决。

[ 本帖最后由 helloworldll 于 2014-12-2 12:25 编辑 ]
搜索更多相关主题的帖子: Michael 
2014-12-01 23:02
梦在何方
Rank: 2
等 级:论坛游民
帖 子:3
专家分:20
注 册:2014-12-1
得分:20 
人名用string st[n]存储,工作时间用int worktime[n][7]存储,总工作时间用totaltime[n]存储并与人名一一对应,排序即可
2014-12-02 14:59
helloworldll
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-12-1
得分:0 
回复 2 楼 梦在何方
可是我不知道应该怎么写程序才能把数据存储在数组里,
#include <iostream>
#include <fstream>
# include <cstring>
# include <string>
using namespace std;

int main()
{
    ifstream fin;
    fin.open("empdata.txt");
    int themax;
    char name[50];
    int time[50][50];
    fin >> themax;

    while (!fin.eof())
    {
        for(int i=0;i<themax;i++)
        {
            fin>>name;
            cout << name<< "  ";
            for(int j=0;j<7;j++)
            {
                fin>>time[50][50];
                cout << time[i][j]<< " ";
            }
    }
    }
    fin.close();
    return 0;
}
这是我写的程序,不过不能把数据存在数组里,我不知道该怎么做了。
2014-12-02 16:55
梦在何方
Rank: 2
等 级:论坛游民
帖 子:3
专家分:20
注 册:2014-12-1
得分:0 
将中间一部分改为
    ifstream fin;
    fin.open("empdata.txt");
    int themax;
    string name[50];
    int time[50][50];
    fin >> themax;

    while (!fin.eof())
    {
        for(int i=0;i<themax;i++)
        {
            fin>>name[i];
            for(int j=0;j<7;j++)
            {
                fin>>time[i][j];
            }
        }
    }
    fin.close();
    此时所有数据已存到name[]和time[][]中了,之后可进行其他操作
2014-12-02 17:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-439443-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.340858 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved