123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- #pragma once
- #define MACCHINE 3
- #define MODELLOLEN 15
- #define RANDMIN 1000
- #define RANDMAX 5500
- #define MULT 3.14
- #define TERM 1
- typedef struct
- {
- char modello[MODELLOLEN + TERM];
- int cilindrata;
- int prezzo;
- bool venduta;
- }VEICOLO;
- void menu();
- void inserisci(VEICOLO *macchina, int *index);
- void visualizza(VEICOLO macchina);
- void ordina(VEICOLO concessionaria[], int index);
- void visualizza_tutto(VEICOLO concessionaria[], int index);
- void sommaprezzo(VEICOLO concessionaria[], int index);
- void vendi(VEICOLO concessionaria[], int index);
- void cilindrata_sopra(VEICOLO concessionaria[], int index);
- void cilindrata_sotto(VEICOLO concessionaria[], int index);
- void inserisci_tutto(VEICOLO concessionaria[], int *index);
- void menu()
- {
- int index = 0;
- VEICOLO concessionaria[MACCHINE];
- int scelta;
- do
- {
- system("cls");
- printf("0) Esci\n");
- printf("1) Inserimento nuovo veicolo\n");
- printf("2) Visualizzazione veicoli\n");
- printf("3) Ordinare per modello i veicoli presenti\n");
- printf("4) Valore attuale del mio concessionario(somma dei prezzi)\n");
- printf("5) Eliminare(vendere) un veicolo se presente\n");
- printf("6) Visualizzare tutti i veicoli sotto / sopra una determinata cilindrata\n");
- scanf_s("%d", &scelta, sizeof(int));
- switch (scelta)
- {
- case 1:
- inserisci_tutto(concessionaria, &index);
- break;
- case 2:
- visualizza_tutto(concessionaria, index);
- break;
- case 3:
- ordina(concessionaria, index);
- break;
- case 4:
- sommaprezzo(concessionaria, index);
- break;
- case 5:
- vendi(concessionaria, index);
- break;
- case 6:
- cilindrata_sopra(concessionaria, index);
- break;
- }
- } while (scelta != 0);
- }
- void inserisci(VEICOLO *macchina, int *index)
- {
- if (*index<MACCHINE)
- {
- printf("Inserisci modello elemento %d\n", *index + 1);
- scanf_s("%s", macchina->modello, MODELLOLEN + TERM);
- macchina->cilindrata = RANDMIN + rand() % RANDMAX;
- macchina->prezzo = (int) ((macchina->cilindrata)*MULT);
- macchina->venduta = false;
- *index += 1;
- }
- }
- void visualizza(VEICOLO macchina)
- {
- if(macchina.venduta!=true)
- {
- printf("Modello: %s\n", macchina.modello);
- printf("Cilindrata: %d\n", macchina.cilindrata);
- printf("Prezzo: %d\n", macchina.prezzo);
- printf("\n");
- }
- }
- void ordina(VEICOLO concessionaria[], int index)
- {
- VEICOLO temp;
- for (int j = 0; j<index; j++)
- {
- for (int i = 0; i<index; i++)
- {
- if (strcmp(concessionaria[j].modello, concessionaria[i].modello)<0)
- {
- temp = concessionaria[j];
- concessionaria[j] = concessionaria[i];
- concessionaria[i] = temp;
- }
- }
- }
- }
- void visualizza_tutto(VEICOLO concessionaria[], int index)
- {
- for (int i = 0; i<index; i++)
- {
- visualizza(concessionaria[i]);
- }
- system("pause");
- }
- void sommaprezzo(VEICOLO concessionaria[], int index)
- {
- int somma = 0;
- for (int j = 0; j < index; j++)
- {
- somma = somma + concessionaria[j].prezzo;
- }
- printf("Il valore della mia concessionaria è %d Euro\n", somma);
- system("pause");
- }
- void vendi(VEICOLO concessionaria[], int index)
- {
- int pos;
- do
- {
- printf("Inserisci la posizione dell'automobile da vendere\n");
- scanf_s("%d", &pos, sizeof(int));
- } while (pos > index);
- concessionaria[pos].prezzo = 0;
- concessionaria[pos].venduta = true;
- }
- void cilindrata_sopra(VEICOLO concessionaria[], int index)
- {
- int ncl;
- printf("Inserisci cilindrata:\n");
- scanf_s("%d", &ncl, sizeof(int));
- for (int j = 0; j < index; j++)
- {
- if (concessionaria[j].cilindrata > ncl)
- {
- visualizza(concessionaria[j]);
- }
- }
- system("pause");
- }
- void cilindrata_sotto(VEICOLO concessionaria[], int index)
- {
- int ncl;
- printf("Inserisci cilindrata:\n");
- scanf_s("%d", &ncl, sizeof(int));
- if (ncl >= 0)
- {
- for (int j = 0; j < index; j++)
- {
- if (concessionaria[j].cilindrata < ncl)
- {
- visualizza(concessionaria[j]);
- }
- }
- }
- system("pause");
- }
- void inserisci_tutto(VEICOLO concessionaria[], int *index)
- {
- for (int j = 0; j<MACCHINE; j++)
- {
- inserisci(&concessionaria[j], index);
- }
- }
|