main.cpp
codice:
#include <iostream>#include <string>
#include <vector>
#include "scelta.h"
#include <windows.h>
#define DimArray 3
using namespace std;
extern void error();
extern void tab();
extern void tal();
extern void Prelievo();
extern void Deposito();
extern void TabMan();
extern void ContCorr();
extern void EstrCont();
extern void FuoriServ();
extern void carta();
extern void Rosso();
int NumConto[DimArray];
int Pin[DimArray] = {0000, 0001, 0002};
int NumDep[DimArray];
int NumPrel[DimArray];
int cont[6]={50, 50, 50, 50, 150, 200};
int tagli[6]={500, 200, 100, 50, 20, 10};
char ch;
int N, scelta, InputConto, i;
bool ciclo, cart;
int main(){
int sec[2];
int min;
system("color 0a");
do {
cart=false;
system("CLS");
carta();
do {
system("CLS");
ciclo=true;
if (InputConto==0) {
TabMan();
cout<<"Scelta: ";
cin>>scelta;
if (scelta < 1 || scelta > 4) {
error();
ch= getchar();
cout<< "Scelta non valida!"<<endl;
ch= getchar();
cout<< "Reinserire la scelta!"<<endl;
ch= getchar();
fflush(stdin);
} else {
cout<<endl;
switch (scelta) {
case 1: { Deposito();
ch = getchar();
ch = getchar();
} break;
case 2: { ContCorr();
ch = getchar();
ch = getchar();
} break;
case 3: { system("CLS");
cout<<"Inserire numero di conto"<<endl;
cin>>InputConto;
EstrCont();
InputConto=0;
ch = getchar();
ch = getchar();
} break;
case 4: { ciclo=false;
} break;
}
fflush(stdin);
}
} else {
tab();
cout<<"Scelta: ";
cin>>scelta;
if (scelta < 1 || scelta > 4) {
error();
ch= getchar();
cout<< "Scelta non valida!"<<endl;
ch= getchar();
cout<< "Reinserire la scelta!"<<endl;
ch= getchar();
fflush(stdin);
} else {
cout<<endl;
switch (scelta) {
case 1: { ciclo=false;
if (NumConto[InputConto]>0) {
NumPrel[InputConto]++;
Prelievo();
ch = getchar();
} else {
Rosso();
ch = getchar();
}
} break;
case 2: { ciclo=false;
NumDep[InputConto]++;
Deposito();
} break;
case 3: { EstrCont();
ch = getchar();
ch = getchar();
} break;
case 4: { ciclo=false;
} break;
}
fflush(stdin);
}
}
} while (ciclo==true);
min=2;
sec[0]=0;
sec[1]=0;
for (i=120;i!=0;i--) {
system("CLS");
if (GetAsyncKeyState(VK_NUMPAD0)) {
cart=true;
}
if (cart==true) {
cout<<"Attendere "<<min<<":"<<sec[0]<<sec[1]<<endl;
} else if (i>60) {
cout<<"Prelevare la carta(premere 0) entro "<<sec[0]<<sec[1]<<" secondi ed attendere "<<min<<":"<<sec[0]<<sec[1]<<endl;
} else {
cout<<"Carta non prelevata. Per riottenerla recarsi presso la propria banca \n"<<"Attendere "<<min<<":"<<sec[0]<<sec[1]<<endl;
}
if (sec[1]==0) {
if (sec[0]==0) {
min--;
sec[0]=5;
sec[1]=9;
} else {
sec[0]--;
sec[1]=9;
}
} else {
sec[1]--;
}
Sleep(1000);
}
ciclo=false;
for (i=0; i<6; i++) {
if (cont[i]!=0) {
ciclo=true;
}
}
} while (ciclo==true);
FuoriServ();
}
void Prelievo() {
system("CLS");
tal();
cout<<"Scelta: ";
cin>>scelta;
if (scelta < 1 || scelta > 11){
error();
ch= getchar();
cout<< "Scelta non valida!"<<endl;
ch= getchar();
cout<< "Reinserire la scelta!"<<endl;
ch= getchar();
fflush(stdin);
} else {
system("CLS");
cout<<endl;
switch (scelta){
case 1: { cout<< "Hai scelto di prelevare 20EURO....!"<<endl;
ch = getchar();
ch = getchar();
N=20;
PrelLib();
} break;
case 2: { cout<< "Hai scelto di prelevare 50EURO....!"<<endl;
ch = getchar();
ch = getchar();
N=50;
PrelLib();
}break;
case 3: { cout<< "Hai scelto di prelevare 100EURO....!"<<endl;
ch = getchar();
ch = getchar();
N=100;
PrelLib();
} break;
case 4: { cout<< "Hai scelto di prelevare 150EURO....!"<<endl;
ch = getchar();
ch = getchar();
N=150;
PrelLib();
}break;
case 5: { cout<< "Hai scelto di prelevare 200EURO....!"<<endl;
ch = getchar();
ch = getchar();
N=2000;
PrelLib();
} break;
case 6: { cout<< "Hai scelto di prelevare 250EURO....!"<<endl;
ch= getchar();
ch = getchar();
N=200;
PrelLib();
} break;
case 7: { cout<< "Hai scelto di prelevare 500EURO....!"<<endl;
ch= getchar();
ch = getchar();
N=500;
PrelLib();
} break;
case 8: { cout<< "Hai scelto di prelevare 750EURO....!"<<endl;
ch= getchar();
ch = getchar();
N=750;
PrelLib();
} break;
case 9: { cout<< "Hai scelto di prelevare 1000EURO....!"<<endl;
ch= getchar();
ch = getchar();
N=1000;
PrelLib();
} break;
case 10: { do{
cout<<"Quanto vuole prelevare? \nInserire 0 per uscire"<<endl;
cin>>N;
cout<<endl;
if (N==0) {
NumPrel[InputConto]--;
ciclo=true;
} else if (N<0) {
cout<<"Impossibile rilasciare un importo negativo"<<endl;
} else if (N%10!=0) {
cout<<"Disponibili sono importi multipli di 10"<<endl;
}
} while (N<0 || N%10!=0);
PrelLib();
ch = getchar();
}break;
case 11: { NumPrel[InputConto]--;
ciclo=true;
} break;
}
fflush(stdin);
}
}
void error()
{
cout<<"##########"<<endl;
cout<<" ERRORE! "<<endl;
cout<<"##########"<<endl;
}
void tab()
{
cout<<" ************************************ "<<endl;
cout<<" * BANCOMAT Longo&Amodio * "<<endl;
cout<<" * * "<<endl;
cout<<" * Scegli le seguenti opzioni * "<<endl;
cout<<" * 1) Prelievo * "<<endl;
cout<<" * 2) Deposito * "<<endl;
cout<<" * 3) Estratto Conto * "<<endl;
cout<<" * 4) USCITA * "<<endl;
cout<<" * * "<<endl;
cout<<" * * "<<endl;
cout<<" ************************************ "<<endl;
cout<<endl;
cout<<endl;
}
void tal()
{
cout<<" ************************************ "<<endl;
cout<<" * IMPORTO DA PRELEVARE * "<<endl;
cout<<" * * "<<endl;
cout<<" * Scegli i seguenti tagli * "<<endl;
cout<<" * 1) 20EURO * "<<endl;
cout<<" * 2) 50EURO * "<<endl;
cout<<" * 3) 100EURO * "<<endl;
cout<<" * 4) 150EURO * "<<endl;
cout<<" * 5) 200EURO * "<<endl;
cout<<" * 6) 250EURO * "<<endl;
cout<<" * 7) 500EURO * "<<endl;
cout<<" * 8) 750EURO * "<<endl;
cout<<" * 9) 1000EURO * "<<endl;
cout<<" * 10) Scegli importo * "<<endl;
cout<<" * 11) USCITA * "<<endl;
cout<<" * * "<<endl;
cout<<" ************************************ "<<endl;
cout<<endl;
cout<<endl;
}