C++ C+中的数组存在问题+;

C++ C+中的数组存在问题+;,c++,C++,我在编写代码方面遇到了麻烦,但我想我已经掌握了大部分。我就是不能把分秒记下来。有人能帮忙吗 编写C++代码,执行以下操作:< /P> •显示包含您姓名的欢迎信息 •提示并读取相册中12首曲目的长度(以分钟和秒为单位) •在阵列中以秒为单位存储每条轨迹的长度。 (注意:总秒数可通过分钟数乘以60并加上秒数来计算。) •计算并显示以下内容: –专辑中最短的曲目及其长度–专辑中最长的曲目及其长度 –整个专辑的总运行时间 –专辑中曲目的平均长度 •在输出中,所有时间都应采用标准的分和秒格式,中间应有冒号

我在编写代码方面遇到了麻烦,但我想我已经掌握了大部分。我就是不能把分秒记下来。有人能帮忙吗

编写C++代码,执行以下操作:< /P> •显示包含您姓名的欢迎信息

•提示并读取相册中12首曲目的长度(以分钟和秒为单位)

•在阵列中以秒为单位存储每条轨迹的长度。 (注意:总秒数可通过分钟数乘以60并加上秒数来计算。)

•计算并显示以下内容:

–专辑中最短的曲目及其长度–专辑中最长的曲目及其长度

–整个专辑的总运行时间

–专辑中曲目的平均长度

•在输出中,所有时间都应采用标准的分和秒格式,中间应有冒号。这应通过具有以下原型的void函数完成:

无效显示时间(整数秒)

可以使用/和%运算符计算分钟数。请注意,如果秒数小于10,此函数必须在冒号后显示额外的零。例如,总长度为185秒的轨迹的长度应显示为3:05

应该是这样的

轨道1:3 25

轨道2:4 56

一直到12点

这就是我目前所拥有的

#include <iostream>
#include <iomanip>

using namespace std;

void displayTime(int totalSeconds);

int main()
{
   const int SIZE = 12;
   float Tracks[SIZE];
   int cnt = 0;
    int TrackHigh;
    int TrackLow;
    int totalSeconds;


    cout << "Welcome to Jalen Keller's Album Length Calculator." << endl;
    cout << "Please enter all track lengths in minutes and seconds separated by a space." << endl;

    while (Tracks[cnt] != -1 && cnt < SIZE)
    {
        cout << "Track " << cnt + 1 << ": ";
        cin >> Tracks[cnt];
        cnt++;

    }

    TrackHigh = Tracks[0];
    for (cnt = 0; cnt < SIZE; cnt++) {


        if (Tracks[cnt] > TrackHigh)
        {
            TrackHigh = Tracks[cnt];
        }
    }
    TrackLow = Tracks[0];
    for (cnt = 0; cnt < SIZE; cnt++)
        if (Tracks[cnt] < TrackHigh)
        {
            TrackHigh = Tracks[cnt];
        }

    double total = 0;
    double average;
    for (int cnt = 0; cnt < SIZE; cnt++)
    {
        total += Tracks[cnt];
        average = (total / SIZE);
    }

    cout << "The shortest track is: " << TrackHigh << endl;
    cout << "The longest track is: " << TrackLow << endl;
    cout << "The average length of a track is: " << average << endl;

    system("pause");
    return 0;
}
#包括
#包括
使用名称空间std;
无效显示时间(整数秒);
int main()
{
常数int SIZE=12;
浮动轨道[尺寸];
int-cnt=0;
int轨高;
int TrackLow;
整数秒;

你的任务描述实际上告诉你应该如何做

分钟和秒格式,中间带冒号

可以使用/和%运算符计算分钟数

请注意,如果秒数小于10,此函数必须在冒号后显示额外的零


我不太清楚为什么
Tracks[cnt]
应该不同于-1,因为它当时还没有初始化。我认为cntfor(cnt=0;cnt这是经典的复制粘贴错误

if (Tracks[cnt] < TrackHigh)
{
    TrackHigh = Tracks[cnt];
}
该数组在声明中未初始化,因此第一个循环中的条件
Tracks[cnt]!=-1
是未定义的行为。如果
-1
是停止填充相册的用户信号,则必须禁用该循环

for (cnt = 0; cnt < SIZE; ++cnt)
{
    cout << "Track " << cnt + 1 << ": ";
    cin >> Tracks[cnt];
    if (Tracks[cnt] == -1)
    {
        AlbumSize = cnt + 1;
        break;
    }
}
for(cnt=0;cntcout“我就是不能把分和秒都记下来。”你能展示一下你的尝试吗?你提供的代码似乎没有调用diplayTime(),也没有展示实现该函数的尝试。你剩下的代码看起来还行(或多或少),但基本上你是在问是否有人能为你完成最后一部分。因此,你的问题可能会被认为是离题。我尝试过,只是在它们不起作用时不断删除它们。我只需要朝着正确的方向推动。我理解,但你至少应该包括最接近你的实现。
if (Tracks[cnt] < TrackHigh)
{
    TrackHigh = Tracks[cnt];
}
if (Tracks[cnt] < TrackHigh)
{
    TrackLow = Tracks[cnt];
}
for (cnt = 0; cnt < SIZE; ++cnt)
{
    cout << "Track " << cnt + 1 << ": ";
    cin >> Tracks[cnt];
    if (Tracks[cnt] == -1)
    {
        AlbumSize = cnt + 1;
        break;
    }
}