Demo4—ATM提款机
要求:
1.用函数的方式实现ATM提款的基本操作
2.ATM提款机有如下功能:取款(100、200、500、其他)、查询、修改密码、退出。
函数的相关知识点:
1.为什么要用函数:将不同的功能模块化,抽离一些功能模块,一个函数只完成一个功能,让代码变得有价值,可以重复使用。
如:产生5个红球,从小到大排序,输出结果
2.如何定义一个函数
返回值 函数名称(参数,参数){
//代码块(函数体,完成一个功能)
}
int add(int a, int b){
int c = a + b;
return c;
}
3.如何调用一个函数
- 在main函数中调用上面定义的函数,调用者可以接收也可以不接收返回值,如果关心函数的返回值就接收,不关心则不接收。
- 这里需要接收做加法运算之后的值。所以新定义一个result变量接收返回值
int main(){
int result = add(1, 2);
return 0;
}
4.声明和定义顺序
4.1 边声明边定义
int add(int a, int b){//声明+定义
int c = a + b;
return c;
}
int main(){
int result = add(1, 2);//调用
return 0;
}
- 优点:不需要额外声明这个方法,main函数中可以直接使用
- 缺点:不易阅读,当有很多函数块时,main函数在最下面,可读性差。
4.2先声明,后实现(定义)
- 优点:可读性强
int add(int a, int b);//声明
int main(){
int result = add(1, 2);//调用
return 0;
}
int add(int a, int b){//定义
int c = a + b;
return c;
}
5.函数里面不能嵌套定义函数
如:
void test(){
int minus(int a,int b){
return a - b;
}
}//错误
6.return
- 有返回值时,如:return 1,返回值类型为int型。
- 没有返回值,如:return ,但是当某种条件发生就立刻终止函数。
分步编写代码:
1.程序运行起来要先输入密码,那就得定义一个密码,而且这个密码要在很多地方用到,如: 比较两个密码是否相同时,更改密码时,所以这个密码应该定义成全局变量。
int password = 123;
2.用户输入密码,写成一个函数。
- 输入密码不需要传值到函数中,所以参数列表中为空或者void,但是需要把用户输入的密码传出去,即要有返回值。
- 定义一个宏,用来赋予常量一个意义
#define kScuccess 1
#define kWrong 0
int inputPassword(void){