当前位置:首页 » 课程大全 » 银行储蓄系统数据库课程设计

银行储蓄系统数据库课程设计

发布时间: 2021-01-30 22:26:01

『壹』 j急需C++银行储蓄系统课程设计!!! 跪求

#include<iostream>
#include <string>
#include<stdlib.h>
#include<fstream>
using namespace std;
class consumer;
class YH
{
public:
YH();
void set_account();
//银行开户
void del_account();
void transfer(int); //转账
void enter_account();
void addmoney(int,float);
void exitYH();// 退出系统
void functionshow();

void save();
void load();// 功能界面
protected:
consumer *account[20];
static int acnum;
//账户数

};
int YH::acnum=0;
YH::YH()
{
//for(int i=0;i<20;i++)
//{
//account[i] = NULL;
//}
}

class consumer:public YH
{
public:
friend class YH;
consumer(int id,string Name,string PassWord,float m)
{
ID=id;name=Name;money=m;passwd=PassWord;
}
consumer(){ID=0;name='0';money=0;passwd='0';}

int get_id(){return ID;}
void savemoney();
// 存钱
string get_passwd(){return passwd;}
// 取得密码
void display();
void fetchmoney(); //取钱
void change_passwd();
void add_money(float);
void dec_money(float);
float get_money();

//卡卡转帐
private:
int ID; //开户帐号
string passwd; // 用户密码
string name; // 用户姓名
float money;

};

void YH::save()
{ofstream ofile("bankdat.dat",ios::out);
ofstream outfile("bankdat.dat",ios::out);
int n=0;
outfile<<acnum<<" ";
for(;n<acnum;n++)
{outfile<<account[n]->ID<<" ";
outfile<<account[n]->money<<" ";
outfile<<account[n]->name<<" ";
outfile<<account[n]->passwd<<" ";
}
outfile.close(); //__page_break__
}

void YH::load()
{ifstream infile("bankdat.dat",ios::in);
if(!infile)
{cerr<<"读取错误,无资料中!"<<endl;
return;
}
int n=0;
int id,m;
string nam,passw;
infile>>acnum;
for(;n<acnum;n++)
{infile>>id;
infile>>m;
infile>>nam;
infile>>passw;account[n]->passwd;
consumer * acc = new consumer(id,nam,passw,m);
account[n] = acc;
}
infile.close();
cout<<"读取资料正常!"<<endl;
}

void YH::transfer(int x)
{int id;
cout<<"请输入帐号:";
cin>>id;
int flag = 1;
int i = 0;
while((i<acnum)&&(flag))
{
if(id==account[i]->get_id()) flag = 0; else i++;
}
if(flag)
{
cout<<"帐号不存在!"<<endl<<endl;
return ;
}
float b;

cout<<endl<<"请输入你要转帐的金额:";
cin>>b;
while(b<=0)
{
cout<<"请输入正确的数字!"<<endl;
cout<<"$>";
cin>>b;
}
if(account[x]->get_money()<b) cout<<"对不起,金额不够!!"<<endl;
else {account[x]->dec_money(b);account[i]->add_money(b);
cout<<"转帐成功!";}

return;
}

void consumer::add_money(float x)
{money=x+money;}
void consumer::dec_money(float x)
{money=money-x;}

void YH::addmoney(int x,float y)
{account[x]->money=account[x]->money-y;
}
float consumer::get_money()
{return money;}

void main()
{YH yh;
yh.functionshow();
}

void YH::functionshow()
{
int n;
do
{system("cls"); load();
cout<<endl<<"请你输入相应的操作序号进行操作:"<<endl;
cout<<"1) 用户开户"<<endl<<"2) 账户登陆"<<endl<<"3) 帐户注销"<<endl<<"4) 退出系统 "<<endl;
cout<<"$>";
cin>>n;
while(n<1||n>4)
{
cout<<"请输入正确的操作序号!"<<endl;
cout<<"$ >";
cin>>n;
}
switch(n)
{
case 1: set_account();
break;
case 2:enter_account();break;
case 3: del_account();
break;
case 4: exitYH();
break;
}
cin.get();
}
while(true);
}

