C++课程设计之ATM模拟机


  刚才写了一篇文章后发上来,然后说是待审核,然后突然就不见了,害我写了那么多煽情话都不见了,好伤心,这个CSDN偶尔发小,不说了,都是泪,这次就把程序和流程图,结果直接发上来吧,伤心。。。。


这是流程图,最重要是用fstream写了一个文件作为数据来源保存,


程序代码如下(我就不信还会再一次被删了!!)


/********************************************************************
**                 自动化1121    李庆典                            **
**                课程设计:ATM模拟柜台程序                        **
********************************************************************/

#include<iostream>      //预编译处理命令 
#include<windows.h>     //windows命令头文件
#include <iomanip>      //控制流命令头文件
#include<fstream>       //包含文件读写的头文件
#include<cstring>       //字符串处理头文件
#include<time.h>        //时间延迟头文件
using namespace std;    

/**************************    用户数据   **************************/
struct account
{
	int use ;        //账户
	int pwd ;        //密码
	double rmb ;         //金额
}a,b;




/***********************   ATM机子函数声明  ************************/
void denglu();      //默认显示界面
void denglu0();     //登录成功界面
void menu();        //默认主菜单
void chaxun();      //余额查询界面
void qukuan();      //ATM取款界面
void cunkuan();     //ATM存款界面
void xiugai();      //密码修改界面
void xiugai0();     //密码修改确认界面
void tuichu();      //退出系统界面

void denglu1();     //登录系统函数
void menu1();       //主菜单函数
void qukuan1();     //ATM取款函数
void cunkuan1();    //ATM存款函数


/*************************    主函数定义     ************************/

int main()
{
	fstream acc;
	acc.open("ac.txt" ,ios::in );
	if (!acc.is_open())                               // 检查文件是否成功打开  
	{//cout << "          该系统已经出现错误!无法使用!请联系官方客服!" << endl;
		acc.open("ac.txt",ios::out);
		acc<<123456<<"  "<<123456<<"  "<<100000;
		acc>>a.use>>a.pwd>>a.rmb;
		acc.close();
	}
	else
	{
		acc>>a.use>>a.pwd>>a.rmb;
	}
	acc.close();

	system("cls");
	denglu();

	return 0;
}


/*************************  ATM子函数定义      ***********************/
/*************************  ATM子函数界面定义  ***********************/


void denglu()     //登录界面                 *********************************************************
{
	fflush(stdin);
	system("cls");
	cout<<endl;
	cout<<"                          ▂▃▅▆▇█████▇▆▅▃▂                       "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                           欢迎使用广东海洋大学学生银行                        "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                               无卡自主ATM服务系统                             "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"       请输入账号和密码登录本系统!                                            "<<endl;
	cout<<"                                               ***************************     "<<endl;
	cout<<"                                               *   广东海洋大学学生银行  *     "<<endl;
	cout<<"                                               *   尽每一份能力为您服务  *     "<<endl;
	cout<<"                                               ***************************     "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"       请勿随意相信ATM周围非正式通告!                                         "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"       若有疑问,请联系本行官方客服                                            "<<endl;
	cout<<"                       0754-2383110                                            "<<endl;
	cout<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;

	denglu1();

}

void denglu0()    //登录成功界面               **************************************************
{
	system("cls");
	cout<<endl;
	cout<<"                          ▂▃▅▆▇█████▇▆▅▃▂                       "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                           欢迎使用广东海洋大学学生银行                        "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                               无卡自主ATM服务系统                             "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                               您已成功登录本系统 !                           "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                                               ***************************     "<<endl;
	cout<<"                                               *   广东海洋大学学生银行  *     "<<endl;
	cout<<"                                               *   尽每一份能力为您服务  *     "<<endl;
	cout<<"                                               ***************************     "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;

	Sleep(2000);
	system("cls");
	menu();

}

void menu()        //默认主菜单界面                  ***********************************************
{

	cout<<endl;
	cout<<"                          ▂▃▅▆▇█████▇▆▅▃▂                       "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                           欢迎使用广东海洋大学学生银行                        "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                               无卡自主ATM服务系统                             "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                            请输入相关数字选择对应功能                         "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                                【1】   余额查询                               "<<endl;
	cout<<"                                【2】   实时取款                               "<<endl;
	cout<<"                                【3】   实时存款                               "<<endl;
	cout<<"                                【4】   密码修改                               "<<endl;
	cout<<"                                【5】   退出系统                               "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<endl;
	cout<<"                           请输入【1—5】:";

	menu1();

}

