IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言实现模拟银行系统 -> 正文阅读

[C++知识库]C语言实现模拟银行系统

模拟银行系统

1.实现要求

生成一个1000-1000000之间的随机数来代表账户余额(要求每次生成的数不一样);
实现登录功能:用户有三次输入密码的机会,输入正确的密码才能登录,如果输入错误超过了三次 之后密码还是错,则提示账户被冻结,退出程序。
实现查询账户余额功能:查询账户余额并输出。
实现取款功能:提示用户输入相应的金额,并取款。
实现存款功能:提示用户输入存款金额,并存款。
实现修改密码功能:提示用户输入新的密码,密码修改成功后,退出系统,提示重新登录。
实现退出系统功能。

示例代码:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

void menu();
int changePwd(int password);
int drawDeposit() ;
void getDeposit() ;
void judgePwd(int password);
void Print();
long saveDeposit();

long deposit;//存款

//随机生成一个1000-1000000之间的整数来代表存款
void getDeposit() {
	do {
		deposit=rand()%1000000+1;
	} while(deposit<1000);
}

//打印菜单选择项
void menu() {
	printf("\t  ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");
	printf("\t☆※※※※※※※※欢迎使用银行系统※※※※※※※※☆\n");
	printf("\t  ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n\n");
	printf("银行业务有以下几种:\n");
	printf("按键1:查看账户余额\n");
	printf("按键2:取款\n");
	printf("按键3:存款\n");
	printf("按键4:修改密码\n");
	printf("按键5:退出系统\n");
}

//判断密码是否正确
void judgePwd(int password) {
	int input;
	int count=0;//输入密码的次数,初值为0
	printf("请输入您的密码:");
	scanf("%d",&input);
	count++;//每输入一次密码,次数加一
	//如果密码密码输入错误,就提示重新输入,直到输入正确的密码或者次数用完
	while(input!=password) {
		if(count==3) {//当count=3时,表示输入了3次错误的密码,退出程序
			printf("你的次数已用完,账户已被冻结!\n");
			printf("正在退出系统......\n");
			exit(0);
		}
		printf("密码输入错误,请重新输入:(您还有%d次机会)\n请输入您的密码:",3-count);
		scanf("%d",&input);
		count++;
	}
	printf("密码输入正确,登录成功!\n");
	printf("\n \n");
}
//打印账户余额
void Print() {
	printf("您的账户余额为:%ld\n",deposit);
}
//取款
int drawDeposit() {
	long draw;//取款金额
	do {
		printf("请输入您的取款金额(本机只能提取100元面值的钞票):");
		scanf("%ld",&draw);
		if(draw>deposit) {//如果输入的金额大于余额,提示余额不足
			while(draw>deposit) {
				printf("您的余额不足,请重新输入取款金额:");
				scanf("%ld",&draw);
			}
		}
		if(draw<100||draw%100!=0) {//输入的金额不合法,提示重新输入
			printf("输入的取款金额有误,请重新输入取款金额:\n");
		}
	} while(draw<100||draw%100!=0);
	deposit=deposit-draw;//计算余额(原来的余额-取款金额)
	return draw;
}
//存款
long  saveDeposit() {
	long save;//存款金额
	printf("存款时只接受面值为100的钞票。\n") ;
	printf("请输入您的存款金额:");
	scanf("%ld",&save);
	//存款金额不能为负,且只能存百元钞
	while(save<=0||save%100!=0) {
		printf("存款金额不符合规定,请重新输入存款金额:");
		scanf("%ld",&save);
	}
	deposit=deposit+save;//账户余额=原来的余额+存款金额
	return save;
}
//修改密码
int changePwd(int password) {
	int change_pwd,change;
	char ch;
	printf("您确定要修改密码吗?(Y/y)");
	scanf("%c",&ch);
	ch=getchar();
	if(ch=='y'||ch=='Y') {
		printf("请输入新的密码:");
		scanf("%d",&change_pwd);
		printf("请确认新的密码:") ;
		scanf("%d",&change);
		if(change_pwd!=change) {
			printf("两次密码输入不一致,即将返回主页面...\n");
			menu();
			return password;
		} else {
			printf("密码修改成功......\n");
			printf("请重新登录:\n");
			judgePwd(password);
			return change_pwd;
		}
	} else {
		return password;
	}
}
int main() {
	srand((unsigned)time(NULL));//使每次生成的随机金额不同
	getDeposit();//调用函数生成账户余额
	menu();//调用函数,打印菜单
	int password=123456;//设置初始密码
	judgePwd(password);//判断输入的密码是否正确
	int ch,statu=0;
	//程序主体:登录之后,只有等到用户自己选择退出时才退出系统, 否则就一直执行下去
	while(1) {
		printf("--------------------------------------------------------------------------------\n\n");
		menu();
		printf("请选择你的业务:\n");
		scanf("%d",&ch);
		//根据用户输入选择执行相应的操作
		switch(ch) {
			case 1:
				Print();
				break;
			case 2:
				printf("取款成功,金额为:%ld\n",drawDeposit());
				break;
			case 3:
				printf("存款成功,金额为:%ld\n",saveDeposit());
				break;
			case 4:
				password=changePwd(password);
				break;
			case 5:
				statu=-1;
				break;
			default:
				printf("输入有误,请重新输入......\n");
		}
		if(statu==-1) {
			break;
		}
	}
	printf("\n欢迎下次光临,再见\3\3\3\3\3...\n");
}
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-27 09:43:57  更:2021-11-27 09:46:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:46:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码