diff --git a/JavaScript/es_autosalone/cpp/Autosalone.cpp b/JavaScript/es_autosalone/cpp/Autosalone.cpp new file mode 100644 index 0000000..03928a2 --- /dev/null +++ b/JavaScript/es_autosalone/cpp/Autosalone.cpp @@ -0,0 +1,126 @@ +#include +#include +#include + +struct Auto { + // Attributi + std::string modello; + std::string marca; + std::string numTarga; + float prezzo; + + // Metodi + + // Stampa dettagli auto TODO --> [Funzionante] + void infoAuto(){ + printf("\nModello: %s\n", modello.c_str()); + printf("Marca: %s\n", marca.c_str()); + printf("Numero di Targa: %s\n", numTarga.c_str()); + printf("\tPrezzo: %.2f\n", prezzo); + } + + void modificaAuto( std::string nuovoModello, std::string nuovaMarca, std::string nuovaTarga, float nuovoPrezzo ){ + modello = nuovoModello; + marca = nuovaMarca; + numTarga = nuovaTarga; + // come cazzo si usa lo static cast dio cane!!! + prezzo = nuovoPrezzo; + puts("Dati aggiornati\n"); + } +}; + +struct Autosalone{ + int n=0; + + // Nome Azienda + std::string nome; + // Locazione + std::string parco; + // Array con inventario + Auto inventario[100]; // per ora 100, poi facciamo dinamico... + + // inizializzo l'oggetto visto la mancaza di costruttori... + // e la mia poca voglia di studiare + void init( const std::string newNome, const std::string newParco){ + nome = newNome; + parco = newParco; + }; + + // Metodi + void addAuto( const Auto &newauto ){ // non credo sia corretto + + inventario[n] = newauto; + n++; + + printf("\n\tAuto Aggiunta.\n"); + } + + // ToDo, Doppio metodo. Anche se credo si posso fare uno solo condizionale... + // ma ripeto... la mia voglia di studiare รจ misera... molto misera... + + // formalmente scorretto, indice cambia(?) + void removeAutoID( int ID = -1 ){ + if ( ID == -1 ){ + printf("Errore: Inserire ID inventario...\n...\n\tStampa inventario in corso:\n"); + infoInventario(); + } else { + removeAuto(); + } + + } + void removeAuto(){ + + } + + // ToDo +void modificataInventario( int ID = -1 ){ + if ( ID == -1 ){ + printf("Errore: Inserire ID inventario...\n...\n\tStampa inventario in corso:\n"); + infoInventario(); + } else { + removeAuto(); + } + + } + + void infoInventario(){ + printf("Autosalone: %s\n", nome.c_str()); + printf("\tLocazione: %s\n", parco.c_str()); + + for (int i = 0; i < n; i++){ + printf("\n\tAuto N / posizione inventario: \nID:%d \n", i); + inventario[i].infoAuto(); + printf("----------------------------------"); + } + printf("\n"); + } +}; + + + + +int main(void){ + + Auto testAuto1 = {"M3 S-Sport", "BMW", "MT213132", 34.918}; + Autosalone testAutosalone1; + + testAutosalone1.init("Bebbo's Lab", "Vetrina"); + + testAutosalone1.addAuto( testAuto1 ); + Auto auto1 = {"Baracca", "Subaru", "STRUNNZ", 1000000}; + Auto auto2 = {"Sandalo", "Offeso", "MT213132", 918}; + Auto auto3 = {"Yeti", "Skoda", "AKSMKDA", 15769.90}; + Auto auto4 = {"Pigra", "Nissan", "ASSAAS", 12122}; + Auto auto5 = {"Sandero", "Dacia", "MAMT", 9999}; + + testAutosalone1.addAuto(auto1); + testAutosalone1.addAuto(auto2); + testAutosalone1.addAuto(auto3); + testAutosalone1.addAuto(auto4); + testAutosalone1.addAuto(auto5); + + testAutosalone1.removeAutoID(1); + + //testAutosalone1.infoInventario(); + +} \ No newline at end of file diff --git a/JavaScript/es_autosalone/cpp/autosalonetest b/JavaScript/es_autosalone/cpp/autosalonetest new file mode 100755 index 0000000..8b69c1f Binary files /dev/null and b/JavaScript/es_autosalone/cpp/autosalonetest differ