void chaxun()           //余额查询界面    ************************************************************
{

	int m;
	cout<<endl;
	cout<<"                          ▂▃▅▆▇█████▇▆▅▃▂                       "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                           欢迎使用广东海洋大学学生银行                        "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                               无卡自主ATM服务系统                             "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                                  【余款查询】                                 "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                         您当前卡上的余额为:"
		<<setw(15)<<showpoint<<fixed<<setprecision(2)<<a.rmb<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                            请输入相关数字选择对应功能                         "<<endl;
	cout<<"                                【1】   查询刷新                               "<<endl;
	cout<<"                                【2】   返回菜单                               "<<endl;
	cout<<"                                【3】   退出系统                               "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<endl;
	cout<<"                           请输入【1—3】:";
	cin>>m;


	switch(m)
	{
	case 1:
		system("cls");
		chaxun();
		break;
	case 2:
		system("cls");
		menu();
		break;
	case 3:
		system("cls");
		tuichu();
		break;
	default:
		cout<<endl
			<<"                           输入错误,请正确输入!";
		Sleep(1000);
		system("cls");
		chaxun();
	}

}

void qukuan()       //ATM取款界面         ************************************************************
{
	system("cls");
	fflush(stdin);
	cout<<endl;
	cout<<"                          ▂▃▅▆▇█████▇▆▅▃▂                       "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                           欢迎使用广东海洋大学学生银行                        "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                               无卡自主ATM服务系统                             "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                                  【实时取款】                                 "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                        您当前卡上的可用余额为:"
		<<setw(15)<<showpoint<<fixed<<setprecision(2)<<a.rmb<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                            请输入相关数字选择对应功能                         "<<endl;
	cout<<"                              【取款数】实时提款                               "<<endl;
	cout<<"                                【1】   返回菜单                               "<<endl;
	cout<<"                                【2】   退出系统                               "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<endl;
	cout<<"                           输入【1】【2】将不会进行提款                        "<<endl;
	cout<<"        每次输入【提款数】须为100的整数倍且须少于可用余额且少于5000元          "<<endl;
	cout<<"                           请输入【提款数】【1】【2】:";

	qukuan1();
}

void cunkuan()     //ATM存款界面         ********************************************
{

	cout<<endl;
	cout<<"                          ▂▃▅▆▇█████▇▆▅▃▂                       "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                           欢迎使用广东海洋大学学生银行                        "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                               无卡自主ATM服务系统                             "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                                  【实时存款】                                 "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                        您当前卡上的可用余额为:"
		<<setw(15)<<showpoint<<fixed<<setprecision(2)<<a.rmb<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                            请输入相关数字选择对应功能                         "<<endl;
	cout<<"                              【存款数】实时存款                               "<<endl;
	cout<<"                                【1】   返回菜单                               "<<endl;
	cout<<"                                【2】   退出系统                               "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<endl;
	cout<<"                           输入【1】【2】将不会进行存款                        "<<endl;
	cout<<"          每次放入【存款数】须为100的整数倍,且只能放入100元整的钞票           "<<endl;
	cout<<"                           请输入【存款数】【1】【2】:";
	cunkuan1();

}

void xiugai()            //密码修改界面        ****************************************************
{

	fflush(stdin);
	cout<<endl;
	cout<<"                          ▂▃▅▆▇█████▇▆▅▃▂                       "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                           欢迎使用广东海洋大学学生银行                        "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                               无卡自主ATM服务系统                             "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                                  【密码修改】                                 "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                            请输入相关数字选择对应功能                         "<<endl;
	cout<<"                                【1】   密码修改                              "<<endl;
	cout<<"                                【2】   返回菜单                               "<<endl;
	cout<<"                                【3】   退出系统                               "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<endl;
	cout<<"                           输入【2】【3】将不会进行密码修改                    "<<endl;
	cout<<"                           输入【1】将会进行旧密码确认于修改                   "<<endl;
	cout<<"                              请输入【1-3】:";
	int q;
	cin>>q;

	switch(q)
	{
	case 1:
		system("cls");
		xiugai0();
		break;
	case 2:
		system("cls");
		menu();
		break;
	case 3:
		system("cls");
		tuichu();
		break;
	default:
		cout<<endl
			<<"                           输入错误,请正确输入!";
		Sleep(1000);
		system("cls");
		xiugai();

	}
}

