28/02/13 17:41
max912
salve ragazzi.. avrei un problema su un programma in c.. praticamente nn riesco a controllare se un elemento è dentro l'array.. ho provato in tutti i modi ma nnt ..
il problema principale è nell'ultima funzione, quella di acqvin (che sarebbe una funzione per l'acquisto di vini).. il testo chiede è questo "scrivere una funzione per l'acquisto dei vini. Stampare un messaggio ' Alert: disponibilità insufficiente ' nel caso in cui la disponibilità in cantina del vino scelto sia inferiore alla richiesta dell'utente"
questo è il mio programma..
#include <stdio.h>
#include <string.h>
#define MAXELE 100
int insvin(void);
int acqvin(void);
void memvin(void);
struct vini{
char nome_vino[20];
int annata;
char produttore[20];
int disponibilita;
float prezzo_unitario;
};
struct vini v1[MAXELE];
main(){
int scelta;
printf("1) Inserimento vini\n"
printf("2) Acquisto vini\n"
printf("3) Memorizzazione vini\n"
printf("0) Per uscire\n"
printf("Scegliere una delle seguenti azioni: \n"
scanf("%d", &scelta);
switch(scelta){
case 0:
printf("\n Arrivederci..\n"
break;
case 1:
insvin();
return main();
case 2:
acqvin();
return main();
/*case 3:
void memvin();
return main(); */
default:
break;
}
}
int insvin(void){
char c;
int n;
FILE *fp;
fp= fopen("vini.txt","r"
printf("\n INSERIMENTO VINI \n"
do{
printf("\n Quanti vini vuoi inserire? "
scanf("%d", &n);
}
while(n<1 || n>MAXELE);
for(c=0; c<n; c++){
fscanf(fp, "%s", v1[c].nome_vino);
printf("Annata: "
scanf("%d", &v1[c].annata);
printf("Produttore: "
scanf("%s", v1[c].produttore);
printf("Disponbilità: "
scanf("%d", &v1[c].disponibilita);
printf("Prezzo: "
scanf("%f", &v1[c].prezzo_unitario);
}
printf("\n VINI INSERITI\n"
for(c=0; c<n; c++){
printf("\n %s", v1[c].nome_vino);
printf("\n %d", (v1[c].annata));
printf("\n %s", v1[c].produttore);
printf("\n %d", (v1[c].disponibilita));
printf("\n %f\n", (v1[c].prezzo_unitario));
}
}
int acqvin(void){
char t,g;
int n;
int k;
char ele;
int e;
k=n;
printf("\n ACQUISTO VINI \n"
printf("Quale vino vuoi comprare?\n"
scanf("%s", &ele);
printf("\nIn che quantità?\n"
scanf("%d", &e);
for (g=0; g<k; g++)
if(ele = v1[g].nome_vino && v1[g].disponibilita < e)
printf("\nALLERT: DISPONILITà INSUFFICIENTE\n"
else
printf("\n Acquisto effettuato con successo "
}
grazie in anticipo..
il problema principale è nell'ultima funzione, quella di acqvin (che sarebbe una funzione per l'acquisto di vini).. il testo chiede è questo "scrivere una funzione per l'acquisto dei vini. Stampare un messaggio ' Alert: disponibilità insufficiente ' nel caso in cui la disponibilità in cantina del vino scelto sia inferiore alla richiesta dell'utente"
questo è il mio programma..
#include <stdio.h>
#include <string.h>
#define MAXELE 100
int insvin(void);
int acqvin(void);
void memvin(void);
struct vini{
char nome_vino[20];
int annata;
char produttore[20];
int disponibilita;
float prezzo_unitario;
};
struct vini v1[MAXELE];
main(){
int scelta;
printf("1) Inserimento vini\n"
printf("2) Acquisto vini\n"
printf("3) Memorizzazione vini\n"
printf("0) Per uscire\n"
printf("Scegliere una delle seguenti azioni: \n"
scanf("%d", &scelta);
switch(scelta){
case 0:
printf("\n Arrivederci..\n"
break;
case 1:
insvin();
return main();
case 2:
acqvin();
return main();
/*case 3:
void memvin();
return main(); */
default:
break;
}
}
int insvin(void){
char c;
int n;
FILE *fp;
fp= fopen("vini.txt","r"
printf("\n INSERIMENTO VINI \n"
do{
printf("\n Quanti vini vuoi inserire? "
scanf("%d", &n);
}
while(n<1 || n>MAXELE);
for(c=0; c<n; c++){
fscanf(fp, "%s", v1[c].nome_vino);
printf("Annata: "
scanf("%d", &v1[c].annata);
printf("Produttore: "
scanf("%s", v1[c].produttore);
printf("Disponbilità: "
scanf("%d", &v1[c].disponibilita);
printf("Prezzo: "
scanf("%f", &v1[c].prezzo_unitario);
}
printf("\n VINI INSERITI\n"
for(c=0; c<n; c++){
printf("\n %s", v1[c].nome_vino);
printf("\n %d", (v1[c].annata));
printf("\n %s", v1[c].produttore);
printf("\n %d", (v1[c].disponibilita));
printf("\n %f\n", (v1[c].prezzo_unitario));
}
}
int acqvin(void){
char t,g;
int n;
int k;
char ele;
int e;
k=n;
printf("\n ACQUISTO VINI \n"
printf("Quale vino vuoi comprare?\n"
scanf("%s", &ele);
printf("\nIn che quantità?\n"
scanf("%d", &e);
for (g=0; g<k; g++)
if(ele = v1[g].nome_vino && v1[g].disponibilita < e)
printf("\nALLERT: DISPONILITà INSUFFICIENTE\n"
else
printf("\n Acquisto effettuato con successo "
}
grazie in anticipo..
aaa