Concetti Chiave
- Il programma gestisce un array di strutture "dispositivo", che memorizza informazioni su vari dispositivi come marca, display, sistema operativo e costo.
- Include funzioni per l'input, l'ordinamento, la visualizzazione e il calcolo della media dei costi dei dispositivi in base al sistema operativo.
- Il menu principale offre diverse opzioni agli utenti, come inserimento dati, ordinamento, visualizzazione e calcolo della media, fino a scegliere di uscire.
- L'ordinamento dei dispositivi è basato sulla dimensione del display, ma il codice relativo all'ordinamento è attualmente commentato e incompleto.
- Il codice contiene diversi errori di sintassi e logica, inclusi cicli incompleti e istruzioni di stampa errate, che necessitano di correzioni per funzionare correttamente.
#include
#include
#define MAX 50
#include
#include
using namespace std;
struct dispositivo{
char marca[21];
float display;
char s_o[21];
float costo;
};
void input(int &n,dispositivo dispositivi[]);
void ordinamento(int n,dispositivo dispositivi[]);
void visualizza(int n,dispositivo dispositivi[]);
void media (int n,dispositivo dispositivi[]);
//void stampa (int n,dispositivo dispositivi[]);
int main(){
dispositivo dispositivi [MAX] ={{"Zamzung",4.5,"Airdroid",200.99},
{"Fokia",5,"Windows",299.99},
{"Applo",10,"ISO",899.99},
{"Zamzung",4.5,"Airdroid",200.99},
{"Fokia",5,"Windows",299.99},
{"Applo",10,"ISO",899.99},
{"Zamzung",4.5,"Airdroid",200.99},
{"Fokia",5,"Windows",299.99},
{"Applo",10,"ISO",899.99},
{"Zamzung",4.5,"Airdroid",200.99}};
int n=3,scelta;
do{
system ("cls");
cout
cout
cout
cout
cout
cout
cout
cout
cin>>scelta;
switch(scelta){
case 1:
input (n, dispositivi);
break;
case 2:
ordinamento(n,dispositivi);
break;
case 3:
visualizza(n,dispositivi);
break;
case 4:
media (n,dispositivi);
}
}while(scelta!= 5);
return 0;
}
void input(int &n,dispositivo dispositivi[]){
system ("cls");
cout
cout
cin>>n;
for(int i=0; i
cout
cin>>dispositivi.display;
cout
cin>>dispositivi.s_o;
cout
cin>>dispositivi.costo;
}
system("PAUSE");
}
void ordinamento(int n,dispositivo dispositivi[]){
system ("cls");
cout
/* for(int i = 0 ; i
for(int j = i+1; j
if(dispositivi.display>dispositivi[j].display){
tmp=dispositivi;
dispositivi=dispositivi[j];
dispositivi[j]=tmp;
}*/
for(int i = 0 ; i
cout.marca
cout.display
cout.s_o
cout.costo
}
cout
cout
system("PAUSE");
}
void visualizza(int n,dispositivo dispositivi[]){
system ("cls");
cout
for(int i=0; i
system("PAUSE");
}
void media(int n,dispositivo dispositivi[]){
system ("cls");
char vett[21];
int tmp=0, j=0;
cout
cout
cin.getline(vett, 21);
for( int i=0; i
if(strcmp(vett, dispositivi.s_o) == 0){
tmp = tmp+dispositivi.costo;
j++;
}
}
cout
system("PAUSE");
}