西安科技大学
C++语言课程设计
题目: 银行账户管理系统
班级:信息与计算科学 11xx 班
学号:
11080602xx
姓名:
x
x
日期: 2012 年 1 月 5 日
题目 银行账户管理系统
一、题目介绍
问题描述:设计开发一个银行账户管理系统,账户的信息有账号(唯一),姓名,余额,
身份证号码,联系方式等,模拟银行卡的一系列基本功能,包括注册开户、销户退出、存款、
取款、转账、查询余额、修改密码、个人信息、退出系统等,保存为文件。要求人机界面设
计友好,用户使用方便,在用户输入有误时能给出相关的出错提示,并能承受一定的错误信
息。要求具有一定的安全机制,如用户在一定的时间范围内对系统未予以响应,或者用户多
次输入错误的登录信息时,系统会自动给用户发出提示性信息,以便用户处理解决问题。
用户界面要求:输入:程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应
的操作项目)当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输
入相应的数据;输出:应用程序正常运行后,要在屏幕上显示一个文字菜单;要求用户输入
数据时,要给出清晰、明确的提示信息,包括输入的数据内容,格式及结束方式等。
题目设计要求和目的:进一步巩固 C++语言语法规则;熟练掌握程序设计的一般技巧和
方法;培养解决综合性实际问题的能力。
二、系统分析
1、程序各功能实现的说明
1)定义一个账户类对象,实现对一个账户信息的说明功能。
2)、定义账户类成员函数注册开户函数,实现注册开户功能。提供开户界面,由用户输
入新账号的所有信息,并保存到文件中。
3)、定义账户类成员函数用户登录函数,实现用户登录功能。输入卡号和密码,根据用
户输入的卡号和密码,到后台文件查询,若正确则登录成功,并保存卡好信息已备后用。
若卡号存在和密码不匹配或该卡号没有注册,提示该卡号已存在且密码输入错误或该卡
号没有注册。
4)、定义账户类成员函数存款函数,实现存款功能。选择存款功能操作进入存款界面,
并提供数据输入界面,等待用户的输入存款金额。从后台数据中找到该用户余额记录,
修改余额,并将该存款事件的相应信息写人数据,同时将存钱的金额显示在页面上。
5)、定义账户类成员函数取款函数,实现取款功能。选择取款功能操作进入取款界面,
并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则
不能取款,或者将新的余额写入文件,并将本次取款事件写入文件同时将取钱的金额显
示在页面上。
6)、定义账户类成员函数余额查询函数,实现余额查询功能。选择余额查询功能操作进
入余额查询界面,把该卡上的余额显示到界面中。
8)、定义账户类成员函数修改密码函数,实现修改密码功能。
9)、定义账户类成员函数注销退出函数,实现销户退出功能。注销该登录账号返回系统
主页面。
10)、定义账户类成员函数首页函数,设计系统首页界面。主要导航栏有:欢迎使用储
蓄卡管理(注册开户、用户登录、退出系统)。
11)、定义账户类成员函数菜单函数,设计系统菜单界面。
2、程序结构图
银行账户管理系统
系统主页
注册开户
用户登录
退出系统
用户操作菜单
存款
取款
余额查询
个人信息
修改密码
注销退出
三、程序代码
/*银行账户管理系统,本程序只能实现对一个
账号的开户注册、存款、取款、余额查询、
个人信息查询、修改密码、注销退出操作。*/
#include
#include
#include
#include
using namespace std;
//定义账户类
class zhanghu
{
private:
char name[20];
//姓名
char ID[24];
char zhanghao[24];
int mima;
char phone[14];
//身份证号码
//账号
//账号密码
//手机号码
public:
//声明账户类成员函数原型
//余额
int YuE;
void kaihu();
void denglu();
void cunkuan();
void qukuan();
void chaxun();
void xinxi();
void gaimi();
void xiaohu();
void shouye();
void caidan();
}person;
void zhanghu::kaihu()
{
//定义账户类成员函数注册开户函数
int mima1;
int mima2;
cout<<"请输入用户姓名:";
cin>>person.name;
cout<<"请输入身份证号码:";
cin>>person.ID;
cout<<"请输入创建账号:";
cin>>person.zhanghao;
cout<<"请创建账号密码(6 位数字):";
cin>>mima1;
cout<<"请再次输入账号密码(6 位数字):";
cin>>mima2;
for(int i=1;i<3;i++)
{
if(mima2!=mima1)
{
cout<<"前后两次输入密码不一致,请重新设置密码!"<>mima1;
cout<<"请再次输入账号密码(6 位数字):";
cin>>mima2;
}
else
person.mima=mima1;
}
if(i=3&&mima2!=mima1)
{
cout<<"\n\n 三次前后输入密码不一致,退出系统!"<>person.phone;
//保存开户信息
ofstream f1("cpp.txt");
if(!f1)return;
f1<<"\t 开户信息如下:"<>zhanghao;
if(strcmp(person.zhanghao,zhanghao)!=0)
{
cout<<"账号错误,请重新输入账号!"<>zhanghao;
if(strcmp(person.zhanghao,zhanghao)!=0)
{
cout<<"账号错误,请重新输入账号!"<
>zhanghao;
if(strcmp(person.zhanghao,zhanghao)!=0)
{
cout<<"您已经三次输入账号错误,退出系统!"<>mima1;
if(mima1!=person.mima)
{
cout<<"账号密码输入错误,请再次输入!\n";
cout<<"请输入账号密码(6 位数字):";
cin>>mima1;
if(mima1!=person.mima)
{
cout<<"账号密码输入错误,请再次输入!\n";
cout<<"请输入账号密码(6 位数字):";
cin>>mima1;
if(mima1!=person.mima)
{
cout<<"您本次已经三次输入密码错误,退出系统!"<>YuE1;
person.YuE=person.YuE+YuE1;
cout<<"您已成功存入"<f1<
>YuE2;
if(YuE2>person.YuE)
{
cout<<"余额不足,请再次输入取款的金额!"<if(!f1)return;
f1<>person.mima;
cout<<"请输入修改后的密码(6 位数字):";
cin>>mima3;
person.mima=mima3;
cout<<"修改密码成功!"<