1

質問は、2つの構造体があると言います

最初の構造体には、これらのメンバー (15 文字の長さの title と呼ばれる文字列、double と呼ばれる長さ、これらのジャンルのいずれかを列挙定数として列挙型のジャンルのジャンル Blues 、HipHop、Jazz、Country、Electronic、Rock、Other) が含まれている必要があります。

2 番目の構造体には、(長さ 20 文字の title という文字列、長さ 30 文字の artist という文字列、最大 4 曲を含むタイプ Song の song という名前のメンバー、および最後のメンバーとして使用される c という整数変数) が必要です。曲数カウンター)

struct song は Song にエイリアスする必要があります。
struct album は、Album にエイリアスする必要があります。

私のプログラムはこのようなものです

enum genres { Blues = 0, HipHop, Jazz, Country, Electronic, Rock, Other};

struct song {
  char title[15];
  double length;
  enum genres genre;
};

typedef struct song Song;
struct album { 
char title[20];
char artist[30];
Song songs[4];
int noOfSongs;
};
typedef struct album Album;

質問が言うので、ここから私は問題を抱えています。もつ:

  1. getAlbumこの関数は、ユーザーにアルバムのタイトルとアーティストの名前を求めるプロンプトを出すパラメーターとしてアルバム ポインターを持ちます。
  2. getSong曲のタイトル、曲の長さ、およびその曲のジャンルをユーザーに求めるパラメーターとしてアルバム ポインターを持つ関数。
  3. printAlbum関数 この関数は、ユーザーから要求された情報を表示します。

アルバム内の曲数は最大 4 曲です。

これらの関数プロトタイプを思いつきました

void getAlbum( Album *aPtr);
void getSong( Album *sPtr);
void printAlbum( Album *pPtr);

関数と実装に問題があります。また、どちらにもアクセスできない正しい原因であるかどうか、列挙型と構造体のアルバムについてもわかりません。

4

2 に答える 2