在给定的任务下,使用类或多维数组更好吗?

我是C ++的新手。我想知道我应该使用类/ es还是使用多维数组?我真的需要一些有关如何实现这些目标的指示!

所以,我有以下任务:

制作一个程序,用作世界田径比赛的信息系统。程序应保留并修改有关运动员的信息,例如每位运动员->(比赛中的人数,姓名,纪律,职业生涯中最好的成绩,今年最好的成绩,参加世界比赛的人数)。必须有5种不同的规则(200m Sprint,4x400m,投掷长矛,跳高,三级跳远)。每个学科将有6名运动员。

A。在程序中使用功能的菜单(相信,我已经充分利用了它)

B。增加运动员      一世。在每个学科中增加一名运动员。      ii。添加运动员列表,在每个学科中写上N号,然后在N名运动员之后。

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

D。参加比赛

i。为每位运动员随机跑步。该运动员的年度得分不得低于其年度最佳成绩的20%,其职业得分不得超过其年度最佳成绩的10%。

ii。每位运动员都有5%的机会犯错。

E。奖牌表-每个比赛中的运动员都按国家/地区分组在一个新的数组中(第1名30p,scnd-20p等)。屏幕上显示的排列顺序是递增的(还显示了国家/地区的名称,分数,来自该国家/地区的运动员的名单以及他们在比赛中的得分)

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

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

ii。按名称播种屏幕运动员

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

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

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

vera__ 回答:在给定的任务下,使用类或多维数组更好吗?

  

...我应该使用类或多维数组来做到这一点吗?

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

在您的情况下,显而易见的班级是代表运动员的班级。喜欢:

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

然后,您要迁移的另一个班级使用向量来容纳所有运动员。像这样:

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

如果从这两个课程开始,您将能够解决家庭作业的许多部分。

与比赛类似,对于某些代表比赛(可能是模板化)的比赛,可能很有意义。此类的一个成员变量可以是该特定竞争的参与者的向量。成员函数可以是run()

关于数组:在许多情况下,数组在C ++中被向量替换。如果需要多维容器,则可以创建多维矢量,例如:

vector<vector<int> x;
本文链接:https://www.f2er.com/3104566.html

大家都在问