Chiedo scusa pubblico subito,
#include <iostream>
#include "libreria.h"
#include "funzioni.h"
using namespace std;
int main() {
lista macchine;
macchine.first=0;
int ci;
int k,cont=0;
lista newcar;
newcar.first=0;
string* mo=new string;
string* ma=new string;
int cil2;
int scelta;
int n=0;
int i=0;
int cilminore;
do{
cout<<"ELENCO OPERAZIONI \n"<<endl;
cout<<"1.INSERIMENTO IN LISTA \n";
cout<<"2.CONTEGGIO NODI CON CILINDRATA MAGGIORE DI K PRESO IN INGRESSO \n";
cout<<"3.CREAZIONE LISTA NODI CON VALORE UGUALE A QUELLO FORNITO IN INGRESSO \n";
cout<<"5.ELIMINAZIONE ELEMENTI MINORI DI CILINDRATA IN LISTA \n";
cout<<"6.INVERTIRE ELEMENTI DI TESTA E CODA DELLA LISTA \n";
cout<<"7.SVUOTARE LISTA \n";
cout<<"8.STAMPA LISTA INIZIALE \n";
cout<<"9.STAMPA LISTA CREATA \n";
cout<<"10.EXIT \n";
cout<<"Inserisci operazione da eseguire: ";
cin>>scelta;
cout<<endl;
mac* p=new mac;
switch (scelta){
case (1) :
cout<<"Quante auto vuoi inserire? ";
cin>>n;
while (i<n){
cout<<"Inserisci modello "<<endl;
cin.ignore();
getline(cin,*mo);
cout<<"Inserisci marca "<<endl;
getline(cin,*ma);
cout<<"Inserisci ciindrata "<<endl;
cin>>ci;
//ordinalista (macchine,ci,ma,mo);
i++;
}
cout<<endl;
break;
case (2) :
cout<<"Inserisci soglia cilindrata: ";
cin>>k;
cont=contanodi (macchine,k);
cout<<"Automobili con cilindrata maggiore di "<< k <<" "<<cont<<endl;
cout<<endl;
break;
case (3) :
cout<<"Inserisci cilindrata"<<endl;
cin>>cil2;
listacili (macchine,newcar,cil2);
cout<<endl;
break;
case (5) :
cout<<"Inserisci cilindrata soglia: ";
cin>>cilminore;
eliminapiuvalori (macchine,cilminore);
cout<<endl;
break;
case (6) :
inverti (macchine);
cout<<endl;
break;
case (7) :
svuotalista (macchine);
break;
case (8) :
stampalista (macchine);
cout<<endl;
break;
case (9) :
stampalista (newcar);
cout<<endl;
break;
case (10) ://ESCI
break;
}
}while(scelta!=10);
return 0;
}
il sottoprogramma invece per l'inserimento è il seguente:
#include "libreria.h"
void inserimentotesta (lista& l,int cil,string *mar,string *mod){
mac* p=new mac;
p->cilindrata=cil;
p->marca=mar;
p->modello=mod;
p->next=l.first;
l.first=p;
}