2019-07-31

# C语言函数实现ATM取款机代码全过程

## 需求运行结果如下:

## main函数里面只有代码的逻辑结构,进行框架的搭建,不做具体的事情,具体的事情到每一个函数里面去实现。大致的逻辑结构为先是欢迎界面,然后进行密码登录,提示操作“取款,存款,更改密码,退出”的显示界面,之后分别对各个版块的功能实现。

## 欢迎界面  输入密码的函数如下:

欢迎界面函数实现
密码登录函数实现

实现密码登录函数时,需要定义一个全局变量orgPassword用于保存初始密码,用于判断输入的密码与原始密码是否一致。函数定义为bool类型,根据返回值判断是否正常登录,若返回值为true,则进入提示操作界面,若返回值为false,则退出程序。main函数中实现如下:

## 根据需求,有错误情况和正常两种状态会退出程序,所以需要定义一个带参数的退出的函数,根据参数不同实现不同状态的退出。

退出函数实现

## 正常登录后,进入提示操作页面,然后接受用户的选择分别实现不同功能,main函数中的结构如下:

## 提示用户操作的函数实现:


提示用户操作的函数

## 接受用户选择的函数实现:

用户会从终端输入字符,定义返回值类型为char,由于用户可能输入多个字符,需要定义一个较大字符串数组temp[100]接受用户输入,在根据用户输入的字符个数判断输入是否合法,输入合法则返回用户的输入结果。

接受用户选择的函数

## 取款函数实现:

需要定义一个全局变量totalMoney保存初始金额。

取款的函数

## 判断是否继续的函数实现:

用三目运算符判断是否继续操作,函数为bool类型,返回值为true则接着重复上次操作,返回值为false则返回提示操作页面,用getchar()吸收掉终端输入字符串时多余的Enter键的字符。

判断是否继续的函数

## 存款的函数实现:

存款的函数

## 更改密码的函数实现:

更改密码的函数

## 总结

这算是第二次写了,基本能够把所有功能写出来,对具体的需求过程熟悉后就有一个大致的逻辑结构,写起来就比较顺畅。中间有些部分的的细节需要注意,比如判断是否继续操作后用户从终端输入字符后,还有一个回车键的字符需要用getchar()吸收掉;特别的用法,定义整型变量count接受用户选择来判断输入字符个数是否合法;写退出部分函数时可根据外部传来的参数判断正常退出还是错误退出。

你可能感兴趣的:(2019-07-31)