• C++编写ATM(1)


    // 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;
    				 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;
    				 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<<"请输入您的密码(六位数哦):";
    		std::cin.getline(keep_password, 7);
    		
    		for(int i=0; i< 6; i++)
    		{			
    			if(password[i]== keep_password[i])
    			{
    			   flag= 1;
    			}
    			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;
    }
    


    //程序仍有些缺点,如密码没被隐藏,请多多包涵

  • 相关阅读:
    [git] push.default is unset
    [daily][qemu][libvirt] 使用libvirt管理qemu
    [development] __attribute__((weak))是干嘛的
    [daily] 使用左右对比查看diff 格式的文件
    [daily] 主机间目录共享
    [daily][qemu][kvm] 使用virtfs在host与guest之间共享目录
    [development][thrift] RPC框架 thrift
    [daily] 像tcpdump一样监听unix domain socket
    [daily][cgroup] 使用cgroup限制进程的CPU占用
    [qemu] qemu旧的net参数已经不再可用了,新的这样用。
  • 原文地址:https://www.cnblogs.com/riskyer/p/3237186.html
Copyright © 2020-2023  润新知