精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
学员刘同学以高中文凭在学习过1个月后C和C++语言基础后,成功完成了本实践。
制作这个代码的目的就是实践ATM机的一些简单功能,题目要求如下:
定义1个结构体类型ACCOUNT_STRU来表示一个银行帐户。
定义1个ACCOUNT_STRU数组来表示银行。
写个函数来表示ATM的功能的模拟:
开户
销户
查询余额
查询最后5笔明细
存款
取款
转帐
退出
程序启动后,以代码方式生成几个帐户,新帐户通过键盘输入数据来生成。
写这个代码,首先想到的是要实现ATM机的功能,功能和实现与表现是对应。这样就想到要对实现与表现进行分析。
我们看到的帐户信息,比如余额,还有一些不可见的信息比如ID和密码,这是帐户里必须要有的。在C语言版本里我们用了结构体来表示,在C++版本里要用类方式来表示了。帐户本身没有太多的功能,要加可能也会想到输出功能。
银行里会有多个帐户,银行类呢要负责帐户的控制,常用的控制在界面菜单里也有描述,我们这时候就把C语言版本里和界面菜单对应的函数,比如:登录、存款、取款、转帐等和帐户相关的函数,移植到银行类里。
在现实生活中,ATM机和银行总部是不在一起的,ATM机相当于前台,负责些显示和接口功能,银行相当于服务器和后台,执行实际的数据和交易的管理。所以ATM机的类就负责界面菜单的显示和调用银行类提供的函数。也就是要把原来C语言版本里的main函数里的大循环和菜单提示移植到ATM类里。
在具体写的时候,写代码的时候首先要想好要写的代码的内容,先写出要实现的代码的头文件。要注意包含头文件,用到什么类就包含什么类的头文件。类的确立要明确,各个类对应各个对象的特性、功能。各个类的功能要在各个类中声明、实现,思路要清晰。
错误汇总
初次写代码错误有很多,比如local function definitions are illegal,本地函数是不允许的,本地函数是指函数内部再定义的函数,这样的错误往往是{}对应不上的问题,我们用ctrl+]进行了快速定位。
比如unexpected end of file while looking for precompiled header directive,这个包含了stdafx.h头文件就能解决。
在各个类中写功能函数的时候一定要记得在头文件中声明,写的时候要记得带::,在功能函数中用scanf时有时候就用要用到gets来清缓冲中的回车,而获得的数值一定要是一个char类型。
在主函数中调用各个类中的函数,调用哪个类中的函数就要用 类名.函数名()方式来调用。同时我还理解了,一样类型但不一样的对象,调用同样函数名的函数,也不是一个调用了。因为函数是和数据密切相关的了,处理的数据不一样,实现的功能也不一样了。
memset是我遇到的新功能函数,能设置一个内存区里所有字节,填充上一个指定的数值。