From d99138741fb34a4cedb46bc0b577ee1efec4e0f1 Mon Sep 17 00:00:00 2001 From: axell-brendow Date: Sun, 7 Mar 2021 14:55:24 -0300 Subject: [PATCH] =?UTF-8?q?Cria=20m=C3=A9todo=20que=20l=C3=AA=20uma=20linh?= =?UTF-8?q?a=20vinda=20do=20CSV=20e=20preenche=20a=20m=C3=BAsica?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tps/fonte/musica.cpp | 64 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/tps/fonte/musica.cpp b/tps/fonte/musica.cpp index feb0278..40310b2 100644 --- a/tps/fonte/musica.cpp +++ b/tps/fonte/musica.cpp @@ -1,5 +1,9 @@ +#include #include #include + +#define MAX_LINE_SIZE 860 + typedef struct { char id[30]; char name[200]; @@ -99,5 +103,65 @@ double handle_percentage(double value) { return ceil(value) == value ? value / 100 : value; } +void read_music(Musica *music, char line[]) { + char field[MAX_LINE_SIZE]; + remove_line_break(line); + + line = read_csv_field(line, field); + music->valence = handle_percentage(atof(field)); + + line = read_csv_field(line + 1, field); + music->year = atoi(field); + + line = read_csv_field(line + 1, field); + music->acousticness = handle_percentage(atof(field)); + + line = read_csv_field(line + 1, field); + read_artists(music, field); + + line = read_csv_field(line + 1, field); + music->danceability = handle_percentage(atof(field)); + + line = read_csv_field(line + 1, field); + music->duration_ms = atoi(field); + + line = read_csv_field(line + 1, field); + music->energy = handle_percentage(atof(field)); + + line = read_csv_field(line + 1, field); // Skip 'explicit' column + + line = read_csv_field(line + 1, field); + strcpy(music->id, field); + + line = read_csv_field(line + 1, field); + music->instrumentalness = handle_percentage(atof(field)); + + line = read_csv_field(line + 1, field); + strcpy(music->key, field); + + line = read_csv_field(line + 1, field); + music->liveness = handle_percentage(atof(field)); + + line = read_csv_field(line + 1, field); + music->loudness = atof(field); + + line = read_csv_field(line + 1, field); // Skip 'mode' column + + line = read_csv_field(line + 1, field); + strcpy(music->name, field); + + line = read_csv_field(line + 1, field); + music->popularity = atoi(field); + + line = read_csv_field(line + 1, field); + read_release_date(music, field); + + line = read_csv_field(line + 1, field); + music->speechiness = handle_percentage(atof(field)); + + line = read_csv_field(line + 1, field); + music->tempo = atof(field); +} + }