C语言博客作业03--函数

0.展示PTA总分

1.本章学习总结

1.1学习内容总结

函数定义:

函数类型 函数名(参数)
{
函数体
}
函数的用途
把一部分代码写入函数中,可以多次调用,省空间的同时也让可读性更高,也适合多人合作写代码时使用。
注意:

  • 函数定义后必须声明
  • 程序的运行都首先从main函数开始

参数传递
参数分实参和形参,形参为函数体内的变量,实参为调用时传入的变量
实参和形参必须一一对应,且类型一致
参数在函数结束时会被系统回收,因此若要利用函数做计算的话,需要return值回main函数中的变量中
如果要让参数不在函数结束时被回收,应该在变量定义前面加上static定义为静态变量

全局变量和局部变量
全局变量的作用范围为定义后直到程序结束,局部变量为定义后直到当前函数结束
灵活利用全局变量和局部变量能让程序更简洁,同时也方便写代码的人
注意:

  • 当全局变量和局部变量同名时,以局部变量为先

void类型的函数
该函数无返回值,常用于输出展示文字内容
即使用了return也只是表示在这里结束,不会返回值

1.2本章学习体会及代码量学习体会

1.2.1学习体会

我太难了。咳咳!划掉
因为在其他学科上的任务可能比较多,导致专业课的课余时间都没多少时间打pta,感觉写代码的时候有点压力
特别是在这次大作业中,许多地方都在碰壁,有些能简洁表达的代码一开始写了好长,之后我会尽可能挤时间多花在专业课上(毕竟是以后要吃饭的专业。这句也划掉!

1.2.2代码累计

本次综合作业代码量:460

2.综合作业

  • 本次作业我完成了一下内容
  • 一年级:整十数加一位数的加法,整十数减整十数的减法,两位数减整十数的减法,10以内三个数连加,100以内连加连减混合运算
  • 二年级:1-9以内的表内乘除法,整十数加减法(进位的,退位的),尾数是0三位数加减法(和在一千以内的),整百数加减法(和超过一千的,退位的),10以内除法加法混合运算,有余数的除法
  • 三年级:三位数加减三位数(含连续进位和退位),一位数乘一位、二位、三位数,整十数乘整十数,一位数的四则运算,两位数除以一位数(有余数),万以内的加减法
  • 部分扩展内容尝试

3.本次作业的函数关系图

  • 上面漏了一个ErrorWarning和CorrectAmount

4.函数功能及全局变量介绍

4.1全局变量

没有定义(捂脸)

4.2ListMenu函数

  • 真的就单纯用于展示

4.3CorrectGrade函数

  • 利用循环,当choice不为1-3时返回1,进行一次清屏并重新展示菜单,同时输出警告
  • 该函数用于保证choice的输入正确

4.4CorrectAmount函数

  • 该函数用来判断输入的非回车键是否是数字,只有当是的时候才能继续进行
  • 二图的代码是用于将符合条件的字符amount转化成数字

4.5ErrorWarning函数

  • 用于提示用户输入错误,并回到amount的输入

GradeChoice函数

  • 核心函数,根据选择的年级和输入的题量给出指定的题目
  • 主要用于生成题目与判断答案是否正确,最终返回做对的题目数

5.运行结果截图,测试用例

  • 界面

  • 输入错误的年级,如输入a

  • 输入正确年级,但输入错误的amount

  • 年级题目类型展示,重新选择提示

  • 一年级

  • 二年级

  • 三年级

  • 结束答题

  • 提前退出(题量5)

6.测试遇到问题及解决办法

  • 问题:选择年级(choice)时输入了字母,导致程序崩溃
    解决方法:把choice定义成字符型数据处理
  • 问题1:输入题量(amount)为字母时,程序崩溃
    解决方法:定义字符型数据
  • 问题2:do while循环输入时不小心把'\n'传入判断是否是数字的函数导致出错
    解决方法:多加了amount != '\n'的条件为进入数字判断函数的条件
  • 问题:在输入答案的时候输入一串字母,会导致题目瞬间被做掉字母个数的题目或者直接结束或崩溃
    解决方法:暂未,因为数据种类繁多,而且前后代码矛盾,暂未找到合适方法修改

7.大作业总结

  • 本次作业因为过分在意哪些数据会导致程序崩溃,在代码修改的时候经常导致前后矛盾,有时候错误的地方要一段时间才能发现,导致花的时间很长,也不容易
  • 这是第一次在没有测试点的情况下完成作业,自由度相当高,但是同时也不容易发现自己的错误,充分发挥了调试的功能
  • 本次作业函数分工不够明确,这是我的学的不精,我会继续努力,锻炼自己打代码的能力,以及对函数的应用
posted @ 2019-11-03 22:10  林盛泓  阅读(288)  评论(0编辑  收藏  举报