C语言基础入门必读----函数 ATM原理

         函数(Function)是一段可以重复使用的代码,这是从整体上对函数的认识。C语言本身带了很多库函数,并分门别类地放在了不同的头文件中,使用时只要引入对应的头文件即可。除了C语言自带的函数,我们也可以编写自己的函数,称为自定义函数(User-Defined Function)。自定义函数和库函数没有本质的区别,表现形式和使用方法一样,只是开发者不同而已。今天我们就来学习如何编写和使用自己的函数。


一.以一个小程序来实现  ATM函数实现 功能如下

输入密码功能
存款
取款
退出
修改密码

二、定义函数

定义一个函数我们需要确定三部分内容

1.函数的返回值类型

2.函数的名称

3.函数的参数

确定了以上内容后就可以定义一个特有功能的函数了:

        例如上面代码中就定义了一个返回值为int类型的函数,其函数名为add,一对小括号中的内容为这个函数的参数,也就是说这个函数有两个传入参数int a和int b。在函数体内,分别让a在原来的基础上加1,让b在原来的基础上加1,然后使用return关键字返回a + b的和。如果a的值是2,而b的值是3,那么这个函数的返回值则是7。相同,如果我们想定义一个没有返回值类型的函数则需要设计其返回值类型为void,同样,如果我们想定义一个没有参数的函数可以将其参数定义为void,通常如果一个函数没有参数可以在函数名后的小括号里什么都不写:


三、函数声明与调用

        我们定义了这样一个add()的函数,那么如何来让其它功能使用它呢?我们看下面程序:

我们在调用一个函数时,需要向这个函数传其需要的参数,例如a和b这两个变量,并可以指定另一个变量用于接收这个函数执行后的返回值,比如变量c就接收了函数add()的返回值,结果为7。但是我们看到程序的运行结果是 2 + 3 = 7,也就是说,执行了函数add()后,我们虽然对函数内的参数变量分别加1,但主函数main中的a和b的值并没有发生变化。


四、参数与返回值

1.参数的一个明显特征就是使用时带括号,必要的话,括号中还要包含数据或变量,称为参数(Parameter)。

2.既然函数可以处理数据,那就有必要将处理结果告诉我们,所以很多函数都有返回值(Return Value)。所谓返回值,就是函数的执行结果。

3.函数的返回值是返回给调用者,告诉调用者结果。

4.返回值值和返回值类型有关系,和return后面的类型无关,并且只可以返回一个返回值,不可以返回多个。

5.如果没有返回值,必须写void返回值类型,函数遇到return就结束。


五.ATM项目

ATM函数实现这个项目中,采用了函数先声明再实现的方法,主要是为了使程序阅读者能够一目了然的清楚到底是使用了什么函数,方便阅读。

在程序的开始将用到的函数进行声明,后面在实现,这是一种常用的方法。

函数声明部

六.ATM项目中实现每个功能的函数

1.欢迎界面:欢迎界面是在登录进去时最先出现的部分

欢迎界面函数

2.输入密码界面:这个函数主要具有以下功能,提示用户输入密码,在用户输入密码后程序要从键盘获取用户的输入,并且在这个过程判断密码是否正确,如果正确跳转出菜单,如果密码错误则提醒用户重新输入密码,但是在这个过程中,为了避免输入错误密码次数过多,还要限制密码错误次数,故使用嵌套if循环。

密码函数

3菜单函数:主要功能是在用户输入正确密码后提醒用户要进行的下一步操作。

菜单

4.用户选择函数:在菜单出现时,要提示用户进行的操作,并且接受用户的输入,在这个过程中,需要程序判断用户输入的是否合法(就是只能在用户输入菜单中相应的序号时)程序才会运行,否则会提示输入不合法。

选择

5.修改密码函数:当用户进入这个界面是要提醒用户输入初始密码,并且判断初始密码是否正确,如果不正确则不能修改,初始密码正确后要求用户输入两次新密码并且并判断两次新密码是否一致,如果一直则提醒用户密码修改成功,不一致则请用户再次输入。

修改密码

6.取款函数:当用户进入时提醒用户“取款金额”,并且获取用户输入的金额,同时比较用户输入的金额与账户原有的金额是否,如果小于账户内的金额则可以继续取款,并且提示用户取款成功和取款后账户余额,如果账户金额不够则显示余额不足。并且询问用户是否继续。

7.存款函数:当用户进入时提醒用户“输入存款金额”,并且获取用户输入的金额,提示用户存款成功和存款后账户余额。并且询问用户是否继续。

存款

8.主函数部分

七.难熬的一天,看着错综复杂的功能要求,很多时候自己一直在if  else中无法自拔,不过看着自己写的小程序能运行起来还是有点小激动,在实战中学会知识点很有用,相信直接能坚持下去!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容