//
// main.cpp
// 银行管理系统
//
// Created by 丁小未 on 13-7-23.
// Copyright (c) 2013年 dingxiaowei. All rights reserved.
//
//项目:银行管理系统
//系统实现的主要有管理,取款机管理,用户查询等功能:
//*管理模块:存款、取款、开户、销户、修改信息、办卡、挂失卡;
//*用户查询模块;
//*取款机信息管理模块:管理员管理查询和维护、客户查询和取款等功能;
//可以考虑利率
#include
using namespace std;
#include
#include
#include
#include
#define MAX 20
class Person
{
public:
string cardNum;//卡号
string cardName;//用户名
double money;//余额
string beginTime;//开户日期
bool useState=false;//是否挂失
/*******用户的功能***********/
//查询我当前用户的账户余额
double SelectMoney()
{
return money;
}
//选择挂失和解锁卡
bool ChooseUseState(bool f)
{
useState = f;
return useState;
}
//取钱
double GetMoney(double m)
{
if (m>money) {
cout<<"您的余额不足!"< } return money -= m; } //存钱 double AddMoney(double m) { return money += m; } //构造函数 Person(string cardnum,string cardname,double money,string begintime,bool usestate) { this->cardNum = cardnum; this->cardName = cardname; this->money = money; this->beginTime = begintime; this->useState = usestate; } //默认构造函数 Person(){}; //运算符重载 // Person&person = (const Person &other) // { // // } int total=0;//记录总数 Person person[MAX];//定义一个person数组 double price=0.1;//默认汇率 /*******************函数申明******************************************/ void set_psw();//设置密码 int psw_check();//密码验证 void Show_menu();//显示菜单 int get_managermenu_choice();//接受管理员菜单选择 void PrintPersonTitle();//打印头信息 void Show_Iden_menu();//身份选择菜单 int get_Idemenu_choice();//接受身份菜单选择 void inputInfile(Person person[],int n);//将类数组写入文件 void Show_PersonMenu();//显示普通用户功能菜单 void Show_Managermenu();//显示管理员功能菜单 int get_personmenu_choice();//普通用户接受功能菜单 int findPerson(Person *person,int n,string findName);//查找名字返回序列号 bool ISManager(string &name,string &pwd);//验证管理员身份 bool ISPerson(string &name,string &pwd);//验证用户信息 /**********************************************************************/ //查找名字返回序列号 int findPerson(Person *person,int n,string findName) { int i; int m=-1; for (i=0; i if (person[i].cardName == findName) { m=i; break; } } return m;//返回person的下标 } void inputInfile(Person person[],int &n) { ofstream onfile;//写入文件类 onfile.open("Person.txt"); for (int i=0; i onfile< } onfile.close(); } //管理员共有继承自普通人 class Manager:public Person { public: //开户 void addPerson(Person person[],int &n) { char f='y'; string sTemp; char *t=GetTime(); ofstream onfile;//写入文件 onfile.open("person.txt"); do { cout<<"输入卡号:"; cin>>sTemp; onfile< person[n].cardNum = sTemp; cout<<"请输入用户名:"; cin>>sTemp; onfile< onfile< person[n].cardName = sTemp; onfile<<0<<" ";//余额默认是0 person[n].money = 0; sTemp = t; onfile< person[n].beginTime = sTemp; onfile<<0;//0代表没有挂失,正常使用 person[n].useState = false; onfi
};
char* GetTime();//获取系统当前时间
//将类数组写入文件,数组本身就是地址传递