C++编写的一个极其简单的银行卡管理系统,VC++6.0版本,控制台程序。
有简单的建立账户、注销账户、存款、取款等功能。
#include
#include
#include
using namespace std;
void NewCard();
void Withdraw(int);
void Deposit(int);
void Service1();
void Service2(int);
void GetNum(int);
void Firstset();
void Start();
void Save();
void Quit();
const int M = 1000,N = 10;
long int Card[M][N+3],CardS[M][N+3];
void Quit()
{
for(int i = 0;i<1000;i++)
{
for(int j = 0;j<10;j++)
{
CardS[i][j] = Card[i][j];
}
}
Save();
}
void Save()
{
FILE *fp;
if((fp = fopen("data","wb")) == NULL)
{
cout<
return;
}
for(int i = 0;i<1000;i++)
{
for(int j = 0;j<10;j++)
{
fwrite(&CardS[i][j],sizeof(CardS[i][j]),4,fp);
}
}
fclose(fp);
}
void Firstset()
{
for(int i = 0;i<1000;i++)
{
for(int j = 0;j<10;j++)
{
Card[i][j] = 0;
}
}
}
void Start()
{
cout<
Sleep(3000);
system("cls");
cout<
Service1();
}
void Service2(int i)
{
int serv;
cin>>serv;
if(serv == 1)
{
system("cls");
Deposit(i);
}
else if(serv == 2)
{
system("cls");
Withdraw(i);
}
else if(serv == 3)
{
Start();
}
else if(serv == 4)
{
char YorN;
cout<
cin>>YorN;
if((YorN == 'Y')||(YorN == 'y'))
{
system("cls");
cout<
Quit();
Sleep(3000);
}
else
{
Start();
}
}
else
{
system("cls");
cout<
Service2(i);
}
}
void NewCard()
{
int i = 0;
if(Card[i][0] == 0)
{
Card[i][0] = (i+1)*8+(i+1)*74+(i+1)*213+(i+1)*2432+(i+1)*35446+(i+1)*409432+123456789;
cout<
cout<
Service2(0);
}
else
{
for(i = 0;Card[i][0] != 0;i++)
{}
if(i == M)
{
cout<
Start();
}
else
{
Card[i][0] = (i+1)*8+(i+1)*74+(i+1)*213+(i+1)*2432+(i+1)*35446+(i+1)*409432+123456789;
cout<
cout<
Service2(i);
}
}
}
void Withdraw(int i)
{
if(Card[i][2] == N)
{
cout<
Start();
}
else
{
int withd;
cout<
cin>>withd;
if((withd < 0)||(withd > 2147483648))
{
system("cls");
cout<
Withdraw(i);
}
else if(withd == 0)
{
cout<
cout<
char YorN;
cin>>YorN;
if((YorN == 'Y')||(YorN == 'y'))
{
cout<
Start();
}
else
{
Start();
}
}
else if(withd > Card[i][1])
{
cout<
cout<
char YorN;
cin>>YorN;
if((YorN == 'Y')||(YorN == 'y'))
{
cout<
Start();
}
else
{
Start();
}
}
else
{
Card[i][2]++;
Card[i][Card[i][2]+2] = -withd;
Card[i][1] -= withd;
cout<
cout<
char YorN;
cin>>YorN;
if((YorN == 'Y')||(YorN == 'y'))
{
cout<
Start();
}
else
{
Start();
}
}
}
}
void Deposit(int i)
{
if(Card[i][2] == N)
{
cout<
Start();
}
else
{
int depo;
cout<
cin>>depo;
if((depo < 0)||(depo > 2147483648))
{
system("cls");
cout<
Deposit(i);
}
else if(depo == 0)
{
cout<
cout<
char YorN;
cin>>YorN;
if((YorN == 'Y')||(YorN == 'y'))
{
cout<
Start();
}
else
{
Start();
}
}
else
{
Card[i][2]++;
Card[i][Card[i][2]+2] = depo;
Card[i][1] += depo;
cout<
cout<
char YorN;
cin>>YorN;
if((YorN == 'Y')||(YorN == 'y'))
{
cout<
Start();
}
else
{
Start();
}
}
}
}
void Service1()
{
int serv;
cin>>serv;
if(serv == 1)
{
NewCard();
}
else if(serv == 2)
{
cout<
GetNum(1);
}
else if(serv == 3)
{
cout<
GetNum(2);
}
else if(serv == 4)
{
Start();
}
else if(serv == 5)
{
char YorN;
cout<
cin>>YorN;
if((YorN == 'Y')||(YorN == 'y'))
{
system("cls");
cout<
Quit();
Sleep(3000);
}
else
{
Start();
}
}
else
{
system("cls");
cout<
Service1();
}
}
void GetNum(int choose)
{
long int num;
cin>>num;
int i = 0;
if(num > 2147483648)
{
system("cls");
cout<
char YorN;
cin>>YorN;
if((YorN == 'Y')||(YorN == 'y'))
{
GetNum(choose);
}
else
{
Start();
}
}
else
{
if(num < 0)
{
system("cls");
cout<
Quit();
cout<
Sleep(3000);
}
else
{
while(i < M)
{
if((num == Card[i][0])&&(num!=0))
{
if(choose == 1)
{
Deposit(i);
}
else
{
Withdraw(i);
}
}
else
{
i++;
}
}
if(i == M)
{
system("cls");
cout<
char YorN;
cin>>YorN;
if((YorN == 'Y')||(YorN == 'y'))
{
GetNum(choose);
}
else
{
Start();
}
}
}
}
}
void main()
{
FILE *fpm;
if((fpm = fopen("mark","r")) == NULL)
{
fpm = fopen("mark","w+");
fclose(fpm);
Firstset();
}
else
{
FILE *fp2;
fp2 = fopen("data","rb");
for(int i = 0;i<1000;i++)
{
for(int j = 0;j<10;j++)
{
fread(&CardS[i][j],sizeof(Card[i][j]),4,fp2);
Card[i][j] = CardS[i][j];
}
}
}
cout<
Service1();
}