00:02
同学们,我们继续来完成这个项目的下一个功能,登记支出,那你有收入肯定就会有支出嘛,所以说我把这个支出呢,给大家完成一下,就这一块对不对?好,我们来一起完成,那登记支出的话呢,我们仍然按照刚才这个流程来一步步实现,首先呢给它来一个提示。按照我们给出的这个界面来看一下。对,嗯,在这写哈。在这写他说本次支出的金额是多少?是不是写在这里啊?往这写。本次支出的金额先提示到这里。本次支出的金额,那本次支出的金额你肯定是要接收呗,所以说SCF。对,然后呢,咱们来接收一下。LF是不是这样写的啊LF然后呢,来一个money接收到,接收到过后,根据我们以前讲的这个规则。
01:03
是不是他应该再次?干什么,干一件什么事情呢,他是不是还要说一下本次支出,他这个一个说明。写到这里,来西安。说一个什么呢,来看一下。还是到这个本次支出的说明。就是你到底用这个钱去干什么了?是不是拿到了,拿到过后呢,我们就来接收,接收的是SCF。SKYF,我们怎么接收呢?对,还是用百分号S。放入到哪里去呢?放到note里面去对不对,拿到了,拿到过后我们跳过一个回车。对,Char get char,然后我们是不是要做一个处理,就是balance,你因为你你现在是支出,那肯定就减少,减少这么多钱。是吧,减少这么钱,减少这么钱是不是又像刚才老师这样子,把这几句话拿过来使用一下。
02:04
怎么使用呢?那这边就应该改成支出,能看出来吗?支出。支出这么多,这么多钱,Balance这么多notice也想这,然后再拼接,只是呢,这边变化是变成支出而已,其他没不需要任何变化,这个支出就写完了。支出就行了,我们来试试看这个支出项目到底O不OK,我们先申请一下解决方案。然后呢,我们运行一下,看效果怎么样哈,跑起来。运行。我们先来看目前呢是什么都没有,我们先登记一笔收入100块,然后是什么呢?比如说这是我们的工资。没问题吧?我们再登记一笔收入。是。900块钱。900块钱,我们说是稿费。也没问题,我们现在看一下。
03:00
现在已有两笔收入,钱余额也是正确的,我们来登记一笔支出。我们本次支出金额,比如说我们花了450块钱。干什么呢?比如说我们购物。那没问题吧,购物购物,我们花了四百五回车。那现在呢,我们看一个收支明细,同学们可以看到。支出,诶这边是支出了,支出了450块钱,那么当前我们这个金额呢,变成1550块钱正确的,因为2000块钱减了四百五嘛,就这么多钱购物没问题,我们现在退出也是OK的。好,这个支出这个功能我们就写完了,没有问题吧,支出这个功能我们就写完了,那也就是说现在呢,从理论上来说,我们收支明细登记,收入登记,支出退出都写完了,但是呢,后面我们这儿还有几个功能需要我们完善,我们来看一下第一个。对,当用户输入四的时候。
04:01
给出提示,你确定要退出吗?因为有可能我们呃输这个事,其实我们是输错了,你应该给他一个选择的机会。必须输入正确的Y或者是N,否则呢,循环输入指令,直到输入Y或者是N,就说你要么是Y,要么是N,如果是Y的话呢,我就退出,如果是N的话呢,我就重新显示这个菜单,如果你输的又不是Y,又不是N,我就反复的让你输出正确的指令。好,我们先完成这个功能好不好,来各位朋友。把这个加进去。完成二,呃,刚才我们已经把那个也完成了哈。呃,就是完登记收入我们也完成,呃,登记这一个支出也完成了。一样的。这是完成三。现在呢,我们来把这个功能做一下。完成第四一个什么呢?就是要给出相应的提示信息。这个栏,诶这个我们是从这粘过来的,应该是从这边拿过来。
05:04
那这个同学,同学们想这个应该怎么怎么做呢。难不难呢?其实一点都不难,你只要在这里处理一下就行了,就是你不能马上把这个路谱置为零,你得让别人有一个选择来提示一下P,首先呢,我们先提示这个用户,哪句话呢?诶根据他的这个要求。是说诶你确定要退出吗?让他输一个Y或者是N。是不是提示他一下呀。这时呢就让他输,输的时候呢,肯定我们就要do well了,因为。因为这个呢是个循环嘛,说这样子来做,那我开始来写了啊scan if,我先搜一个。SKY,我们看看它到底输的是什么,是不是应该接受一下。此时此刻,我们应该再定义一个变量,因为这个变量不够用了,我们再定义一个char,叫做char。
06:00
对,等于K等于一个空格,这个表示什么呢?表示用户。呃,用户选择选择的是Y还是N。就这个意思,那么现在有一个choice,那我就这地方可能可以去接收他了呀,就是choice c o choice拿到了。拿到过后是不是我这边就可以,同样道理还要过滤一下那个回车呀,过滤回车过后是不是就可以判断,如果我们这个choice它等于Y。它等于Y。对。或者。或者这个choice。它等于N说明什么?说明他说的就是我们指定的,指定的这一个。这个呃,这个字符,那么我们就可以跳出这个break语句。对吧,那如果说同学们想他如果输的不是Y和N,那怎么办呢?诶,我就让他反复的输入,我就提示他一句话。
07:06
斜杠N,我们提示一句怎样的话呢?说说什么呀,你的输入有误,请重新输入,也就是说你必须给我输Y和N。那这个时候他又回去又提示你确定要退出吗?诶这样就循环起来了,对不对,那这样这样他就他就不停的在这样输嘛,诶这个那这这句话这句话咱们应该放到。放到这里面去才可以。因为这个do well,它是这完了过后,它是进到while语句嘛,对不对,所以这边呢,我们只有在什么情况下。呃,处理这个事情呢,我们写个一,就是这是个死循环。你只有输Y和N我们才退出,否则的话,我就不停的让你提示,我就不停的让你输这个东西啊,或者这样子。我们这样子好不好,这样去请重新输入,这边提示它输Y和N,这样更好一点,是不是好,他就打一句话,诶不是,就又输这句话又又回到这来选,让你输入这样更好,那现在呢,我们这退出这个do y过后,我们就来看它到底输的是Y还是N,就可以判断了,如果他退出的的确确这个choice。
08:20
它真的就是输输入的Y,那这个时候呢,同学们可以看到,我们就把这一个loop置为。零。否则的话呢,我不做任何处理。否则的话,我就不做任何处理,为为什么呢?同学们想。因为你你为什么不做任何处理呢?就是相当于说它它结束了又回到上面去,对吧,所以说我这这地方可以不做任何处理就OK了,那我们运行一下先生成一下。看看代码有没有问题。然后呢,我们再来运行看效果哈。代码没有任何问题。我们运行。
09:01
好,现在呢,我输一个四,他说你确定要退出吗?诶我瞎输一个,我输一个O。哎,他又提就说你的输入有误,请重新输入,我输的再一个P,他说输入有误,再重新输入。对吧,那么输一个N呢,就代表我不退出,是不是他又把这个菜单打出来了,如果我输一个是我输的就是要退出就退出这个系统。代码是正确的。也就是说我们这个功能就完善好了,我们再来完善第二功能,当没有任何收支明细时,提示当前没有任何收支明细,来给一笔吧,大家看目前我们这个项目是这样子的。如果我们没有任何收支明细,我们其实是打印出一个空的这个表格,其实很不好,因为你没有收支明细,你何必打一个空的表表头出来呢,所以说我们这个功能就是要完善到这里。来完善。完成我们的第五个小功能。
10:01
对,我们一步一步的将其完善,当没有任何收支明细,我们就说没有收支明细来一笔,那同学们想你会怎么办呢?显然我们想肯定要想办法在这加一个if判断,就是如果没有明细的时候,我们说的是这样一句话。如果有明细的话呢,我们再去执行这句话对不对,所以说我用一个变量来做一个,我做一个int啊flag。我默认为零,这个表示什么呢?表示是否有,是有至少至少一笔。一笔收入或者支出。能能表吗?好,那你看我这样写代码,看看这样写大家是不是,如果我们flag。就是flag,它等于针,我们就去执行这句话。就说这个时候他就可以真的输出这个那else。
11:05
S就是它为甲。因为你上来是零是甲嘛,甲他就不进来,不进来呢,我们就提在这输出一句话就可以了,输出一句怎样的话呢,直接来一个斜杠N说当前没有任何的。对,当前没有任何收支明细,拿一笔吧,这样子呢就完成这个功能的,看到没有代码就写完了,那问题是什么时候去改变这个flag呢?我们可以这样做,当有一笔收入的时候,有一笔收入的时候,我们就把这个flag制成一个一就可以了,比如说在这里。啊,我们把flag制成一个一,如果有一笔支出的话呢,我们也可以把它制成一个一,对不对,这样呢,我们就可以控制它的这个显示了,来玩一把。跑起来,我们试一下,看看能否解决这个问题。WHY?好,我们退出来了,然后呢,我们来试一下吧。
12:01
我们先来看,在没有任何收入或者支出的时候,我们能否。提示,没有任何收入。二看回撤。没有任何收支明细,来一笔吧,我们登,我们来一笔花,花一笔钱,因为我们本身有1000块钱,我们支出100块,支出100块呢,我们说是干什么呢,购物。好,回车,这时我们一回车可以看到当前就打印出了这个收支的明信明细,退出好,没有任何问题。代码写完,我们紧接着再来完成下一个功能,下一个功能是在支出时要判断余额是否够,并给出相关提示。大家看目前我们在支出的时候其实是有问题的,你看我自己又捡了money。那有没有一种可能性,就是你花的钱本身就不够,比如说你有1000块钱,但是你恰恰要去花1万块钱,肯定是不行的,所以说我们这里面再完成一个小功能,对同学们跟上我的思路。
13:01
完成六这个小功能呢,对,我们加一个判断就可以快速的完成,好吧,非常的简单,在哪里写呢?在我们进行这一个支出的时候,我们先来做一个判断。对,你要支出多少钱,在这儿加一个判断,做判断。A、判断是否够。够支出没问题吧,那就直接if,如果我们这个money就是你支出这个钱大于。就是我们怎怎么说呢,就是说。呃,我们想一想这个啊,如果你的balance大,你的money大于了balance。就是你现在要花的钱。大于什么呢?大于我的余额等于是可以的,我大不了花完吗?如果这个条件满足,说明我们不够。不够。对不对,不够,那如果不够的话呢,是不是我们应该提示一句话呀,我们应该给这个用户提示一句话说余额不足。
14:06
就是你的余额不足。写一个余。余额不足。那余额不足肯定我就不能不能给你花了,那这个时候应该怎么办呢,马上就。干什么呀?呃,我们想想这个地方如果余额不足的话,我们希望希望干什么呢?啊,我们就退出这个Switch语句,让他进行下一次的玩耍,对不对,马上就break,这个break就代表我提前的终止这个Switch语句,这个还有还有印象吧。好,我们来玩一下,看看是不是这样子可以跑起来。来,同学们运用一下。走起来。好,我们玩一把。我们现在有余额1000块,我上来就花2000块,我们看看现在有什么提示没有,我现在直接登记一笔支出。好,我要支出2000。一回车。余额不足直接就就退出来了。
15:02
那但是你要花一个够够用的,比如说我现在支出什么呀。好,我们。我们现在接着再看啊,因为这个余额不足,这边输入过后呢,我们重新再来玩一把。好,我们再来玩一把,因为现在我在做这个事情的过程中呢,没有进行一个过滤,对不对,没有进行一个过滤在这里,本次在这看一下。因为这我收了一个钱,收了一个钱过后呢,要把这个概率给过滤,过滤一下才行,忘了一个动作,所以说你看呃,忘了这个过滤。过滤这一个回收过后呢,后面代码你看都都有点问题了,对不对,好,我过滤一下就不会再有问题了,再来看一下。这个过滤还是很重要的,你不过滤的话,下一个给下就会把回收给你拿了。来,首先看一下。我们先来登记一笔。支出2000。显然,这个时候余额不足。对,现在我们再来登记一笔支出,这个钱呢够用,比如说这次呢,我是300块钱。
16:05
我们要干什么呢?比如说我们要购物。对,购物回车,你看这次就是正常的。对不对,这次就正常的好退出。代码写完了。同学们,在现在呢,我们就把这几个功能给大家补全了,哪几个呀?一个是退出的时候要给相应的提示,第二个没有数字明细给相应的提示,第三个余额不够给出判断。那现在呢,我们把这个家庭收支的第二个功能也给大家完成了,我们截取一段视频。
我来说两句