刚才写了一篇文章后发上来,然后说是待审核,然后突然就不见了,害我写了那么多煽情话都不见了,好伤心,这个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();
}
}
运行结果界面如下
就这样吧 希望不要再被删掉吧