Appunti_Programmazione_OOP/JavaScript/es_autosalone/cpp/Autosalone.cpp

126 lines
No EOL
3.3 KiB
C++

#include <stdio.h>
#include <string>
#include <inttypes.h>
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();
}