test4-8(银行系统支持多用户)求助!!!

原创 2013年12月05日 13:33:14

程序:

/*
* Copyright(c)2013,
*All right reserved.
*文件名称:test4-8.cpp
*作    者:徐驰
*完成日期:2013-12-05
*版 本 号:v1.2
*
*输入描述:指令
*问题描述:银行系统支持多用户
*程序输出:服务项目
*问题分析:略
*算法分析:略
*/
#include<iostream>
#include<cstdlib>
#include<string>
using namespace std;
string account[2]={"001","002"};
string pass_word[2]={"000001","000002"};
double sum[2]={10000,10000};
int check_account();
void work(int acc_num);
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 main()
{
    cout<<"~~~欢迎存钱~~~"<<endl;
	work(check_account());
}
int check_account()
{
	int pass_num=0,i;
	string acc,pass;  
	do
	{
		cout<<"请输入账号:";
		cin>>acc;
		for(i=0;i<2;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;
}
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;  
        }  
    }
}
void drop_out()
{
	cout<<"欢迎下次存钱~~~"<<endl;exit(1);
}
void search(int acc_num)
{
	cout<<"您的余额为:"<<sum[acc_num]<<endl<<endl;
}
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.05;break;
			case 6:cout<<"到期本金:"<<sum[acc_num]<<"利息:"<<sum[acc_num]*time/12.0*0.055;break;
		}
	}
	else
	{
		cout<<"您的余额为:"<<sum[acc_num];
	}
	cout<<endl<<endl;
}
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;
}
void transfer(int acc_num)
{
	double sum1;
	int i;
	string acc;
	do
	{
		cout<<"请输入账号:";
		cin>>acc;
		if(acc!=account[acc_num])
		{	
			for(i=0;i<2;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;
}
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;  
}
结果:

求助:

请问各位大神为什么我的这个程序一给自己转账就会出现应用程序错误。。。

支付宝等大型支付系统后台系统是如何对账和风控的

支付宝等大型支付系统交易额巨大,后台系统是如何对账和风控的呢?
  • XingKong22star
  • XingKong22star
  • 2016年08月03日 12:07
  • 2398

银行账户管理系统详细设计说明书

银行账户管理系统详细设计说明书 第一部分  引言 1.1  编写目的 本说明对会议室管理系统项目的各模块、页面、脚本分别进行了实现层面上的要求和说明。 软件开发小组的产品实现成员应该阅读和参考本说明进...
  • gongxifacai_believe
  • gongxifacai_believe
  • 2016年06月06日 23:02
  • 13649

【软件工程】 文档 - 银行业务管理 - 面向对象分析与设计

软件工程 银行业务管理和现金结算系统 --- 面向对象分析与设计文档
  • Ya_da
  • Ya_da
  • 2016年05月24日 20:52
  • 5955

C++第13周项目5——银行系统支持多用户(v0.3)

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565说明:此项目是为未学习数组的同学拟出的,目的是让他们对“工程”有所体验。一些...
  • sxhelijian
  • sxhelijian
  • 2012年11月23日 20:36
  • 2651

C++第14周项目6——银行系统,真正多用户

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565【项目6 - 银行系统】我们可以实现真正的多用户银行系统了。在具体业务上,不...
  • sxhelijian
  • sxhelijian
  • 2012年11月29日 19:23
  • 2883

test4-7(银行系统用组织函数)

程序: /* * Copyright(c)2013, *All right reserved. *文件名称:test4-7.cpp *作 者:徐驰 *完成日期:2013-12-05 *版 本 ...
  • u012822169
  • u012822169
  • 2013年12月05日 10:34
  • 346

test4-6(银行系统)

程序: /* * Copyright(c)2013, *All right reserved. *文件名称:test4-6.cpp *作 者:徐驰 *完成日期:2013-12-05 *版 本 号...
  • u012822169
  • u012822169
  • 2013年12月05日 09:11
  • 337

wi7/8远程多用户同时登录工具64位系统

  • 2017年07月03日 10:31
  • 36KB
  • 下载

pigcms多用户微信营销系统utf8版本_短信宝短信插件

  • 2016年06月17日 10:53
  • 8KB
  • 下载

路过秋天版博客 V2.0 正式版发布 增加后台管理系统[支持多语言、多用户、多数据库、目录级URL]

路过秋天版博客发布历史回顾: 1:2010年11月08日---支持多语言、多用户、多数据库、目录级URL之路过秋天版博客发布[绝对有杀伤力的博客] 2:2010年11月10日---基础却容易被忽略...
  • cyq1162
  • cyq1162
  • 2016年11月23日 12:10
  • 257
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:test4-8(银行系统支持多用户)求助!!!
举报原因:
原因补充:

(最多只允许输入30个字)