Concetti Chiave

  • Il programma definisce una struttura 'dispositivo' per memorizzare informazioni sui dispositivi elettronici, come marca, dimensione del display, sistema operativo e costo.
  • Gli utenti possono interagire con il programma tramite un'interfaccia a menu per inserire nuovi dispositivi, ordinarli, visualizzare la lista e calcolare il costo medio in base al sistema operativo.
  • La funzionalità di ordinamento è incompleta a causa di cicli nidificati e logica di confronto commentati, impedendo l'ordinamento dei dispositivi per dimensione del display.
  • Nel codice ci sono dichiarazioni 'cout' mancanti per la visualizzazione delle opzioni di menu e dei dettagli dei dispositivi.
  • Il programma utilizza un ciclo 'do-while' per mantenere l'interazione dell'utente finché non viene selezionata l'opzione di uscita.

#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.marca;
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 cout.marca cout.display cout.s_o cout.costo cout }
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");
}

Domande da interrogazione

  1. What is the purpose of the 'dispositivo' structure in the code?
  2. The 'dispositivo' structure is used to define a template for storing information about electronic devices, including their brand, display size, operating system, and cost.

  3. How does the program allow users to interact with the list of devices?
  4. The program provides a menu-driven interface where users can input new devices, sort them, view the list, and calculate the average cost of devices based on their operating system.

  5. What functionality is missing or commented out in the code that affects its operation?
  6. The sorting functionality is incomplete, as the nested loops and comparison logic are commented out, preventing the program from sorting devices by display size. Additionally, there are missing 'cout' statements for displaying menu options and device details.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community