銀行儲蓄系統資料庫課程設計
『壹』 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.注意詢問格式的美觀、實用,而且採用了統一的格式,體現了一定的風格。
四、可靠性設計
這里所說的可靠性是指數據的安全與保密。所謂系統的可靠性設計就是確定保證數據的安全與保密措施。
就保密措施採取了二重確認的方法。通過加強應用程序的容錯性,設置了用戶的許可權,系統中信息資源的存取、修改、查詢等使用許可權進行了控制。對於用戶管理員的頂級許可權在程序運行的過程中進行了控制工作。