1、C+银行管理系统方案基于C/C+实现银行管理系统声明:1.本程序仅限个人交流和学习使用,切勿用于商业用途,一切源代码已经给出,可以根据自己的需要适当进行修改,但请保留原来的作者的信息。2.程序里面难免有一些考虑不周到的地方,如果能够通过QQ或者告知,本人将万分感。 聊城大学 软件工程(和惠普合作培养软件开发)宇鹏2015年6月一程序设计要求:设计并实现简单的银行存取款系统,系统主界面包括登录和注册两个选项,选择登录,提示用户输入银行和密码,验证通过后进入主界面,主界面包括:存款、取款、查询余额、历史记录、修改密码等功能。注册功能让用户输入和密码,在注册时要验证是否已经存在。所有数据能够保存在文
2、件中,退出系统后再次运行系统,之前注册的用户和存款信息都存在。二程序实现的大致思路:1.登陆界面和主界面的设计采用一行行printf输出。2.登陆界面-主界面的切换采用system(“cls”)函数。3.主界面的所有操作都涉及到了文件操作,所以采用3个文件分开储存和读取的方式。(1)存取款以及查询余额:(2)历史记录:(3)账户密码信息:三、程序算法和数据结构:1.登陆用户:从文件里面读取信息,把用户名和密码分别压栈,读取结束,验证用户的名字和密码和栈顶元素是否匹配,不匹配栈顶元素出栈,直到栈的容量是空的时候。返回信息:用户或者密码错误。2.存款取款以及余额的查询: 每次建立一个新的用户的时候
3、,初始化此用户的所有信息。(主要是针对的余额)。从文件里面读取信息,采用二叉树的结构搜索用户。来实现查找。 采用文件的重新写入来实现存取款。四、程序的一些设计的技巧以及注意情况:为了使程序模块化,我们要采用多文件的开发。也就是说,为了使程序简练,把一些需要重复利用的代码写到.h 的文件里面。五、代码实现:#include stdafx.h#include #include #include #include #include #include #include #include #include #include #include Welcome_UI.h#include Register_U
4、I.h#include Sign_UI.h#include Secondary_UI.husing namespace std;class Bank_Managementprivate: string new_name; string pre_name; int password; double extra_money;public: void creat_user(string name, int pass); int sign_user(string name, int pass); double account_balance(); void withdraw_money(); void
5、 query_account(); void change_password();Bank_Management operation1024;ofstream Rec_history(Historical records.txt, ios:in | ios:out | ios:app);int main_ui() printf(nn); printf(tt %cWelcome to use Bank Management System!%cn, 3, 3); printf(ttt %cCopyright by SunYu_peng!%cn, 4, 4); printf(ttt%c+ + + +
6、 + + + + + + + + + + + +%cn, 4, 4); printf(ttt+ Here is the system menu! +n); printf(ttt%c+ + + + + + + + + + + + + + + +%cn, 4, 4); printf(ttt+ +n); printf(ttt+ 1.Deposit money +n); printf(ttt+ +n); printf(ttt+ 2.Withdraw money +n); printf(ttt+ +n); printf(ttt+ 3.Query balance +n); printf(ttt+ +n);
7、 printf(ttt+ 4.Historical records +n); printf(ttt+ +n); printf(ttt+ 5.Change password +n); printf(ttt+ +n); printf(ttt+ 6.Save and exit +n); printf(ttt+ +n); printf(ttt%c+ + + + + + + + + + + + + + + +%cn, 4, 4); printf(tt Please enter the order that you want: ); int order; cin order; if (order = 1)
8、 system(cls); operation0.account_balance(); else if (order = 2) system(cls); operation0.withdraw_money(); else if (order = 3) operation0.query_account(); else if (order = 4) system(cls); printf(nnnn); Secondary_ui(); printf(tAll dates have been saved in the file(Historical records.txt); Sleep(5000);
9、 system(cls); else if (order = 5) operation0.change_password(); else if (order = 6) Rec_history The user decided to exit the system!n; system(cls); return 0; else Rec_history The user has done a wrong operation!The system exited!n; system(cls); return 0; void Bank_Management:creat_user(string name,
10、int pass) new_name = name; password = pass;int Bank_Management:sign_user(string name, int pass) ifstream OpenFile(User name and password.txt); string get_name; int get_pass; stack sign; stringstream n; string pass_str; n pass_str; while (OpenFile get_name get_pass) stringstream temp; string temp_str
11、; temp temp_str; string all_str = get_name + + temp_str; sign.push(all_str); while (sign.size() != 0) if (name + + pass_str = sign.top() pre_name = name; Rec_history The user : name has landed in the System . _money; ifstream Deposit_money(Account balance.txt); map Deposit_Money; map :iterator it; s
12、tring temp; while (Deposit_money temp extra_money) if (temp = pre_name) extra_money = extra_money + _money; Rec_history The user : temp has deposited _money Yuann; Deposit_Money.insert(pair(temp, extra_money); Deposit_money.close(); ofstream DepositMoney(Account balance.txt); for (it = Deposit_Money
13、.begin(); it != Deposit_Money.end(); it+) DepositMoney first t second _money; string temp; ifstream Withdraw_money(Account balance.txt); map Withdraw_Money; map :iterator it; while (Withdraw_money temp extra_money) if (temp = pre_name) extra_money = extra_money - _money;Rec_history User : temp has w
14、ithdrawed _money Yuann; Withdraw_Money.insert(pair(temp, extra_money); Withdraw_money.close(); ofstream WithdrawMoney(Account balance.txt); for (it = Withdraw_Money.begin(); it != Withdraw_Money.end(); it+) WithdrawMoney first t second n; WithdrawMoney.close(); Sleep(1000); system(cls);void Bank_Man
15、agement:query_account() system(cls); printf(nnnn); Secondary_ui(); ifstream Read_only(Account balance.txt); string temp; double extra; cout tttt Name t temp extra) if (temp = pre_name) cout tttt temp t extra endl; Read_only.close(); Rec_history The user : temp has Queried her/his accout!n; Sleep(500
16、0); system(cls);void Bank_Management:change_password() ifstream OpenFile(User name and password.txt); string temp; int pass; map change_password; map :iterator it; system(cls); printf(nnnn); Secondary_ui(); printf(ttPlease enter the new password you want:); double new_pass; cin new_pass; while (Open
17、File temp pass) if (temp = pre_name) pass = new_pass; change_password.insert(pair(temp, pass); OpenFile.close(); ofstream res_pass(User name and password.txt); for (it = change_password.begin(); it != change_password.end(); it+) res_pass first t second n; Rec_history The user pre_name has changed hi
18、s/her password!n; Sleep(1000); system(cls);int main() string name; int password; int creat_num; Rec_history order; if (order = 1) printf(tt Please enter the previous users name:t); cin name; printf(tt Please enter previous users password:t); cin password; if (operation0.sign_user(name, password) = 1
19、) system(cls); main_ui( ); else printf(tSorry,you have done a wrong operation!Please restart the system again! an); Rec_history The user whose name is name creat_num; for (int i = 0; i name; printf(tt Please enter the %d-users password:t, i + 1); cin password; Cre_user name t password n; Ini_account
20、 name t 0 n; Rec_history The system has created a user whose name is name .n; Rec_history The system has initialized name s accountn; Cre_user.close(); Ini_account.close(); printf(tWe have saved all operations!Please restart the system again!); Sleep(1000); system(cls); else if (order = 3) Rec_history The user decided to exit the system!n; return 0; else printf(tSorry,you have done a wrong operation!Please restart the system again! an); Rec_history The user has done a wrong operation!The system exited!n; return 0; return 0;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1