Progetto gestione archivio di dischi
Benvenuti nella gestione dischi. Questo programma si occupa di gestire un archivio di dischi, con delle specifiche categorie, permettendoci di:
- Inserire un nuovo disco in una categoria a scelta
- Eliminare un disco in base al titolo, in una delle categorie scelte
- Riportarci il titolo del disco con minor prezzo all'interno di una categoria
Funzioni principali
Nella funzione main, richiamiamo le funzioni necessarie per la gestione dell'archivio.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "header.h"
void main() {
categoria generi[n];
int dischiInseriti[n] = {0,0,0,0};
int scelta;
int i_categoria;
float PrezzoMin;
InizializzaCategorie(generi);
do {
printf("\nCosa vuoi fare?\n\n");
printf("1. Visualizza inventario\n");
printf("2. Inserisci un disco\n");
printf("3. Elimina un disco\n");
printf("4. Disco con minor prezzo\n");
printf("5. Esci dall'archivio\n\n");
printf("Scelta: ");
scanf("%d", &scelta);
switch(scelta) {
case 1:
VisualizzaDischi(generi, dischiInseriti);
break;
case 2:
InserisciDisco(generi, dischiInseriti);
break;
case 3:
EliminaDisco(generi, dischiInseriti);
break;
case 4:
printf("Di quale categoria vuoi il disco col prezzo minore?\n1. Rock\n2. Punk\n3. Jazz\n4. House\n\nScelta: ");
scanf("%d", &i_categoria);
PrezzoMin = PrezzoMinoreRicorsivo(generi, dischiInseriti[i_categoria-1], i_categoria);
printf("%f", PrezzoMin);
break;
default:
printf("Hai sbagliato a digitare, riprova!");
}
} while(scelta != 5);
// Fintanto che scegliamo un numero diverso da 5, restiamo nel programma.
// Qualora scegliessimo 5, saremmo in grado di uscire da tale programma.
}
Definizione delle strutture e funzioni
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define n 4 // Numero categorie
#define m 6 // Numero dischi per categoria
// Nell'header.h andremo a dichiarare le varie funzioni per poi andare nell'header.c,
// riportarle e definire la loro funzione.
typedef struct {
// Dichiariamo i valori per la struct dei dischi
char titolo[30];
char autore[30];
float prezzo;
} disco;
typedef struct {
// Dichiariamo i valori per la struct delle categorie
int codice;
char nomeGenere[15];
disco dischi[m];
} categoria;
// Dichiarazione delle varie funzioni.
void InizializzaCategorie(categoria*);
void VisualizzaDischi(categoria*, int*);
void InserisciDisco(categoria*,