C++ 从文本文件(C+;+;)打印字符串和整数
我必须从包含字符串和整数的文本文件中读取数据,然后编写一个程序来查找最年长的人并显示他们的姓名。 这是我的文本文件中的内容 Jefferson 17 Bill 24 Mary 19 Jack 22 Matthew 19 Claudia 23 Judy 18 杰斐逊17 条例草案24 玛丽19 杰克22 马太福音19 克劳迪娅23 朱迪18C++ 从文本文件(C+;+;)打印字符串和整数,c++,string,file,text,integer,C++,String,File,Text,Integer,我必须从包含字符串和整数的文本文件中读取数据,然后编写一个程序来查找最年长的人并显示他们的姓名。 这是我的文本文件中的内容 Jefferson 17 Bill 24 Mary 19 Jack 22 Matthew 19 Claudia 23 Judy 18 杰斐逊17 条例草案24 玛丽19 杰克22 马太福音19 克劳迪娅23 朱迪18 一旦我找到了最老的年龄,我就很难打印出最老的人的名字。有人能给我介绍一下吗?你只需将它们存储到向量中,就可以将姓名与年龄联系起来。一旦你找到了最古老的时代,你
一旦我找到了最老的年龄,我就很难打印出最老的人的名字。有人能给我介绍一下吗?你只需将它们存储到
向量中,就可以将姓名与年龄联系起来。一旦你找到了最古老的时代,你就会找到它的名字
如果将它们存储在两个单独的向量中,请确保同步跟踪它们
更新:对于您的代码(如您在下面的评论),您应该更改
for(int i=1; i<=7;++i)
{
if(age[i]>max)
max=age[i];
name[i]=max;
...
}
for(int i=1;imax)
max=年龄[i];
名称[i]=max;
...
}
到
字符串名称\u最早;//存储最早的名称
对于(int i=1;imax)
{
max=年龄[i];
name_laster=name[i];//在此处更新
}
...
}
除非这是一项学校作业,您必须自己实施算法,否则实际上使用以下方法很容易解决所有问题:
首先,使用将每一行读入一个实例
使用此字符串,然后可以使用普通输入运算符解析出不同的字段
您可以将数据存储在中,年龄作为键,名称作为数据。由于std::map
是按键排序的,所以映射中的最后一个条目是“最老”的人
如果可以有多个年龄相同的人,则您需要改用,并准备好打印多个年龄相同的人。您有什么代码?您好,欢迎访问stackoverflow.com。请花些时间阅读,特别是命名和。更重要的是,请阅读。你可能也想知道a是什么。你自己做了什么?主持人需要注意这类问题。这是我到目前为止的内容#include#include#include#include使用名称空间std;int main(){ifstream f;f.open(“data.txt”);字符串名称[7];int age[7],max=0;for(int i=1;imax)max=age[i];name[i]=max;cout@user3326689您可以共享您的代码,让我们更好地了解导致错误的原因。我将代码更改为该代码,但没有打印任何内容#include#include#include使用命名空间std;int main(){ifstream f;f.open(“data.txt”);字符串名[7];int age[7],max=0;for(int i=1;imax){max=age[i];name[i]=max;cout@user3326689别忘了先从文件中读取数据。
string name_oldest; // to store the oldest name
for(int i=1; i<=7;++i)
{
if(age[i]>max)
{
max=age[i];
name_oldest = name[i]; // update here
}
...
}