void xiugai0()     //密码修改确认界面      *************************************
{
	int pwd0,newpwd1,newpwd2;
	fflush(stdin);


	cout<<endl;
	cout<<"                          ▂▃▅▆▇█████▇▆▅▃▂                       "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                           欢迎使用广东海洋大学学生银行                        "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                               无卡自主ATM服务系统                             "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                新密码须为六位不能完全相同数字,需要输入两次确认!             "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                          请输入旧密码:";
	cin>>pwd0;
	fstream acc;
	acc.open("ac.txt" ,ios::in );
	if (!acc.is_open())                               // 检查文件是否成功打开  
		cout << "          该系统已经出现错误!无法使用!请联系官方客服!" << endl;
	else
		acc>>a.use>>a.pwd>>a.rmb;
	acc.close();

	if (pwd0!=a.pwd)
	{
		cout<<"                             密码输入有错!无法修改密码!               ";
		Sleep(3000);
		system("cls");
		xiugai();
	}
	else
	{
		cout<<"                          请输入新密码:";
		cin>>newpwd1;
		cout<<endl
			<<"                          请确认新密码:";
		cin>>newpwd2;
		if (newpwd1==newpwd2)
		{
			a.pwd=newpwd2;
			acc.open("ac.txt",ios::out);
			acc<<a.use<<"  "<<a.pwd<<"   "<<a.rmb;
			acc.close();


			cout<<"☆    ===================================================================    ☆"<<endl;
			cout<<"                            密码修改完成,请牢记新密码!                       "<<endl;
			Sleep(3000);
			system("cls");
			fflush(stdin);
			xiugai();
		}  
		else
		{
			cout<<"                          两次密码不一致,无法修改密码!";
			Sleep(3000);
			system("cls");
			xiugai();
		}
	}
}

void tuichu()      //退出系统界面      **********************************************
{
	cout<<endl;
	cout<<"                          ▂▃▅▆▇█████▇▆▅▃▂                       "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                           欢迎使用广东海洋大学学生银行                        "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                               无卡自主ATM服务系统                             "<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"                是否退出系统?                                                 "<<endl;
	cout<<"                                               ***************************     "<<endl;
	cout<<"               请输入【1】确认                 *   广东海洋大学学生银行  *     "<<endl;
	cout<<"                                               *   尽每一份能力为您服务  *     "<<endl;
	cout<<"                                               ***************************     "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"       请勿随意相信ATM周围非正式通告!                                         "<<endl;
	cout<<"                                                                               "<<endl;
	cout<<"       若有疑问,请联系本行官方客服                                            "<<endl;
	cout<<"                       0754-2383110                                            "<<endl;
	cout<<endl;
	cout<<"☆    ===================================================================    ☆"<<endl;
	cout<<"               请输入【1】确认退出,其他键则返回菜单:";

	int w;
	cin>>w;

	if (w==1)
	{
		system("cls");
		cout<<endl;
		cout<<"                          ▂▃▅▆▇█████▇▆▅▃▂                       "<<endl;
		cout<<"☆    ===================================================================    ☆"<<endl;
		cout<<"                                                                               "<<endl;
		cout<<"                           欢迎使用广东海洋大学学生银行                        "<<endl;
		cout<<"                                                                               "<<endl;
		cout<<"                               无卡自主ATM服务系统                             "<<endl;
		cout<<"☆    ===================================================================    ☆"<<endl;
		cout<<"                                                                               "<<endl;
		cout<<"                      您已成功退出系统,欢迎您的再次使用                       "<<endl;
		cout<<"                                               ***************************     "<<endl;
		cout<<"                                               *   广东海洋大学学生银行  *     "<<endl;
		cout<<"                                               *   尽每一份能力为您服务  *     "<<endl;
		cout<<"                                               ***************************     "<<endl;
		cout<<"                                                                               "<<endl;
		cout<<"       请勿随意相信ATM周围非正式通告!                                         "<<endl;
		cout<<"                                                                               "<<endl;
		cout<<"       若有疑问,请联系本行官方客服                                            "<<endl;
		cout<<"                       0754-2383110                                            "<<endl;
		cout<<endl;
		cout<<"☆    ===================================================================    ☆"<<endl;

		Sleep(4000);
		system("cls");
		denglu();
	}
	else
	{
		system("cls");
		menu();
	}
}