void YH::enter_account()
{int id;
cout<<"请输入帐号:";
cin>>id;
int flag = 1;
int i = 0; //__page_break__
while((i<acnum)&&(flag))
{
if(id==account[i]->get_id()) flag = 0; else i++;
}
if(flag)
{
cout<<"帐号不存在!"<<endl<<endl;
return;
}
cout<<"请输入密码:";
string passw;
cin>>passw;
if(passw!=account[i]->get_passwd()) return;
account[i]->display();cin.get();cin.get();
int n;
do{system("cls");
cout<<"请选择你要进行的操作:"<<endl<<"1)查看信息"<<endl<<"2)取款"<<endl<<"3)存款"<<endl<<"4)修改密码"<<endl<<"5)转账"<<endl<<"6)返回"<<endl;

cin>>n;

switch(n)
{case 1: account[i]->display();break;
case 2: account[i]->fetchmoney();save();break;
case 3:account[i]->savemoney();save();break;
case 4:account[i]->change_passwd();save();break;
case 5:transfer(i);save();break;
case 6:return;
}cin.get();cin.get();
}
while(1);
}

void YH::set_account()
{
int id;
string nam;
string passw;
float m;

cout<<endl<<"请输入开户号:";
cin>>id;
cout<<endl<<"请输入开户人姓名:";
cin>>nam;
cout<<endl<<"请输入开户密码:";
cin>>passw;
cout<<endl<<"请输入存入金额:";
cin>>m;
while(m<=0)
{
cout<<"请输入正确的数字!"<<endl;
cin>>m;
}
consumer * acc = new consumer(id,nam,passw,m);
account[acnum] = acc;
cout<<"开户成功!!"<<endl<<endl;
acnum++;
save();
cin.get();
return;

}

void YH::del_account()
{
int id;
cout<<endl<<"请输入你要注销的帐户号:";
cin>>id;
int flag = 1;
int i = 0;
while((i<acnum)&&(flag))
{
if(id == account[i]->get_id())
{
flag = 0;
}
else
{
i++;
}
}
if(flag)
{
cout<<"帐号不存在!"<<endl<<endl;
return;
}
for(int j=i;j<acnum;j++)
{
account[j] = account[j+1];
}
account[acnum-1]=NULL;
acnum--;
cout<<"注销成功!!"<<endl<<endl;
save();
cin.get();
return;
}

void consumer::change_passwd()
{
string pwd,repwd;
cout<<"请输入新密码:";
cin>>pwd;
cout<<"请再输入一次新密码:";
cin>>repwd;
if(pwd!=repwd)
cout<<"你输入的两次密码不一样,请重新输入!"<<endl;

passwd=pwd;
cout<<"密码修改成功,请牢记!"<<endl;cin.get();
}

void consumer::fetchmoney()
{
float m;
char ch;
do
{
cout<<endl<<"你要取多少钱:"<<"$>"<<endl ;//__page_break__
cin>>m;
while(m<=0)
{
cout<<"请输入正确的数字!"<<endl;
cout<<"$>";
cin>>m;
}
if(money<m)
{
cout<<"对不起,你的余额不足!"
<<endl;
}
else
{money=money-m;
cout<<endl<<"操作成功,请收好钱!"
<<endl;

}
cout<<"是否要继续该项操作:(Y/N) "
<<endl;
cout<<"$ >";
cin>>ch;
while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y')
{
cout<<"$ >";
cin>>ch;
}
}while(ch=='y'||ch=='Y');
}

void consumer::savemoney()
{
float c;
char ch;
do
{
cout<<endl<<"你要存多少钱:"<<"$>"<<endl ;
cin>>c;
while(c<=0)
{
cout<<"请输入正确的数字!"<<endl;
cout<<"$>";
cin>>c;
}
money=money+c;
cout<<"操作已成功!"<<endl;
cout<<"是否要继续该项操作:(Y/N) "<<endl;
cout<<"$ >";
cin>>ch;
while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y')
{
cout<<"$ >";
cin>>ch;
}
}while(ch=='y'||ch=='Y');
}

void consumer::display()
{system("cls");
cout<<"**********************************"<<endl;
cout<<"*"<<endl;
cout<<"* 用户姓名:"<<name<<endl;
cout<<"* 帐号: "<<ID<<endl;
cout<<"* 余额: "<<money<<endl;
cout<<"**********************************"<<endl;
}

void YH::exitYH()
{
cout<<endl<<"感谢你对本银行储蓄管理系统的支持,欢迎下次光临!"<<endl;
exit(0);
}

『贰』 数据库银行储蓄系统课程设计 java

