程序:
/*
* Copyright(c)2013,
*All right reserved.
*文件名称:test5-5.cpp
*作 者:徐驰
*完成日期:2013-12-06
*版 本 号:v1.2
*
*输入描述:指令
*问题描述:银行系统支持多用户
*程序输出:服务项目
*问题分析:略
*算法分析:略
*/
#include<iostream>
#include<cstdlib>
#include<string>
#include<fstream>
using namespace std;
string account[1000];
string pass_word[1000];
double sum[1000];
int num_a=0;
int check_account();
void work(int acc_num);
void main()
{
ifstream infile("bank.txt",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
while(infile>>account[num_a]>>pass_word[num_a]>>sum[num_a])++num_a;
infile.close();
cout<<"~~~欢迎存钱~~~"<<endl;
work(check_account());
}
#include<iostream>
#include<cstdlib>
#include<string>
using namespace std;
extern string account[1000];
extern string pass_word[1000];
extern int num_a;
int check_account()
{
int pass_num=0,i;
string acc,pass;
do
{
cout<<"请输入账号:";
cin>>acc;
for(i=0;i<num_a;++i)
{
if(acc==account[i])break;
}
if(acc!=account[i])cout<<"查无此账号,请重新输入."<<endl;
}
while(acc!=account[i]);
while(1)
{
cout<<"请输入密码:";
cin>>pass;
if(pass==pass_word[i])break;
cout<<"输入错误请重新输入。"<<endl;
pass_num++;
if(pass_num==3)
{
cout<<"the system has been destroied... "<<endl;
exit(1);
}
}
return i;
}
#include<iostream>
using namespace std;
void drop_out();
void search(int acc_num);
void withdrawals(int acc_num);
void deposit(int acc_num);
void transfer(int acc_num);
void change_password(int acc_num);
void work(int acc_num)
{
int num;
while(1)
{
cout<<"请输入指令:"<<endl;
cout<<"* 1.查询"<<endl;
cout<<"* 2.取款"<<endl;
cout<<"* 3.存款"<<endl;
cout<<"* 4.转账"<<endl;
cout<<"* 5.修改密码"<<endl;
cout<<"* 0.退出"<<endl;
cout<<"* 请输入(0-4):";
cin>>num;
switch(num)
{
case 0:drop_out();break;
case 1:search(acc_num);break;
case 2:deposit(acc_num);break;
case 3:withdrawals(acc_num);break;
case 4:transfer(acc_num);break;
case 5:change_password(acc_num);break;
default :cout<<"try it again~~~"<<endl<<endl;
}
}
}
#include<iostream>
using namespace std;
extern double sum[1000];
void search(int acc_num)
{
cout<<"您的余额为:"<<sum[acc_num]<<endl<<endl;
}
#include<iostream>
#include<string>
using namespace std;
extern string account[1000];
extern double sum[1000];
extern int num_a;
void transfer(int acc_num)
{
double sum1;
int i;
string acc;
do
{
cout<<"请输入账号:";
cin>>acc;
if(acc!=account[acc_num])
{
for(i=0;i<num_a;i++)
{
if(acc==account[i])break;
}
if(acc!=account[i])cout<<"查无此账号,请重新输入。"<<endl;
}
else cout<<"您不能给自己转账。"<<endl;
}
while(acc!=account[i]||acc==account[acc_num]);
while(1)
{
cout<<"请输入金额:";
cin>>sum1;
if(sum1<=sum[acc_num])
{
sum[acc_num]=sum[acc_num]-sum1;
sum[i]=sum[i]+sum1;
cout<<"已向"<<account[i]<<"转账"<<sum1<<"元。"<<"余额:"<<sum[acc_num];
break;
}
else
{
cout<<"余额不足,请重新输入。";
}
}
cout<<endl<<endl;
}
#include<iostream>
using namespace std;
extern string account[1000];
extern double sum[1000];
void withdrawals(int acc_num)
{
double sum1;
int type,time,level;
cout<<"请输入金额:";
cin>>sum1;
cout<<"请输入类型(0.活期;1.定期):";
cin>>type;
sum[acc_num]=sum[acc_num]+sum1;
if(type)
{
cout<<"请输入时间(以月为单位):";
cin>>time;
level=(time>=3)+(time>=6)+(time>=12)+(time>=24)+(time>=36)+(time>=60);
switch(level)
{
case 0:cout<<"到期本金:"<<sum[acc_num]<<"利息:"<<sum[acc_num]*time/12.0*0.005;break;
case 1:cout<<"到期本金:"<<sum[acc_num]<<"利息:"<<sum[acc_num]*time/12.0*0.031;break;
case 2:cout<<"到期本金:"<<sum[acc_num]<<"利息:"<<sum[acc_num]*time/12.0*0.033;break;
case 3:cout<<"到期本金:"<<sum[acc_num]<<"利息:"<<sum[acc_num]*time/12.0*0.035;break;
case 4:cout<<"到期本金:"<<sum[acc_num]<<"利息:"<<sum[acc_num]*time/12.0*0.044;break;
case 5:cout<<"到期本金:"<<sum[acc_num]<<"利息:"<<sum[acc_num]*time/12.0*0.050;break;
case 6:cout<<"到期本金:"<<sum[acc_num]<<"利息:"<<sum[acc_num]*time/12.0*0.055;break;
}
}
else
{
cout<<"您的余额为:"<<sum[acc_num];
}
cout<<endl<<endl;
}
#include<iostream> using namespace std; extern double sum[1000]; void deposit(int acc_num) { double sum1; while(1) { cout<<"请输入金额:"; cin>>sum1; if(sum1<=sum[acc_num]) { sum[acc_num]=sum[acc_num]-sum1; cout<<"余额:"<<sum[acc_num]; break; } else { cout<<"余额不足,请重新输入。"; } } cout<<endl<<endl; }
#include<iostream> #include<cstdlib> #include<string> using namespace std; extern string pass_word[1000]; int check_account(); void change_password(int acc_num) { string pass1,pass2; int pass_num; while(1) { cout<<"请输入旧密码:"; cin>>pass1; if(pass1==pass_word[acc_num])break; cout<<"输入错误请重新输入。"<<endl; pass_num++; if(pass_num==3) { cout<<"the system has been destroied... "<<endl; exit(1); } } while(1) { cout<<"请输入新密码:"; cin>>pass1; cout<<"请再次输入新密码:"; cin>>pass1; if(pass1==pass2)break; cout<<"输入错误请重新输入。"<<endl; } pass_word[acc_num]=pass1; cout<<"密码已修改。"<<endl; }
#include<iostream> #include<fstream> #include<cstdlib> #include<string> using namespace std; extern int num_a; extern string account[1000]; extern string pass_word[1000]; extern double sum[1000]; void drop_out() { int i; cout<<"欢迎下次存钱~~~"<<endl; ofstream outfile("bank.txt",ios::out); if(!outfile) { cerr<<"open error!!"<<endl; exit(1); } for(i=0;i<num_a;++i) { outfile<<account[i]<<"\t"<<pass_word[i]<<"\t"<<sum[i]<<endl; } outfile.close(); exit(1); }