0

recently i just learning about c and c++, and now i get assignment about creating simple music playlist in C using queue linked list, what i want ask why my song list not appear on the screen ? is there something wrong with my code, pleas enlight me

i am sorry newbie on stackoverflow too, still not getting use to stackoverflow

#include <stdio.h>
#include <stdlib.h>

struct node {
    int data;
    struct node* next;
};
struct node* front = NULL;
struct node* rear = NULL;
struct node* temp;

int songSlot;
 char* song[50]= {
    "IDGAF - Dua Lipa",
    "FRIENDS - Marshmello, Anne-Marie",
    "The Middle - Zedd, Maren Morris, Grey",
    "Best Part - H.E.R., Daniel Caesar",
    "All The Stars (with SZA) - Kendrick Lamar, LZA",
    "Wolves - Selena Gomez, Marshmello",
    "God's Plan - Drake",
    "Rewrite The Stars - Zac Efron, Zendaya",
    "Havana - Camila Cabello, Young Thug",
    "Perfect - Ed Sheeran"
};

void ShowSong(int _val){
    switch (_val) {
    case 1: printf(song[0]);
        break;

    }
}

void Insert() {
    int val;
    printf("What song number you want to add : \n");
    scanf("%d",val);
    ShowSong(val);
    printf("Added to playlist\n");
    system("pause");

    //ShowSong(val);
    if (rear == NULL) {
        rear = (struct node*) malloc(sizeof(struct node));
        rear->next = NULL;
        rear->data = val;
        front = rear;
    }
    else {
        temp = (struct node*) malloc(sizeof(struct node));
        rear->next = temp;
        temp->data = val;
        temp->next = NULL;
        rear = temp;
    }
}


void NextSong() {
    temp = front;
    if (front == NULL) {
        printf("Underflow");
        system("pause");

        return;
    }
    else
        if (temp->next != NULL) {
            temp = temp->next;

            printf("\n");
            printf("Skipping  ",front->data );
            int skipSongVal = front->data;
            ShowSong(skipSongVal);
            printf("\n");
            free(front);

            front = temp;
             printf("\n");
            printf("Now Playing  ",front->data );
            int nextSongVal = front->data;
            ShowSong(nextSongVal);
            printf("\n");
            printf("\n");

            system("pause");
        }
        else {
            printf("Skipping  ",front->data );
            int nextSongVal2 = front->data;
            ShowSong(nextSongVal2);
            printf("\n");
            free(front);
            front = NULL;
            rear = NULL;

            system("pause");
        }
}

void ClearPlaylist()
{
    temp = front;
    if (front == NULL) {
        printf("Playlist is Already Empty\n");
        system("pause");

        return;
    }
    else
    {
        printf("Clearing Playlist");
        free(front);
        front = NULL;
        rear = NULL;

        system("pause");
    }
}


void Display() {
    printf("PLAYLIST ");
    temp = front;
    if ((front == NULL) && (rear == NULL)) {
        printf("Playlist is empty\n");
        return;
    }
    printf("Next Song is : \n");
    while (temp != NULL) {
        int valDisplay = temp->data;
        printf("%d",valDisplay);
        ShowSong(valDisplay);
        printf("\n");
        temp = temp->next;
    }
    printf("\n");
}

int main() {
    int ch;

    do {
          system("CLS");
        printf("MUSICS\n");
        printf("1)\n",song[0]);
        printf("2)\n",song[1]);
        printf("3)\n",song[2]);
        printf("4)\n",song[3]);
        printf("5)\n",song[4]);
        printf("6)\n",song[5]);
        printf("7)\n",song[6]);
        printf("8)\n",song[7]);
        printf("9)\n",song[8]);
        printf("10)\n",song[9]);
        printf("\n");

        Display();
        printf("\n");
        printf("1) Add Song to playlist\n");
        printf("2) Skip to next song\n");
        printf("3) Clear playlist\n");
        printf("4) Exit\n");

        printf("Enter your choice : \n");
        scanf("%d",&ch);
        switch (ch) {
        case 1: Insert();
            break;
        case 2: NextSong();
            break;
        case 3: ClearPlaylist();
            break;
        case 4: printf("exit\n");
            break;
        default: printf("Invalid Choice");
        }
    } while (ch != 4);
    return 0;
}
i am dum
  • 3
  • 4

0 Answers0