• C++编写ATM(2)


    //上一个程序,密码不能被隐藏和该ATM可以让人取大于余额的乐币,疑问这可定不行的。所以再次改了下,解决这两个问题。

    // ATM的初始.cpp : 定义控制台应用程序的入口点。
    //
    /*************************************************
    运行环境: VS2008
    作者:USinging
    ******************************************************/
    
    #include "stdafx.h"
    #include "iostream"
    #include <conio.h>
    
    //全局变量
    float sum_money= 9999;
    float money= 0;
    
    //标记作用
    int flag= 1;
    int mark;
    
    //打印星号
    void start(void)
    {
        for(int i= 0; i<45; i++)
    	{
    		std::cout<<"*";
    	}
    	std::cout<<"
    ";
    }
    //显示功能选项
    void display_function(void)
    {
    	std::cout<<"1.查询"<<std::endl;
    	std::cout<<"2.取款"<<std::endl;
    	std::cout<<"3.存款"<<std::endl;
    	std::cout<<"4.转账"<<std::endl;
    	std::cout<<"0.退出"<<std::endl;
    }
    
    int  display_number(int num)
    {
        switch(num)
    	{
    	     case 0:
    			 {   
    				 start();
    				 std::cout<<"谢谢,您选择0号功能:退出"<<std::endl;
    				 start();
    				 return 0;
    			 }
    		 case 1:
    			 {
    				 start();
    				 std::cout<<"谢谢,您选择1号功能:查询"<<std::endl;
    				 std::cout<<"您的账号有:";
    				 std::cout<<sum_money<<"元乐币"<<std::endl;
    				 start();
    				 return 1;
    			 }
    		 case 2:
    			 {
    				 start();
    				 std::cout<<"谢谢,您选择2号功能:取款"<<std::endl;
    				 std::cout<<"请输入您要取的乐币:";
    			     std::cin>>money;
    				 if(money> sum_money)
    				 {
    					 std::cout<<"您要取的乐币大于余额,此操作终结!"<<std::endl;
    					 start();
    					 return 1;
    				 }
    				 sum_money-= money;
    				 std::cout<<"您的账户有:";
    				 std::cout<<sum_money<<"乐币"<<std::endl;
    				 start();
    				 return 1;
    			 }
    		 case 3:
    			 {
    				 start();
    				 std::cout<<"谢谢,您选择3号功能:存款"<<std::endl;
    				 std::cout<<"请输入您要存的乐币:";
    				 std::cin>>money;
    				 sum_money+= money;
    				 std::cout<<"您的账户有:"<<sum_money<<"乐币"<<std::endl;
    				 start();
    				 return 1;
    			 }
    		 case 4:
    			 {
    				 start();
    				 std::cout<<"谢谢,您选择4号功能:转账"<<std::endl;
    				 std::cout<<"请输入您要转的乐币:"<<std::endl;
    				 std::cin>>money;
    				 if(money> sum_money)
    				 {
    					 std::cout<<"您要转乐币大于余额,此操作被终结!"<<std::endl;
    					 start();
    					 return 1;
    				 }
    				 sum_money-= money;
    				 std::cout<<"您账户有:"<<sum_money<<"乐币"<<std::endl;
    				 start();
    				 return 1;
    			 }
    	}
    	std::cout<<"您输入的数字没有相应的功能!, 不要着急,再来一次。"<<std::endl;
    	return 1;     //当num没有匹配时返回1
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	std::cout<<"************************欢迎来到乐多多一号银行***********************"<<std::endl<<std::endl;
    
    	char password[7]="123456";
    	char keep_password[7];
        
    	//打印星号
    	start();
    
    	for(int j=0; j<3; j++)
    	{
    		std::cout<<"请输入您的密码(六位数哦):";
    
    		for(int k=0; k< 7; k++)
    		{
    		    keep_password[k]=getch();
    			if(k<6)
    			{
    			   std::cout<<"*";
    			}
    		}
    		std::cout<<"
    ";
    		
    		for(int i=0; i< 6; i++)
    		{			
    			if(password[i]== keep_password[i])
    			{
    			   flag= 1;  //第i位相同
    			}
    			else
    			{
    			   flag=0;     
    			   break;
    			}
    		}
    
    		if(j<3 && flag==0)
    		{
    			std::cout<<"您的密码错误"<<std::endl;
    		}
    		else if(j< 3)
    		{
    			std::cout<<"密码正确,请继续操作."<<std::endl;
    			break;
    		}
    		else if(j>= 3)
    		{
    			std::cout<<"您已输入错误密码3次,银行卡被锁住!"<<std::endl;
    			return -1;
    		}
    	}
        
    	display_function();
    
    	int num;
    	while(1)
    	{
    		std::cout<<"输入您选择的功能号:";
    		std::cin>>num;
    	    
    		mark=display_number(num);
    
    		if(mark==0)
    		{
    			std::cout<<"您已经退出乐多多一号银行,欢迎再次使用"<<std::endl;
    		   break;
    		}
    	}
        
    	//打印星号
    	start();
    
    	return 0;
    }
    


  • 相关阅读:
    使用Session防止表单重复提交
    Session
    使用Cookie进行会话管理
    Java邻接表表示加权有向图,附dijkstra最短路径算法
    web工程中URL地址的推荐写法
    Web工程中各类地址的写法
    HTTP中的重定向和请求转发的区别
    squid代理
    代理服务 squid 隐藏真实ip,也就是透明代理
    docker添加sshd 服务
  • 原文地址:https://www.cnblogs.com/riskyer/p/3237068.html
Copyright © 2020-2023  润新知