首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于给定的任务,使用类或多维数组更好吗?

对于给定的任务,使用类或多维数组更好吗?
EN

Stack Overflow用户
提问于 2019-11-14 07:32:22
回答 1查看 74关注 0票数 1

我在c++是个新手。我想知道是使用类/es还是使用多维数组来完成这个任务?我真的需要一些关于如何实现这些目标的建议!

因此,我有以下任务:

制作一个用于世界田径竞赛的信息系统的程序。该项目应保存和修改有关运动员的信息,如每个运动员的-> (竞赛中的人数、姓名、纪律、职业生涯中最好的成绩、今年的最佳成绩、参加世界比赛的次数)。必须有5个不同的学科(200米短跑,4x400米,投掷矛,跳高,三级跳远)。在每项训练中,将有6名运动员。

在程序中使用函数的菜单(我已经做了其中的大部分,我相信)

增加运动员。在每一学科中增加一名运动员。二、增加一个运动员的名单,写数字N,在它之后,每一个纪律N个运动员。

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

D.举办竞赛

每一个运动员都是随机跑的。这位运动员每年的最好成绩可以不少于20%,职业生涯最好分数不能超过10%。

二、每个运动员都有5%的机会做错误的开始.

E.奖牌表-运动员在每项比赛中按国家分组,按新排列(第一名-30P,SCND-20P等)。该数组按递增顺序显示在屏幕上(还显示国家名称、分数、来自这个国家的运动员名单,以及他们在比赛中的得分)。

F.显示一些额外信息:

i.按年龄顺序在屏幕上展示运动员

二、播种机上按名字订购的运动员

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

一.三。和大多数运动员一起在屏幕上展示这个国家

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-14 07:58:12

...我应该使用类/es还是多维数组来完成这个任务?

几乎所有复杂级别的C++程序都会使用类将相关信息收集到单个对象中。

在你的例子中,一个明显的类应该是一个代表运动员的类。比如:

代码语言:javascript
复制
class athlete
{
    string name;
    uint32_t competition_number;
    ...
    ...
};

然后,你想要另一个类别的所有运动员使用一个向量。类似于:

代码语言:javascript
复制
class participants
{
    vector<athlete> participants;
    ...
    ...
}

如果你从这两门课开始,你就能解决家庭作业的许多部分。

类似的竞争,它可能是有意义的某个级别(也许模板)来代表一个竞争。这类的一个成员变量可以是特定竞争参与者的向量。成员函数可以是run()

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

代码语言:javascript
复制
vector<vector<int> x;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58851525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档