gpt4 book ai didi

c++ - 对于下面给出的任务,使用类还是多维数组更好?

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:28 25 4
gpt4 key购买 nike

我是 C++ 的新手。我想知道我应该使用 class/es 还是使用多维数组来做到这一点?我真的需要一些关于如何实现这些目标的指导!

所以,我有以下任务:

制作一个程序,用作世界田径比赛的信息系统。程序要保存和修改运动员的信息,对于每个运动员->(比赛次数、姓名、纪律、职业生涯最好成绩、今年最好成绩、参加世界比赛的次数)。必须有 5 个不同的项目(200 米短跑、4x400 米、 throw 长矛、跳高、三级跳远)。每个项目各有6名运动员。

一个。使用程序中功能的菜单(我已经做了大部分,我相信)

B.添加运动员 我。每个学科增加一名运动员。 二.添加运动员列表,写下数字 N,然后是每个学科的 N 名运动员。

C.在屏幕上显示所有运动员

D.举办比赛

我。为每个运动员随机运行。运动员成绩不低于当年最好成绩的20%,不超过职业生涯最好成绩的10%。

二。每位运动员有 5% 的机会进行错误起跑。

E.奖牌表 - 每场比赛的运动员按国家/地区分组在一个新的数组中(第一名 - 30p,第二名 - 20p,等等)。该数组按升序显示在屏幕上(同时显示国家名称、分数、该国运动员名单、他们在比赛中的得分)

F.显示一些额外的信息:

我。在屏幕上显示按年龄排序的运动员

二。按名字顺序播放屏幕上的运动员

三。在屏幕上显示参加世界比赛最多的运动员

三三。在屏幕上显示拥有最多运动员的国家/地区

G.程序中的数据可以在程序的两次运行之间保存在一个文件中。

最佳答案

... should i do this using class/es or with multi-dimensional arrays?

几乎所有复杂度略高于“hello world”的 C++ 程序都会使用类将相关信息收集到单个对象中。

在你的例子中,一个明显的类是代表运动员的类​​。喜欢:

class athlete
{
string name;
uint32_t competition_number;
...
...
};

然后您可能想要另一个类使用 vector 容纳所有运动员。像这样的东西:

class participants
{
vector<athlete> participants;
...
...
}

如果您从这两门课开始,您将能够解决很多家庭作业。

与比赛类似,用一些类(可能是模板化的)来代表比赛可能是有意义的。此类的一个成员变量可以是该特定比赛参与者的 vector 。成员函数可以是 run()

关于数组:在许多情况下,数组在 C++ 中被 vector 取代。如果您需要多维容器,可以像这样创建多维 vector :

vector<vector<int> x;

关于c++ - 对于下面给出的任务,使用类还是多维数组更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58851525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com