126 lines
No EOL
3.3 KiB
C++
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();
|
|
|
|
} |