小白ATM机C语言的简单编写

**

小白ATM机C语言的简单编写

**利用for循环,switch语句,判断语句简单的编写ATM系统,减少了循环嵌套之类的复杂的语句,适合小白进行学习,里面涉及了循环,花括号的使用,还有break;exit等函数的使用,是初学者检测自己语言能力的不错范本。
在这里插入代码片
在这里插入代码片

#include
#include
#include
double total=1000;
void welcome()                                                                 //欢迎界面
{
	system("color 3F");      //修改系统背景和字体颜色
	printf("#############################################################");
	printf("…………………………………银行欢迎你………………………………");
	printf("……|||||||||||||||||||||||到货时间发货|||||||||||||||||||||");
	printf("#¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥");
	printf("#############################################################");
	getchar();         //按任意键返回一个字符,相当于插卡操作
}
void pass()                                                                        //输入密码
{
	int i,password;             //设立变量
	printf("请输入您的密码?");
		for( i=1;i<=4;i++)           //进行三次循环,密码最多可输入三次
		{
			scanf("%d",&password);
			if (password==000000)            //假如密码=0000000,则进入操作界面
			{
				printf("欢迎来到银行\n");break;   //输出该语句。后跳出这个循环,执行下个函数(也就是定义的操作界面)
			}
			else                  //如果密码输入错误
			{
				printf("请重新输入密码:");  //重新输入密码,循环三次
			}
			if (i==4)               //当第四遍时,则执行下列语句
			{
				printf("账户冻结");  //账户冻结
				exit(0);    //退出函数,退出这个系统
			}
		}
}
int service()                                                                                //操作界面
{
	int select;               //设置变量,
	printf("\n^^^^^^^^^^^^ 1  取钱       ^^^^^^^^^^^^^^^^^^^^^^\n");
	printf("\n^^^^^^^^^^^^ 2  存款       ^^^^^^^^^^^^^^^^^^^^^^\n");
	printf("\n^^^^^^^^^^^^ 3  修改密码   ^^^^^^^^^^^^^^^^^^^^^^\n");
	printf("\n^^^^^^^^^^^^ 4  查询余额   ^^^^^^^^^^^^^^^^^^^^^^\n");
	printf("\n^^^^^^^^^^^^ 5  快速取款   ^^^^^^^^^^^^^^^^^^^^^^\n");
	printf("\n^^^^^^^^^^^^ 6  退卡       ^^^^^^^^^^^^^^^^^^^^^^\n");
	printf("您的选择是: ");   
	scanf("%d",&select);              
	return select;               //将用户输入的字符返回,以便在最后利用switch语句调用子函数
}
void qk()                                                                 //取款
{
	int number;        //number就是用户想要取款的金额
	char flag;                 //设立变量,后面用来进行是否打印凭条的判断
	printf("取款金额:");  //取款金额
	scanf("%d",&number);
	if(number<=total)                   //如果余额充足
	{
		printf("取款成功");//取款成功
		total-=number;
		printf("是否打印凭条(0/1)?");
		scanf("%d",&flag);
		if (flag==1)                //用户输入1,则打印凭条
		{
			printf("你于2019年12月4日19:23:54取走%d元",number);
		}
		else
		{
			printf("依法纳税是每个人的义务");
		}
	}
	else                             //如果余额不足
	{
		printf("您的余额不足!憨货");
	}
}
void  cxye(int a)                                                    //查询余额
{
	printf("您当前可用余额为%d元",a);
	

}
void xgmm()                                                             //修改密码
{
	int i,t,temp,temp0,password;              

	printf("请输入您的旧码?\n");
	for(i=1;i<=3;i++)                 //最开始的循环,原始密码可输错三次
	{
		scanf("%d",&password);
		if (password==000000)                 //如果原始密码输入正确,因为在开始已经给password赋值0000000,所以原始密码就是000000
		{  
			printf("请输入新密码:\n");     //第一次输入密码,并用temp代表它
			scanf("%d",&temp);
			printf("请再次确认您的密码:");                 // 第二次输入你想修改的密码,用temp0代表它
			for (t=1;t<=3;t++)                       //三次循环,你想修改的密码,再输入第一次后,可输错三次
			{
				scanf("%d",&temp0);
			if (temp==temp0)                 //假如其中有一次密码输入和第一次输入的修改密码相同
			{
				printf("您的密码修改成功!");break;         //则显示修改成功,并跳出当前循环
			
			}
			
			else                                    //如果第二次修改密码不正确,则提示再次输入
			{
				printf("请重新输入您的密码?");
				{
					if(t=4)                 //如果在当前循环下,连续三次两次修改密码不一致,则账户冻结,并退出当前系统
						printf("您的账户已被冻结");
                           exit(0);
				}
			
			}
			}  
			break;                             //第二次跳出,第一次密码修改成功后跳出循环到这里,再由这里跳出这个循环,执行下个子函数
			              
		}           
                     printf("请重新输入您的原始密码?");//原始密码输入错误
	}
	      	     
        if(t=4)                              //如果原始密码三次输入错误,则账户冻结,并退出当前系统
				{
					printf("您的账户已被冻结");
				    exit(0);
				}  
}


void ksqk()                                                            //快速取款
{
	int number,flag,select;
	printf("1(100)\t2(300)\t3(500)\t4(1000)\n");            //列出快速取款的选项,\t是输出空格的意思(转义字符)
	printf("请输入您的选项:");
	scanf("%d",&number);
	switch(select)                            //switch语句,列出所有并列的情况,并根据select进行比较,select由用户输入并返回
	{
	case 1:number=100;break;
	case 2:number=300;break;
	case 3:number=500;break;
	case 4:number=1000;break;
	}
	if (total>=number)                //余额>取款金额
	{
		total-=number;                 //余额=余额-取款金额          
		printf("取款成功");
			printf("是否打印凭条(0/1)?");
			
		scanf("%d",&flag);
		if (flag==1)
		{
			printf("你于2019年12月4日19:23:54取走%d元",number);
		}
		else
		{
			printf("依法纳税是每个人的义务");
		}
	}
	else
	{
		printf("余额不足");
	}
}

void ck()                                                             //存款
{
	int number,flag;
	printf("请存入现金");
	scanf("%d",&number);
	printf("请稍等");
	printf("存款成功");
	total+=number;           //余额=余额+存款
	printf("是否打印凭条(0/1)?");
		scanf("%d",&flag);
		if (flag==1)                               
		{
			printf("你于2019年12月4日19:23:54存入%d元",number);
		}
		else
		{
			printf("依法纳税是每个人的义务");
		}
}
void kk ()                                                    //退卡
{
	printf("欢迎您的使用");
	exit(0);
}
void main()
{
	int select;           //设立变量select
         
	pass();     //登录密码的函数
	while(1)         //while循环语句,参数为1,时就执行下列下面的语句。
	{
		select=service();            //select=操作界面的子函数
		switch(select)              
		{
		case 1:   qk();break;
	    case 2:   ck();break;
	    case 3:   xgmm();break;
	    case 4:   cxye(total);break;
	    case 5:   ksqk();break;
	    case 6:   kk();break;
	    default:printf("feifacaozuo");break;
		}
	}
}

时间比较紧凑,所以语句或许比较繁琐,若有语句错误,敬请纠正,还有后面有的语句因为前面已经进行了详细的注释,所以后面就不注释了。

你可能感兴趣的:(C语言小白案列,c++,ATM机,小白,c语言初学者)