0

我正在尝试用 C# 构建一个 CD 收集程序,它可以

  1. 创建一个新专辑(即,在您的专辑数据库中添加一个新条目)
  2. 更改或删除相册数据库中的现有相册
  3. 在专辑中输入一段音乐的详细信息(标题、艺术家、流派和音乐长度)
  4. 更改或删除专辑中现有音乐的详细信息
  5. 列出给定专辑中所有音乐的详细信息
  6. 列出给定艺术家的所有音乐
  7. 列出数据库中的所有音乐。您的程序必须允许用户选择列表顺序:按专辑、按艺术家、按流派或按标题。

我被困在第三位,为每张专辑添加细节,到目前为止我有这个,我想当我做对时,其余的细节将很容易添加

public bool AddSong(string songName)
    {
        for (int i = 0; i < MAX_MUSIC; i++)
        {
            string c = albumName;                   // This compares the album name given by user
            string e = myMusic[i].getAlName;        // to the album name in the myMusic array
            int d = c.CompareTo(e);                 //
            if (d == 0)
            {
                int index = -1;
                for (int j = 0; j < MAX_SONG; j++)
                {
                    if (Songs[i] == null)
                    {
                        index = i;
                        break;
                    }
                }
                if (index != -1)
                {
                    Songs[index] = songName;
                    ++totalSongs;
                    return true;
                }
            }
        }


        return false;

    }

任何给我方向的帮助将不胜感激。

编辑:这是家庭作业,我是一名外部学生,我的讲师和他一样好,英语说得不太好,我不指望免费赠品。只是接近的方向,也许是一个奇怪的提示;)

EDIT2:我的代码非常大,所以我认为不适合发布如此大量的代码,但我可以提供指向类的链接

音乐数据库.cs

音乐.cs

Form1.cs

4

2 回答 2

1
if (index != -1)
{
     Songs[index] = songName;
     ++totalSongs;
     return true;
}

这是您现在需要关注的部分。

问你自己:

  1. 如何创建一个新Song类(初始化)?
  2. 如何设置Song类的属性?
  3. 最后,如何将 应用于Song数组中的正确位置?
于 2013-04-04T09:38:55.677 回答
1
           for (int j = 0; j < MAX_SONG; j++)
            {
                if (Songs[i] == null)
                {
                    index = i;
                    break;
                }
            }

您正在循环 j 但您没有在 for 循环中使用 j 。所以你真的在做同样的事情 MAX_SONG 次。

于 2013-04-04T09:41:24.833 回答