/*************************  ATM子函数函数定义  ***********************/
void menu1()
{
	fflush(stdin);
	int v;
	cin>>v;

	switch (v)
	{
	case 1:
		system("cls");
		chaxun();
		break;
	case 2:
		system("cls");
		qukuan();
		break;
	case 3:
		system("cls");
		cunkuan();
		break;
	case 4:
		system("cls");
		xiugai();
		break;
	case 5:
		system("cls");
		tuichu();
		break;
	default:
		cout<<"                           输入错误,请正确输入!";
		Sleep(2000);
		system("cls");
		menu();
	}
}

void denglu1()    //登录系统函数
{
	fstream acc;
	acc.open("ac.txt" ,ios::in );
	if (!acc.is_open())                               // 检查文件是否成功打开  
	{//cout << "          该系统已经出现错误!无法使用!请联系官方客服!" << endl;
		acc.open("ac.txt",ios::out);
			acc<<123456<<"  "<<123456<<"  "<<100000;
		acc>>a.use>>a.pwd>>a.rmb;
		acc.close();
	}
	else
	{
		acc>>a.use>>a.pwd>>a.rmb;
	}
	acc.close();

	cout<<"                            请输入账号:";
	cin>>setw(7)>>b.use;
	
	while (b.use<=100000&&b.use>=999999)
	{
		cout<<"                         账号错误,请重新输入!";
		Sleep(2000);
		denglu();

	} 
		cout<<"                            请输入密码:";
		cin>>setw(7)>>b.pwd;
		while ((b.use<=100000&&b.use>=999999))
		{
			cout<<"                            密码错误,请重新输入!";
			Sleep(2000);
			denglu();
		} 
		
			if (b.use==a.use&&b.pwd==a.pwd)
			{
				denglu0();
			} 
			else
			{
				cout<<"                       该用户不存在或者密码错误,请重新输入!";
				Sleep(2000);
				denglu();
			}
		
}

void qukuan1()    //ATM取款函数
{
	int g=0;
	fstream acc;
	acc.open("ac.txt" ,ios::in );
	if (!acc.is_open())                               // 检查文件是否成功打开  
		cout << "          该系统已经出现错误!无法使用!请联系官方客服!" << endl;
	else
		acc>>a.use>>a.pwd>>a.rmb;
	acc.close();

	cin>>g;
	

	while ( g!=1&&g!=2&&g%100!=0&&g>5000&&g>a.rmb)
	{
		cout<<"                          输入有错,请重新检查后输入!                         "<<endl;
		Sleep(2000);
		system("cls");
		qukuan1();
	}

	if(g==1||g==2)
	{
		if (g==1)
		{
			system("cls");
			menu();
		}
		else
		{
			system("cls");
			tuichu();
		}
	}
	else
	{
		cout<<"                        请稍后,你已成功取款共计"<<setw(15)<<g<<"元            "<<endl;
		a.rmb-=g;
		acc.open("ac.txt",ios::out);
		acc<<a.use<<"   "<<a.pwd<<"   "<<a.rmb;
		acc.close();

		Sleep(2000);
		system("cls");
		menu();

	}


}

void cunkuan1()   //ATM存款函数
{
	int h;
	fstream acc;
	acc.open("ac.txt" ,ios::in );
	if (!acc.is_open())                               // 检查文件是否成功打开  
		cout << "          该系统已经出现错误!无法使用!请联系官方客服!" << endl;
	else
		acc>>a.use>>a.pwd>>a.rmb;
	acc.close();

	cin>>h;
	while ( h!=1&&h!=2&&h%100!=0)
	{
		cout<<"                          输入有错,请重新检查后输入!                         "<<endl;
		Sleep(2000);
		system("cls");
		qukuan1();
	}

	if(h==1||h==2)
	{
		if (h==1)
		{
			system("cls");
			menu();
		}
		else
		{
			system("cls");
			tuichu();
		}
	}
	else
	{


		cout<<"                        请稍后,你已成功存款共计"<<setw(15)<<h<<"元            "<<endl;
		a.rmb+=h;
		acc.open("ac.txt",ios::out);
		acc<<a.use<<"   "<<a.pwd<<"   "<<a.rmb;
		acc.close();

		Sleep(2000);
		system("cls");
		menu();

	}


}


运行结果界面如下









就这样吧 希望不要再被删掉吧 









  • 18
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值