summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSanto Cariotti <sancn@live.com>2017-01-11 18:43:09 +0100
committerSanto Cariotti <sancn@live.com>2017-01-11 18:43:09 +0100
commit514cb9a5c07b5ad0154eeda491f8665504d66772 (patch)
tree25ab1c7b10af0970341b54de5e0daab7acb751d4
parent97708b347f181ec632ba0b2b0f2f30e97fe5a0e0 (diff)
p.190 n.1 con le classi
-rw-r--r--automobiliOOP.cc99
1 files changed, 99 insertions, 0 deletions
diff --git a/automobiliOOP.cc b/automobiliOOP.cc
new file mode 100644
index 0000000..66ef745
--- /dev/null
+++ b/automobiliOOP.cc
@@ -0,0 +1,99 @@
+#include <iostream>
+#include <string>
+#include <fstream>
+
+using namespace std;
+
+class automobili {
+protected:
+ string marca;
+ int anno_matricola;
+public:
+ int cilindrata;
+ void get_marca(string m) {marca = m;}
+ void get_cilindrata(int c) {cilindrata = c;}
+ void get_annoMatricola(int am) {anno_matricola = am;}
+ int annoMatricola(void) {return anno_matricola;}
+};
+
+class acquirente : public automobili {
+ string nome;
+ string cognome;
+public:
+ void get_nome(string n) {nome = n;}
+ void get_cognome(string cn) {cognome = cn;}
+ void visualizza_cognome(void) { cout << cognome << endl; }
+};
+
+int main(int argc, char *argv[])
+{
+ int i = 0, toshow = 0, anno_richiesto, N;
+ char ch;
+ acquirente *p;
+ string marca, nome, cognome;
+ int cilindrata, anno_matricola;
+
+ cout << "Quante auto vorresti inserire? ";
+ cin >> N;
+ acquirente var[N];
+
+ do {
+ p = &var[i];
+ cout << "Marca auto: ";
+ cin >> marca;
+ cout << "Cilindrata: ";
+ cin >> cilindrata;
+ cout << "Anno di immatricolazione: ";
+ cin >> anno_matricola;
+ cout << "Cognome del proprietario: ";
+ cin >> cognome;
+ cout << "Nome del proprietario: ";
+ cin >> nome;
+ cout << "-------------" << endl;
+
+ ofstream myFile;
+ myFile.open("db.txt", ios::app);
+ myFile << "Marca auto: " << marca << endl;
+ myFile << "Cilindrata: " << cilindrata << endl;
+ myFile << "Anno di immatricolazione: " << anno_matricola << endl;
+ myFile << "Cognome del proprietario: " << cognome << endl;
+ myFile << "Nome del proprietario: " << nome << endl;
+ myFile << "--------------" << endl;
+ myFile.close();
+
+ p->get_marca(marca);
+ p->get_cilindrata(cilindrata);
+ p->get_annoMatricola(anno_matricola);
+ p->get_nome(nome);
+ p->get_cognome(cognome);
+ i++;
+ } while(i < N);
+
+ cout << "Persone con auto di cilindrata maggiore a 1500: " << endl;
+ for(i = 0; i < N; i++){
+ if(p->cilindrata > 1500)
+ p->visualizza_cognome();
+ }
+
+ while(ch != 'n') {
+ cout << "Quale anno di immatricolazione si vuole visualizzare? ";
+ cin >> anno_richiesto;
+
+ for(i = 0; i < N; i++){
+ if(anno_richiesto == p->annoMatricola())
+ toshow++;
+ }
+
+ if(toshow > 0)
+ cout << "Nell'anno " << anno_richiesto << " sono state immatricolate num auto: " << toshow << endl;
+ else
+ cout << "Non ci sono immatricolazioni nell'anno " << anno_richiesto << endl;
+
+ toshow = 0;
+
+ cout << "Continuare? (S)ì | (N)o : ";
+ cin >> ch;
+ ch = tolower(ch);
+ }
+ return 0;
+}