Ciao e grazie per le risposte
Rispondo @airon
Non abbiamo ancora studiato le allocazioni dinamiche
Per quanto riguarda le funzioni...per il primo punto penso che non serva
Il secondo punto č sbagliato

non devo chiedere ma far acquistare direttamente un prodotto
Per il 4 punto...si...praticamente devo far visualizzare in ordine alfabetico i prodotti in base al loro utilizzo (che deve essere scelto dall'utente...)
Ho apportato un paio di modifiche...perņ il programma smette di funzionare (spero che sia un problema di pc e non di codice

ho windows 8)
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
struct prodotto {int codice;
char nome [20];
char utilizzo [15];
int quantita;
float prezzo;
};
typedef struct prodotto Prodotto;
int main (void)
{
Prodotto scorta[7]={{1288, "Tubo", "Idraulica", 4, 10.00},
{1154,"Fil di ferro", "Muratura", 4, 2.50},
{2828,"Chiave inglese","Idraulica", 2, 5.49},
{6549, "Pittura", "Pitturazione",2, 5.99},
{1112, "Pennello", "Pitturazione", 4, 3.99},
{5155, "Chiavi", "Manutenzione", 3, 3.99},
{4856, "Sega", "Falegnameria", 1, 3.99}};
int j; /*Inventario*/
int pr;
printf("Benvenuti nella ferramenta\n\nEcco i prodotti disponibili in negozio:\n\n");
for(j=0;j<7;j++)
{
printf("Cod.: %d, Nome: %s, Utilizzo: %s, Qta': %d, Prezzo: %.2f\n",scorta[j].codice, scorta[j].nome, scorta[j].utilizzo, scorta[j].quantita, scorta[j].prezzo);
}
printf("\n\n");
printf("Inserisca il codice del prodotto che vuole acquistare: ",scorta[0].nome,scorta[1].nome,scorta[2].nome,scorta[3].nome,scorta[4].nome,scorta[5].nome,scorta[6].nome);
scanf("%d",&pr);
if(pr==1288 && scorta[pr-1].quantita>0)
{
printf("\nHai acquistato %s.\n\n",scorta[pr-1].nome);
scorta[pr-1].quantita--;
}
if(pr==1288 && scorta[pr-1].quantita==0)
{
printf("Prodotto non disponibile. Guarda bene l'inventario prima di selezionare un prodotto\n\n");
}
}