Salve,
io ho un progetto da fare, ovvero la Gestione di un Magazzino, ho iniziato
codice:
/****************************************************************************************************************************************************************************************
* ***** Gestione Magazzino *****																																						*
* Consideriamo un magazzino di prodotti elettronici. Ogni prodotto è identificato da un codice, dal nome del prodotto, una specifica, la quantità di scorta nel magazzino e il costo.	*
* Il numero totale di prodotti sono 8 e la gestione viene effettuata per un totale di 20 giorni. Scrivere un algoritmo che permette di gestire il magazzino.							*
* L’utente può scegliere di effettuare le seguenti operazioni:																															*
* - Dato un fissato giorno stampare i dati relativi dei prodotti che sono sotto scorta (numero di prodotti minore di 5).																*
* - Acquisto di un prodotto in un fissato giorno (controllare se il numero dei prodotti è zero).																						*
* - Dato il codice di un prodotto stampare il numero di quelli venduti in 10 giorni.																									*
* - Eliminare un dato prodotto dal magazzino (non è possibile avere meno di 2 prodotti).																								*
* Fare almeno 3 simulazioni considerando la gestione magazzino per i 10 giorni consecutivi.																								*
*****************************************************************************************************************************************************************************************/
ho fatto un array di struct(per gli 8 prodotti), ma quando vado chiamare la procedura nel main, che parametri devo passargli? perchè se metti solo:
codice:
giorni(prodotti);
ma non va, mi da questo errore:
codice:
1>c:\users\apocaliv\skydrive\davide\university\programmazione1\progetto2\progetto2\main.c(33): error C2440: 'funzione': impossibile convertire da 'Prodotti [8]' a 'Prodotti'
poi questo warning che non capisco:
codice:
1>c:\users\apocaliv\skydrive\davide\university\programmazione1\progetto2\progetto2\main.c(33): warning C4024: 'giorni': tipi diversi tra il parametro 1 formale e quello effettivo
il MAIN è:
codice:
void main()
{
	int i;
	Prodotti prodotti[8]={{0,"Test 0","Specifica 0",1,50.00},
								{1,"Test 1","Specifica 1",2,50.00},
								{2,"Test 2","Specifica 2",3,50.00},
								{3,"Test 3","Specifica 3",4,50.00},
								{4,"Test 4","Specifica 4",5,50.00},
								{5,"Test 5","Specifica 5",6,50.00},
								{6,"Test 6","Specifica 6",7,50.00},
								{7,"Test 7","Specifica 7",8,50.00},
								};
	srand((unsigned int)time(NULL));
	for (i=0;i<8;i++)
	{
		printf("- %d %s %s %d %.2f Euro",(prodotti+i)->codice,(prodotti+i)->nome,(prodotti+i)->specifica,(prodotti+i)->scorta,(prodotti+i)->costo);
		printf("\n");
	}
	giorni(prodotti);
	system("Pause");
}
la function è:
codice:
void giorni(Prodotti *prodotti)
{
	int tmpProdotti,tmpOperazione;
	tmpProdotti=randInt(0,7);
	tmpOperazione=randInt(0,1);
	switch (tmpOperazione=1)
	{
	case 1:
		(prodotti+tmpProdotti)->scorta-=1;
		printf("\nVenduto 1 di %s, ne rimangono %d",(prodotti+tmpProdotti)->nome,(prodotti+tmpProdotti)->scorta);
		break;
	case 0:
		(prodotti+tmpProdotti)->scorta+=1;
		printf("\nAcquistato 1 di %s, ora ne sono %d",(prodotti+tmpProdotti)->nome,(prodotti+tmpProdotti)->scorta);
		break;
	}
}
int randInt(int a,int b)
{
	return a + rand() % (b - a + 1); //utilizza la function Rand con i due parametri di input
}
header e prototipi:
codice:
//Struct
typedef struct {
	int codice;
	char nome[20];
	char specifica[20];
	int scorta;
	float costo;
} Prodotti;
/*PROTOTIPI*/
int randInt(int,int);
void giorni(Prodotti);