From ccb78a4db2f6d6cbe49bbec2e8e558b31243eeeb Mon Sep 17 00:00:00 2001 From: Steva <148330069+Steva0@users.noreply.github.com> Date: Sun, 29 Dec 2024 15:32:09 +0100 Subject: [PATCH 1/6] Update mainNode.cpp --- src/mainNode.cpp | 109 +++++++++++++++++++++++++++++++---------------- 1 file changed, 72 insertions(+), 37 deletions(-) diff --git a/src/mainNode.cpp b/src/mainNode.cpp index a7a5ded..59fa13a 100644 --- a/src/mainNode.cpp +++ b/src/mainNode.cpp @@ -1,54 +1,89 @@ -//Alberto Bortoletto #include "../include/LinkedList.h" +#include "Dispositivo.h" #include +#include +#include -using namespace std; - -int main() -{ +int main() { try { - Dispositivo Frigorifero = CreaDispositivo::creaDispositivo("Frigrifero", 76); //Manuale - Dispositivo Lavatrice = CreaDispositivo::creaDispositivo("Lavtrice", 8); //110 min - Dispositivo ScaldaBagno = CreaDispositivo::creaDispositivo("Scalda bagno", 9); //Manuale - Dispositivo Televisore = CreaDispositivo::creaDispositivo("Televisre", 4); //60 min - Dispositivo Asciugatrice = CreaDispositivo::creaDispositivo("Asciugatrice", 2); //60 min - Dispositivo FornoMicroonde = CreaDispositivo::creaDispositivo("Forno a microonde", 1); //2 min - - LinkedList list = LinkedList(); + LinkedList lista; + std::cout << "Test: Operazioni su lista vuota" << std::endl; - list.insert(Frigorifero); - cout << list << endl; + try { + lista.removeDispositivoName("Test"); + } catch (const std::out_of_range& e) { + std::cerr << "Errore: " << e.what() << std::endl; + return 1; + } - list.insert(Lavatrice); - cout << list << endl; + try { + lista.removeDispositivoId(1); + } catch (const std::out_of_range& e) { + std::cerr << "Errore: " << e.what() << std::endl; + return 2; + } - list.insert(ScaldaBagno); - cout << list << endl; + try { + lista.show("Test"); + } catch (const std::out_of_range& e) { + std::cerr << "Errore: " << e.what() << std::endl; + return 3; + } - list.insert(Televisore); - cout << list << endl; + // Creazione dispositivi di test + Dispositivo d1("Lampada", 1, 100, 5, 10); + Dispositivo d2("PC", 2, 200, 8, 12); + Dispositivo d3("TV", 3, 150, 6, 9); - list.insert(FornoMicroonde); - cout << list << endl; + std::cout << "Test: Inserimenti" << std::endl; + try { + lista.insert(d1); + lista.insert(d2); + lista.insert(d3); + } catch (const std::exception& e) { + std::cerr << "Errore durante l'inserimento: " << e.what() << std::endl; + return 4; + } - list.insert(Asciugatrice); - cout << list << endl; + std::cout << "Lista attuale:\n" << lista.showAll() << std::endl; - list.removeDispositivoName("Scaldabagno"); - cout << list << endl; + std::cout << "Test: Rimozione per nome" << std::endl; + try { + lista.removeDispositivoName("Lampada"); + } catch (const std::invalid_argument& e) { + std::cerr << "Errore: " << e.what() << std::endl; + return 5; + } - cout << Televisore.getOrarioSpegnimento() << endl; + std::cout << "Lista dopo rimozione:\n" << lista.showAll() << std::endl; - list.removeAllDispositiviOff(5); - cout << list << endl; + std::cout << "Test: Rimozione per ID" << std::endl; + try { + lista.removeDispositivoId(2); + } catch (const std::invalid_argument& e) { + std::cerr << "Errore: " << e.what() << std::endl; + return 6; + } - list.removeTimer("Asciugatrice"); - cout << list << endl; - cout << Asciugatrice.getOrarioSpegnimento() << endl; - } - catch (exception& e) { - return 1; + std::cout << "Lista dopo rimozione:\n" << lista.showAll() << std::endl; + + std::cout << "Test: Rimozione dispositivi spenti" << std::endl; + try { + auto spenti = lista.removeAllDispositiviOff(10); + std::cout << "Dispositivi rimossi:\n"; + for (const auto& disp : spenti) { + std::cout << disp->getNome() << std::endl; + } + } catch (const std::exception& e) { + std::cerr << "Errore: " << e.what() << std::endl; + return 7; + } + + std::cout << "Lista finale:\n" << lista.showAll() << std::endl; + } catch (const std::exception& e) { + std::cerr << "Errore critico: " << e.what() << std::endl; + return 99; } + return 0; } - From 38d7d66535af74c104cb9b94fafe40d7e8b00406 Mon Sep 17 00:00:00 2001 From: Steva <148330069+Steva0@users.noreply.github.com> Date: Sun, 29 Dec 2024 15:33:04 +0100 Subject: [PATCH 2/6] Update mainNode.cpp --- src/mainNode.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/mainNode.cpp b/src/mainNode.cpp index 59fa13a..8f0bca2 100644 --- a/src/mainNode.cpp +++ b/src/mainNode.cpp @@ -1,5 +1,4 @@ #include "../include/LinkedList.h" -#include "Dispositivo.h" #include #include #include From 49993bc754494a6e77dd1bd59868b534ebe47064 Mon Sep 17 00:00:00 2001 From: Steva <148330069+Steva0@users.noreply.github.com> Date: Sun, 29 Dec 2024 15:34:50 +0100 Subject: [PATCH 3/6] Update mainNode.cpp --- src/mainNode.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mainNode.cpp b/src/mainNode.cpp index 8f0bca2..4f4543f 100644 --- a/src/mainNode.cpp +++ b/src/mainNode.cpp @@ -12,7 +12,7 @@ int main() { lista.removeDispositivoName("Test"); } catch (const std::out_of_range& e) { std::cerr << "Errore: " << e.what() << std::endl; - return 1; + //return 1; } try { From 762e5aea0703e319200cb4f28cae81748cf7ba6e Mon Sep 17 00:00:00 2001 From: Steva <148330069+Steva0@users.noreply.github.com> Date: Sun, 29 Dec 2024 15:38:18 +0100 Subject: [PATCH 4/6] Update mainNode.cpp --- src/mainNode.cpp | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/mainNode.cpp b/src/mainNode.cpp index 4f4543f..2e276fb 100644 --- a/src/mainNode.cpp +++ b/src/mainNode.cpp @@ -1,4 +1,5 @@ #include "../include/LinkedList.h" +#include "Dispositivo.h" #include #include #include @@ -12,21 +13,18 @@ int main() { lista.removeDispositivoName("Test"); } catch (const std::out_of_range& e) { std::cerr << "Errore: " << e.what() << std::endl; - //return 1; } try { lista.removeDispositivoId(1); } catch (const std::out_of_range& e) { std::cerr << "Errore: " << e.what() << std::endl; - return 2; } try { lista.show("Test"); } catch (const std::out_of_range& e) { std::cerr << "Errore: " << e.what() << std::endl; - return 3; } // Creazione dispositivi di test @@ -41,7 +39,6 @@ int main() { lista.insert(d3); } catch (const std::exception& e) { std::cerr << "Errore durante l'inserimento: " << e.what() << std::endl; - return 4; } std::cout << "Lista attuale:\n" << lista.showAll() << std::endl; @@ -51,7 +48,6 @@ int main() { lista.removeDispositivoName("Lampada"); } catch (const std::invalid_argument& e) { std::cerr << "Errore: " << e.what() << std::endl; - return 5; } std::cout << "Lista dopo rimozione:\n" << lista.showAll() << std::endl; @@ -61,7 +57,6 @@ int main() { lista.removeDispositivoId(2); } catch (const std::invalid_argument& e) { std::cerr << "Errore: " << e.what() << std::endl; - return 6; } std::cout << "Lista dopo rimozione:\n" << lista.showAll() << std::endl; @@ -75,13 +70,11 @@ int main() { } } catch (const std::exception& e) { std::cerr << "Errore: " << e.what() << std::endl; - return 7; } std::cout << "Lista finale:\n" << lista.showAll() << std::endl; } catch (const std::exception& e) { std::cerr << "Errore critico: " << e.what() << std::endl; - return 99; } return 0; From 63662aba54903af615e633f2c1c27daf3e596c5f Mon Sep 17 00:00:00 2001 From: Steva <148330069+Steva0@users.noreply.github.com> Date: Sun, 29 Dec 2024 15:38:59 +0100 Subject: [PATCH 5/6] Update mainNode.cpp --- src/mainNode.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/mainNode.cpp b/src/mainNode.cpp index 2e276fb..dcc346b 100644 --- a/src/mainNode.cpp +++ b/src/mainNode.cpp @@ -1,5 +1,4 @@ #include "../include/LinkedList.h" -#include "Dispositivo.h" #include #include #include From 468a8f1b3e6fa322cffba168a72de6f3890007fc Mon Sep 17 00:00:00 2001 From: Steva <148330069+Steva0@users.noreply.github.com> Date: Sun, 29 Dec 2024 15:44:26 +0100 Subject: [PATCH 6/6] Update mainNode.cpp --- src/mainNode.cpp | 89 +++++++++++++++--------------------------------- 1 file changed, 27 insertions(+), 62 deletions(-) diff --git a/src/mainNode.cpp b/src/mainNode.cpp index dcc346b..5832858 100644 --- a/src/mainNode.cpp +++ b/src/mainNode.cpp @@ -5,76 +5,41 @@ int main() { try { + // Creazione della lista collegata LinkedList lista; - std::cout << "Test: Operazioni su lista vuota" << std::endl; - - try { - lista.removeDispositivoName("Test"); - } catch (const std::out_of_range& e) { - std::cerr << "Errore: " << e.what() << std::endl; - } - - try { - lista.removeDispositivoId(1); - } catch (const std::out_of_range& e) { - std::cerr << "Errore: " << e.what() << std::endl; - } - - try { - lista.show("Test"); - } catch (const std::out_of_range& e) { - std::cerr << "Errore: " << e.what() << std::endl; - } - + // Creazione dispositivi di test Dispositivo d1("Lampada", 1, 100, 5, 10); Dispositivo d2("PC", 2, 200, 8, 12); Dispositivo d3("TV", 3, 150, 6, 9); - - std::cout << "Test: Inserimenti" << std::endl; - try { - lista.insert(d1); - lista.insert(d2); - lista.insert(d3); - } catch (const std::exception& e) { - std::cerr << "Errore durante l'inserimento: " << e.what() << std::endl; + + // Inserimento dispositivi + lista.insert(d1); + lista.insert(d2); + lista.insert(d3); + + // Visualizzazione iniziale della lista + std::cout << "Lista iniziale:\n" << lista.showAll() << std::endl; + + // Rimozione per nome + lista.removeDispositivoName("Lampada"); + std::cout << "Lista dopo rimozione del dispositivo 'Lampada':\n" << lista.showAll() << std::endl; + + // Rimozione per ID + lista.removeDispositivoId(2); + std::cout << "Lista dopo rimozione del dispositivo con ID 2:\n" << lista.showAll() << std::endl; + + // Rimozione dispositivi spenti + auto dispositiviSpenti = lista.removeAllDispositiviOff(10); + std::cout << "Dispositivi rimossi (spenti):" << std::endl; + for (const auto& dispositivo : dispositiviSpenti) { + std::cout << dispositivo->getNome() << std::endl; } - - std::cout << "Lista attuale:\n" << lista.showAll() << std::endl; - - std::cout << "Test: Rimozione per nome" << std::endl; - try { - lista.removeDispositivoName("Lampada"); - } catch (const std::invalid_argument& e) { - std::cerr << "Errore: " << e.what() << std::endl; - } - - std::cout << "Lista dopo rimozione:\n" << lista.showAll() << std::endl; - - std::cout << "Test: Rimozione per ID" << std::endl; - try { - lista.removeDispositivoId(2); - } catch (const std::invalid_argument& e) { - std::cerr << "Errore: " << e.what() << std::endl; - } - - std::cout << "Lista dopo rimozione:\n" << lista.showAll() << std::endl; - - std::cout << "Test: Rimozione dispositivi spenti" << std::endl; - try { - auto spenti = lista.removeAllDispositiviOff(10); - std::cout << "Dispositivi rimossi:\n"; - for (const auto& disp : spenti) { - std::cout << disp->getNome() << std::endl; - } - } catch (const std::exception& e) { - std::cerr << "Errore: " << e.what() << std::endl; - } - + + // Visualizzazione finale della lista std::cout << "Lista finale:\n" << lista.showAll() << std::endl; } catch (const std::exception& e) { - std::cerr << "Errore critico: " << e.what() << std::endl; + std::cerr << "Errore: " << e.what() << std::endl; } - return 0; }