呼,最近考试比较多,都有点顾此失彼,其他科目比较难,所以在C++上安排的时间是比较少的,不过,总算调试好了这个C++程序,可以完成这一学期的C++任务了,
这里也要感谢明哥这一学期对我的不停鼓励与支持,后期我在课上都不积极,觉得挺对不起他的,一学期的课程也要结束了,挺感慨的,在C++这门课上还是学到很多东西的,借此机会要向明哥真诚地说句:谢谢!
哈哈,不说了,先 来介绍我的程序吧,我这次课程设计要做的模拟ATM机系统,主要要有登录,查询,取款存款以及密码修改功能,根据相关功能我是设计了如下的程序流程图,然后设计了程序,还是以面向程序的方法写的,这里也是借用了网上找到的很多知识点,如system(“cls”)清屏,sleep(1000)暂停,等等,最重要的是根据设计情况我设计了一个数组,输出成文件,作为这一个程序的数据来源,如用户,密码和余额。这里是我收获最大的地方,用到了fstream函数来保存,而且具有这一个初始化功能,在没有更改数据环境情况下会自动生成一个123456 123456 100000的数据源,作为账户,密码和余额,然后有缺陷的一点就是是我第一次用这个函数,也不熟,更改后不能依照某一部分修改,只能把全部数据删了重新覆盖下去而已,可能是我没用到指针来修改数据源的原因吧,有机会改进一下。
这里用的比较多就是子函数,我是分了9个界面函数和4个运行函数的,本来也是可以弄在一起的,但我是每一个界面函数调试后采取写这一个数据源结构的,怕弄乱了才分成几个运行函数来进行数据的处理,基本上实现了所有的要求,不过我设计的界面不是特别好,但基本上是保持一致的
程序代码如下
/********************************************************************
** 自动化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;
co