简易银行管理系统C++版
else current=current->link;
//设置输出“姓名”长度为18,不够18个字符则用空格字符填补,设置为靠左对齐(没有居中对齐),如果超过18个字符,那么会被截断为18个字符
cout<<setw(FIELD_WIDTH)<<setfill(' ')<<setiosflags(ios::left)<<"姓名"<<"|";
cout<<setw(FIELD_WIDTH)<<setfill(' ')<<setiosflags(ios::left)<<"ID"<<"|";
cout<<setw(FIELD_WIDTH)<<setfill(' ')<<setiosflags(ios::left)<<account<<"|";
cout<<setw(FIELD_WIDTH)<<setfill(' ')<<setiosflags(ios::left)<<money<<"|";
cout<<setw(FIELD_WIDTH)<<setfill(' ')<<setiosflags(ios::left)<<type<<"|";
cout<<setw(FIELD_WIDTH)<<setfill(' ')<<setiosflags(ios::left)<<address<<"|";
printSeperatorLine(y,x);
#include<iostream>
#include <iomanip>
#include <time.h>
#include<string.h>
#include<stdlib.h>
using namespace std;
struct Client{
char name[20]; //姓名
char ID_num[20]; //身份证号码
strcpy_s(password,newPassword1);
cout<<"\n\n\t\t**********密码修改成功!***********"<<endl;
break;
}
cout<<endl;
cout<<"\n\n\t\t**********两次输入的密码不一致,请重新输入!***********";
for(int k = 0; k < FIELD_NUM; ++k)
{
for(int i = 0; i < FIELD_WIDTH; ++i)
{
cout<<"-";
}
cout<<"|";
}
cout<<endl;
}
void printHeadLine(int FIELD_WIDTH)
{
cout<<"|";
void ResetPassword(); //重置密码
void CancelUsers(); //注销用户
void Transfer(Client * &c1); //转账:从c1节点的客户转账到其他客户
void Menu(); //主菜单
}s;
void system::makeEmpty(){
Client * q;
while(first->link!=NULL){
q=first->link;
first->link=q->link;
delete q;
}
};
int system::Length()const{
Client * p=first->link;
int count=0;
while(p!=NULL){
p=p->link;
Client(char n[],char i[],char a[],char p[],char q[],char t[],double m,Client * ptr=NULL){ //构造函
strcpy_s(name,n);
strcpy_s(ID_num,i);
strcpy_s(account,a);
cout<<setw(FIELD_WIDTH)<<setfill(' ')<<setiosflags(ios::left)<<"住址"<<"|";
}
/*
*查询个人卡中信息
*/
void InquiryIndividual()
{
int y=6,FIELD_WIDTH=18,x=18;
printSeperatorLine(y,x);
}
};
class system{
private:
Client * first,* last;
public:
system(){last=first=new Client();}
system(char n[],char i[],char a[],char p[],char q[],char t[],double m){
cout<<endl;
cout<<"\t\t<_______________________ THE LIST ______________________>\n";
cout<<"\t\t||姓名:||"<<name<<endl;;
cout<<"\t\t||账号:||"<<account<<endl;
bool Remove(int k);
bool IsEmpty()const{return first->link==NULL? true:false;} //判断链表是否为空
void CreatAccount(); //创建一个账号
void UsersLogIn(); //用户登录
void ReportTheLost(); //挂失银行卡
cin>>newPassword1;
cout<<endl;
cout<<"\n\n\t\t请再次输入密码:<\t\t\t\t>\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b";
cin>>newPassword2;
if(strcmp(newPassword1,newPassword2)==0){
Client * Search(char h[]); //在链表中搜索与给定字符串相等的节点,返回节点地址
Client * SearchA(char h[]); //在链表中搜索与给定字符串(账号)的节点
Client * Locate(int i);
bool Append(char n[],char i[],char a[],char p[],char q[],char t[],double m); //添加一个节点到链表尾端
printHeadLine(x);
printSeperatorLine(y,x);
cout<<"|"<<setw(FIELD_WIDTH)<<setfill(' ')<<setiosflags(ios::left)<<name<<"|";
cout<<setw(FIELD_WIDTH)<<setfill(' ')<<setiosflags(ios::left)<<address<<"|";
strcpy_s(password,p);
strcpy_s(address,q);
strcpy_s(type,t);
money=m;
link=ptr;
}
void Deposit(){ //存款
double m;
cout<<"\n\n\t\t请输入存款金额:<\t\t>\b\b\b\b\b\b\b\b\b\b\b";
cout<<"\t\t||本次存款: ||"<<m<<endl;
cout<<"\t\t||可用余额:||"<<money<<endl;
cout<<endl;
}
void Withdrawals(){ //取款
double m;
while(1){
cout<<"\n\n\t\t请输入取款金额:<\t\t>\b\b\b\b\b\b\b\b\b\b\b";
cout<<setw(FIELD_WIDTH)<<setfill(' ')<<setiosflags(ios::left)<<"账号"<<"|";