#include <stdio.h>
#include <stdlib.h>
#define MAXCHAR 10
void mainmenu();
void creazionefidelitycard(int *numerofidelitycards);
void nuovoacquisto(int numerofidelitycards);
int contapunti (int importo_nuovoacquisto,int numerofidelitycards);
int saldopunti(int importo_nuovoacquisto,int numerofidelitycards);
//void visualizzazionefidelitycards(int numerofidelitycards);
//void visualizzazioneestrattopunti(int numerofidelitycards);
struct fidelity_card{
int id;
char nome[MAXCHAR];
char cognome[MAXCHAR];
int data_nascita;
}fidelitycards[10];
int main()
{
mainmenu();
return 0;
}
void mainmenu(){
int numerofidelitycards=1;
int azione;
do {
printf("Gestione fidelity card \n\n");
printf("1 - Creazione di una nuova fidelity card\n");
printf("2 - Nuovo acquisto\n");
printf("3 - Utilizzo punti\n");
printf("4 - Visualizza Fidelity card\n");
printf("5 - Visualizzazione estratto punti\n");
printf("0 - Esci\n");
printf("Inserisci la scelta -> ");
scanf("%d", &azione);
//Controllo scelta
switch(azione) {
case 0:
printf("Arrivederci!");
break;
case 1:
system("cls");
creazionefidelitycard(&numerofidelitycards);
break;
case 2:
system("cls");
nuovoacquisto(numerofidelitycards);
break;
/* case 3:
system("cls");
break;
case 4:
system("cls");
visualizzazionefidelitycards(numerofidelitycards);
break;
case 5:
system("cls");
visualizzazioneestrattopunti(numerofidelitycards);
break;*/
default:
printf("Azione non valida");
}
} while (azione != 0);
}
void creazionefidelitycard(int *numerofidelitycards){
//int *numerofidelitycards=1;
fflush(stdin);
printf("crea nuova fidelity card\n");
fidelitycards[*numerofidelitycards].id=*numerofidelitycards;
printf("inserisci cognome max %d caratteri \n",MAXCHAR);
gets(fidelitycards[*numerofidelitycards].cognome);
printf("inserisci nome max %d caratteri \n",MAXCHAR);
gets(fidelitycards[*numerofidelitycards].nome);
printf("inserisci data di nascita");
scanf("%d",&fidelitycards[*numerofidelitycards].data_nascita);
printf("\nFidelity card creata correttamente!!\n\n");
printf("CODICE FIDELITY CARD NUMERO %d \n", fidelitycards[*numerofidelitycards].id);
*numerofidelitycards += 1;
system("PAUSE");
system("cls");
}
void nuovoacquisto(int numerofidelitycards){
int id;
int i;
char azione;
char data_nuovo_acquisto[MAXCHAR];
int importo_nuovoacquisto;
// fflush(stdin);
printf("inserire codice fidelity card ");
scanf("%d",&id);
for(i = 1; i <= numerofidelitycards; i++) {
if(fidelitycards[i].id==id) {
printf("%s\t%s\t%d", fidelitycards[i].cognome, fidelitycards[i].nome, fidelitycards[i].data_nascita);
}
}
fflush(stdin);
printf("Confermare i dati?. Procedere? Y/N -> ");
scanf("%c", &azione);
if(azione=='y' || azione=='Y'){
fflush(stdin);
printf("inserisci data nuovo acquisto\n");
gets(data_nuovo_acquisto);
fflush(stdin);
printf("inserisci importo nuovo acquisto\n");
scanf("%d",&importo_nuovoacquisto);
printf("i nuovi punti fedelta' sono %d mentre il saldo punti e' %d ",contapunti(importo_nuovoacquisto,numerofidelitycards),saldopunti(importo_nuovoacquisto,numerofidelitycards));
system("PAUSE");
system("cls");
}else if(azione=='n' || azione=='N'){
printf("\nNon hai confermato i dati\n\n");
system("PAUSE");
system("cls");
}else{
printf("carattere non ammesso");
system("PAUSE");
system("cls");
}
}
int contapunti (int importo_nuovoacquisto,int numerofidelitycards) {
//Variabili
int i;
int punti;
for(i = 1; i<= numerofidelitycards; i++) {
punti= importo_nuovoacquisto*5/100;
}
return punti;
}
int saldopunti (int importo_nuovoacquisto,int numerofidelitycards) {
//Variabili
int punti;
punti=contapunti(importo_nuovoacquisto,numerofidelitycards);
int i;
int saldo;
for(i = 1; i<= numerofidelitycards; i++) {
saldo= saldo+punti;
}
return saldo;
}
visualizzazionefidelitycards(int numerofidelitycards){
int i;
for(i=1;i<numerofidelitycards;i++){
printf("codice : %i,cognome cliente %s,saldo punti%i",fidelitycards[i].id,fidelitycards[i].cognome);
system("PAUSE");
system("cls");
}
}
/*void visualizzazioneestrattopunti(int numerofidelitycards){
int id;
int i;
char data_nuovo_acquisto[MAXCHAR];
int importo_nuovoacquisto;
printf("inserisci id fidelitycards");
scanf("%d",&id);
for(i=1;i<numerofidelitycards;i++){
if(fidelitycards[i].id==id){
printf("%s,%d,%d",data_nuovo_acquisto,importo_nuovoacquisto,contapunti(importo_nuovoacquisto,numerofidelitycards));
}
}
}*/