可以依靠Baihi告诉我们
有机会能够处理你所遇到的工作
具体的要求也能够告诉我们

ES:\\
交易提醒:预付定金有风险

『叁』 急求c语言银行储蓄系统课程设计!!!

阿滕宏伟斯图尔特我个人过

『肆』 求银行储蓄系统详细设计

银行储蓄系统详细设计
一、模块设计
系统总体结构方图:

银行储蓄系统又大致分为两个模块:存款模块和取款模块。

1.身份验证模块:
设置身份验证模块的目的保证储户信息的安全。功能在于对申请登录的用户进行身份验证,通过者才能进入系统。
银行业务员输入储户用户ID,储户输入密码并确定,系统保存用户输入的用户ID和密码,并在customer表中查找customerid和customername字段值,看是否等于业务员输入的用户ID和密码,如相同则通过验证,否则不通过,并给出“密码错误”的提示,如数据库中不存在这样的记录,则给出“该用户不存在”的提示。

2.存款模块:
设置存款模块的目的在于将储户的金额存到系统中并记录信息。存款模块将储户存款金额录入存储到系统中,并附带显示其他储户信息。
该模块的输出项为存款金额,并且附带显示其他信息:用户名、账号、账户余额、利息金额。当银行业务员输入存款金额后,系统进行处理,显示出账户余额,并且显示其他固定信息。

3.取款模块:
设置取款模块的目的在于将储户的取款金额录入并存储到系统中。取款模块将储户取款金额录入存储到系统中,并附带显示储户其他信息。该模块的输出项为取款金额,并且附带显示其他信息:用户名、账号、账户余额、利息金额。当银行业务员输入取款金额后,点击确定按钮,系统进行处理,显示出账户余额,并且显示其他固定信息。

4.存款单打印模块:
设置存款单打印模块的目的在于将储户的存款信息以单据的形式及时反馈给储户。存款单打印模块将储户存款金额以及储户帐户信息以单据形式反馈给储户。该模块的输出项为存款人、存款银行、业务员编号、存款金额、存款日期、手续费、帐户余额。当银行业务员输入存款金额后,系统进行处理,显示出账户余额,并且显示其他固定信息。

5.取款单打印模块:
设置取款单打印模块的目的在于将储户的取款信息以单据的形式及时反馈给储户。取款单打印模块将储户取款金额以及储户帐户信息以单据形式反馈给储户。该模块的输出项为取款人、取款银行、业务员编号、取款金额、取款日期、手续费、帐户余额。当银行业务员输入取款金额后,系统进行处理,显示出账户余额,并且显示其他固定信息。

6.按用户名和ID查询模块
设置“按用户名和ID查询”模块的目的在于方便用户获知自己的存取款信息。功能在于通过储户输入用户名和ID来查询自己的信息。
该模块的输出项为储户各项信息。输入用户名和ID,单击检索按钮,系统判断用户名和ID是否与数据库中的customername , customerid相同,若相同则输出储户各项信息,若不同则输出“输入有误!请重新输入!”的提示信息。

二、数据设计

1.用户验证模块流程图:

该模块的输入项:
名称 标识 数据类型 数据值 输入方式
用户ID customerid 字符 键盘输入
密码 password 字符或数字 键盘输入

2.存款模块流程图:

该模块的输入项:
名称 标识 数据类型 数据值 输入方式
存款金额 cunkuancount 数字( Double ) >0 键盘或鼠标

3.取款模块的流程图:

该模块的输入项:
名称 标识 数据类型 数据值 输入方式
取款金额 qukuancount 数字( Double ) >0 键盘或鼠标
三、、对话设计
在对话设计的过程中遵循了对话设计的原则:
1.对话要清楚、没有二义性。
2.对用户的响应要快,而且要进行了回答的有效性检验。
3.对话比较适合用户的要求与习惯,应该问的问题问了,问得不频繁。
4.注意询问格式的美观、实用,而且采用了统一的格式,体现了一定的风格。
四、可靠性设计
这里所说的可靠性是指数据的安全与保密。所谓系统的可靠性设计就是确定保证数据的安全与保密措施。
就保密措施采取了二重确认的方法。通过加强应用程序的容错性,设置了用户的权限,系统中信息资源的存取、修改、查询等使用权限进行了控制。对于用户管理员的顶级权限在程序运行的过程中进行了控制工作。

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919