-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTrack.h
More file actions
63 lines (57 loc) · 1005 Bytes
/
Track.h
File metadata and controls
63 lines (57 loc) · 1005 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#pragma once
#include <iostream>
using namespace std;
#include "Album.h"
#include "Artist.h"
#include "TrackList.h"
struct Track
{
int ID_Track;
string Name_Track;
int Time_Track;
Track();
void Set(string str);
void PrintInfo();
string AllString();
bool operator==(Track Cell);
};
struct NodeTrack
{
NodeTrack(Track Cell);
Track thisCell;
NodeTrack* pPrev;
NodeTrack* pNext;
};
class ListTrack
{
int Size;
NodeTrack* pHead;
NodeTrack* pTail;
public:
ListTrack();
void Add(Track Cell);
NodeTrack* GetpHead();
void PrintNames();
void DeleteNode(Track Cell);
};
class TableTracks
{
public:
TableTracks();
void UploadTable(string path);
void PrintListOfNames();
ListTrack GetList();
int GenerateID();
bool Exists(string Name);
Track GetByName(string Name);
Track GetByID(int ID);
void PrintByTrackID(int IDTr);
void AddToList(Track Tr);
void AddToFile(Track Tr);
void DeleteTrack(Track Tr);
void UpdateFile();
private:
ListTrack TableList;
string Path;
int LastID;
};