可爱且功能增强版的银行储存系统

问题及代码:

/* 
*copyright (t) 2016,烟台大学计算机学院 
*All rights reserved. 
*文件名称:test.cpp 
*作者:张晴晴 
*完成日期:2016年6月20日 
*版本号:v1.0 
*问题描述: 
*输入描述: 
*程序输出: 
*/

#include "stdio.h"
#include "string.h"
char gUser[100][32];
char haoma[12];
double  gMoney[100];
int gGuashi[100]={0};
int gIndex=0;
int cmd;
int ret=2;
int yuer=0;
char gmima[100][32];
void gaimi();
void cunkuan();
void qukuan();
void chaxun();
void kaihu();
void xiaohu();
void zhuanzhang();
void guashi();
void jiegua();
void tuichu();

int main()
{

	for(;;)
	{
	printf("```````~~~~~~~~~欢迎进入银行储蓄系统~~~~~~~~~```````\n");
	printf("╔━━━═━━━═━━━═━━━═━━━═━━━═╗\n");
	printf("┋   ╭─────╮      ╰★【1】存款 【2】取款  ┋\n");
	printf("┋   │●      ●│      ╰★【3】查询 【4】开户  ┋\n");
	printf("┋  ╱ ╭▼▼▼╮ ╲     ╰★【5】销户 【6】转账  ┋\n");
	printf("┋ ╰┐│      │┌╯    ╰★【7】挂失 【8】解挂  ┋\n");
	printf("┋   │╰▲▲▲╯│      ╰★【9】改密 【0】退出  ┋\n");
	printf("┋┗━            ┗━                            ┋\n");
	printf("╚━━━═━━━═━━━═━━━═━━━━━━━━╝\n");
	scanf("%d",&cmd);
	switch(cmd)
	{


	    case 1:cunkuan();break;
	    case 2:qukuan();break;
            case 3:chaxun();break;
		case 4:kaihu();break;
		case 5:xiaohu();break;
		case 6:zhuanzhang();break;
		case 7:guashi();break;
		case 8:jiegua();break;
		case 9:gaimi();break;
		case 0:break;
	}
	}
	return 0;
}

		void cunkuan()//存款
		{

			char User[32];
			char mima[50];
			double cunkuan;
			int i;
			int t=0;
			printf("请输入用户名:");
			scanf("%s",User);

			for (i=0;i<=gIndex;i++)
			{
				if (strcmp(gUser[i],User)==0)//检测输入的User是否已经存入数组即是否已经开户
				{
					t=1;
					break;
				}
			}

				if (t==1)
				{
					if(gGuashi[i]==0)//未挂失的情况下
					{
					printf("请输入您的密码:");
					scanf("%s",mima);
					if (strcmp(gmima[i],mima)==0)//验证输入的密码是否与数组中该用户名的密码对应
					{
						printf("请输入存储金额:");
						scanf("%lf",&cunkuan);
						if(cunkuan>0)
						{
						gMoney[i]=gMoney[i]+cunkuan;
						printf("恭喜您,存款成功,您的余额为%f\n",gMoney[i]);
						}
						else
							printf("对不起,存款金额为正整数,请重新输入存款金额\n");
					}

					else
					{
						printf("您输入的密码错误");
					}
					}
					else
					{
						printf("该账户已挂失无法进行存款");
					}

				}
				else
				{
					printf("该用户不存在");
				}



		}
		void qukuan()//取款
		{

			char User[32];
			char mima[50];
			double qukuan;
			int i;
			int t=0;
			printf("请输入用户名:");
			scanf("%s",User);
			for (i=0;i<=gIndex;i++)
			{
				if (strcmp(gUser[i],User)==0)//检测输入的User是否已经存入数组即是否已经开户
				{
					t=1;
					break;
				}
			}
			if (t==1)
			{
				if(gGuashi[i]==0)//未挂失
				{
				printf("请输入您的密码:");
				scanf("%s",mima);
				if (strcmp(gmima[i],mima)==0)//验证输入的密码是否与数组中该用户名的密码对应
				{
					printf("请输入金额:");
					scanf("%lf",&qukuan);
					if(qukuan>0)
					{

					if (qukuan<gMoney[i])//取款的金额比存款少才能取钱
					{
						gMoney[i]=gMoney[i]-qukuan;
						printf("恭喜您,取款成功,您的余额为%lf\n",gMoney[i]);
					}
					else
					{
						printf("你的余额不足");
					}
					}
					else
						printf("对不起,取款金额为正整数,请重新输入取款金额");

				}

				else
				{
					printf("您输入的密码错误");
				}
				}
				else
				{
					printf("该账户已挂失无法进行取款");
				}
			}
			else printf("该用户名不存在");
		}
		void chaxun()//查询
		{
				char User[32];
			char mima[50];

			int i;
			int t=0;
			printf("请输入用户名:");
			scanf("%s",User);
			for (i=0;i<=gIndex;i++)
			{
				if (strcmp(gUser[i],User)==0)//检测输入的User是否已经存入数组即是否已经开户
				{
					t=1;
					break;
				}
			}
				if (t==1)
				{
					if(gGuashi[i]==0)//未挂失
					{
					printf("请输入您的密码:");
					scanf("%s",mima);
					if (strcmp(gmima[i],mima)==0)//验证输入的密码是否与数组中该用户名的密码对应
					{
							printf("你的余额为%lf\n",gMoney[i]);
					}

					else
					{
						printf("您输入的密码错误");
					}
					}
					else
					{
						printf("该账户已挂失无法进行查询");
					}

				}

					else
					{
						printf("该用户不存在");
					}






		}
		void kaihu()//开户
		{

			char aUser[32];
			char xinmima[32];
			printf("请输入姓名:\n");
			scanf("%s",aUser);
			int i;
			for (i=0;i<gIndex;i++)
			{
				ret=strcmp(gUser[i],aUser);
				if (ret==0)//检测输入的User是否已经存入数组即是否已经开户
				{
					printf("该用户已被注册");
					break;
				}
			}
			if (ret==0)//
			{
			}
			if(ret!=0)
			{
				printf("请输入电话号码");
				scanf("%s",haoma);
				if(strlen(haoma)==11)
				{
					printf("请输入密码:");
					scanf("%s",xinmima);
					strcpy(gUser[gIndex],aUser);//将aUser存入gUser[gIndex]的数组中
					strcpy(gmima[gIndex],xinmima);//将xinmima存入gmima[gIndex]的数组中
					printf("用户%s注册成功,你的账号为%d\n",aUser,gIndex+1);
					gIndex++;
				}
				else

				    printf("您输入的电话号码位数不为十一位,请重新输入\n");
			}
			else
				printf("您输入的电话号码位数不为十一位,请重新输入");
		}
		void xiaohu()//销户
		{
			char User[32];
			char mima[50];

			int i;
			int t=0;
			printf("请输入用户名:");
			scanf("%s",User);
			for (i=0;i<=gIndex;i++)
			{
				if (strcmp(gUser[i],User)==0)//检测输入的User是否已经存入数组即是否已经开户
				{
					t=1;
					break;
				}
			}
				if (t==1)
				{
					printf("请输入您的密码:");
					scanf("%s",mima);
					if (strcmp(gmima[i],mima)==0)//验证输入的密码是否与数组中该用户名的密码对应
					{
						gUser[i][i]=0;
						gmima[i][i]=0;
						printf("您销户成功");

					}
					else
					{
						printf("您输入的密码错误");
					}
				}
				else
				{
					printf("该用户不存在");
				}

		}
		void zhuanzhang()//转账
		{
			char User[32];
			char aUser[32];
			char mima[50];

			double jine;
			int i,x;
			int t=0,t2=0;
			printf("请输入用户名:");
			scanf("%s",User);

			for (i=0;i<=gIndex;i++)
			{
				if (strcmp(gUser[i],User)==0)//检测输入的User是否已经存入数组即是否已经开户
				{
					t=1;
					break;
				}
			}
				if (t==1)
				{
					if(gGuashi[i]==0)//未挂失的情况下
					{
					printf("请输入您的密码:");
					scanf("%s",mima);
					if (strcmp(gmima[i],mima)==0)//验证输入的密码是否与数组中该用户名的密码对应
					{
						printf("请输入您要转账的用户名:");
						scanf("%s",aUser);
						if(strcmp(aUser,User)!=0)
						{
							for (x=0;x<=gIndex;x++)
							{
								if(strcmp(gUser[x],aUser)==0)//检测输入的aUser是否已经存入数组即是否已经开户
								{
									t2=1;
									break;
								}
							}
							if(t2==1)
								{
								    if(gGuashi[x]==0)
									{
										printf("请输入您要转账的金额");
										scanf("%lf",&jine);
										if(jine>0)
										{
										if(jine<gMoney[i])//如果转账的金额小于存款
										{

										gMoney[i]=gMoney[i]-jine;
										gMoney[x]=gMoney[x]+jine;
										printf("转账成功,您的账户余额为%lf",gMoney[i]);
										}
										else
										{
											printf("您的余额不足");
										}
										}
										else
												printf("对不起,转账金额为正整数,请重新输入转账金额\n");
									}
									else
										printf("对不起,您要转账的用户已挂失,无法进行转账。");
								}
							else
								{
									printf("您要转账的用户不存在");
								}
						}
						else
							printf("对不起,转账用户与被转账用户不能相同");
					}

					else
					{
						printf("您输入的密码错误");
					}
					}
					else
					{
						printf("该账户已挂失无法转账");
					}
				}
				else
				{
					printf("该用户不存在");
				}


		}
		void guashi()//挂失
		{
			char oldUser[32];
			char nidemima[50];

			int i;
			int t=0;
			printf("请输入用户名:");
			scanf("%s",oldUser);
			for (i=0;i<=gIndex;i++)
			{
				if (strcmp(gUser[i],oldUser)==0)//检测输入的oldUser是否已经存入数组即是否已经开户
				{
					t=1;
					break;
				}
			}
				if (t==1)
				{
					printf("请输入您的密码:");
					scanf("%s",nidemima);
					if (strcmp(gmima[i],nidemima)==0)//验证输入的密码是否与数组中该用户名的密码对应
					{
						gGuashi[i]=1;


						printf("您的账户挂失成功,无法完成存取款转账等业务");

					}
					else
					{
						printf("您输入的密码错误");
					}
				}
				else
				{
					printf("该用户不存在");
				}

		}



		void jiegua()//解挂
		{
			char oldUser[32];


			int i;
			int t=0;
			printf("请输入用户名:");
			scanf("%s",oldUser);
			for (i=0;i<=gIndex;i++)
			{
				if (strcmp(gUser[i],oldUser)==0)//检测输入的oldUser是否已经存入数组即是否已经开户
				{
					t=1;
					break;
				}
			}
				if (t==1)
				{


		           if(gGuashi[i]==1)
				   {
                char mima[12];
				gGuashi[i]=0;
				printf("请输入您的密码:");
				scanf("%s",mima);
				if (strcmp(gmima[i],mima)==0)//验证输入的密码是否与数组中该用户名的密码对应
				printf("该账户已解挂");
				   }

				   else
					{
						printf("该账户未挂失");
					}
				}




		}
		void gaimi()
		{
			char User[32];

			char mima[50];
			char xmima[50];
			int i;
			int t=0;
			printf("请输入用户名:");
			scanf("%s",User);

			for (i=0;i<=gIndex;i++)
			{
				if (strcmp(gUser[i],User)==0)//检测输入的User是否已经存入数组即是否已经开户
				{
					t=1;
					break;
				}
			}
				if (t==1)
				{
					if(gGuashi[i]==0)//未挂失的情况下
					{
					printf("请输入您的密码:");
					scanf("%s",mima);
					if (strcmp(gmima[i],mima)==0)//验证输入的密码是否与数组中该用户名的密码对应
					{
						printf("请输入新密码");
						scanf("%s",xmima);
						strcpy(gmima[i],xmima);
						printf("恭喜您,修改密码成功");

					}
					else
					{
						printf("您输入的密码错误");
					}
					}
					else
					{
						printf("该账户已挂失无法进行查询");
					}

				}

					else
					{
						printf("该用户不存在");
					}
		}




运行结果:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

讨厌一个人不需要理由

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值