C语言博客作业--函数嵌套调用

一、实验作业

1.1 PTA题目6-4 十进制转换二进制

1.设计思路

定义x用于存储每一位二进制数
    若n<2,输出n,
    否则x=n%2存储2进制数,再次调用该函数
    输出x

2.代码截图

C语言博客作业--函数嵌套调用_第1张图片

3.调试问题

  • 本题主要是函数出口错误,后来仔细阅读代码发现问题

1.2 学生成绩管理系统

1.2.1 画函数模块图,简要介绍函数功能

  • 代码总数266行
    C语言博客作业--函数嵌套调用_第2张图片

1.2.2 截图展示你的工程文件

C语言博客作业--函数嵌套调用_第3张图片

1.2.3 函数代码部分截图

  • 主函数C语言博客作业--函数嵌套调用_第4张图片
  • 头文件C语言博客作业--函数嵌套调用_第5张图片
  • 查找C语言博客作业--函数嵌套调用_第6张图片
  • 排序C语言博客作业--函数嵌套调用_第7张图片
  • 显示C语言博客作业--函数嵌套调用_第8张图片
  • 修改C语言博客作业--函数嵌套调用_第9张图片
  • 删除C语言博客作业--函数嵌套调用_第10张图片
  • 添加C语言博客作业--函数嵌套调用_第11张图片
    C语言博客作业--函数嵌套调用_第12张图片
    C语言博客作业--函数嵌套调用_第13张图片

1.2.4 调试结果展示

新增学生C语言博客作业--函数嵌套调用_第14张图片我是让程序在遇到输入-前可以不断添加学生,在任意时候都可以返回主菜单
新增后按学号降序
删除成绩C语言博客作业--函数嵌套调用_第15张图片将删除的成绩用null代替成绩
修改成绩C语言博客作业--函数嵌套调用_第16张图片
排序C语言博客作业--函数嵌套调用_第17张图片
查找C语言博客作业--函数嵌套调用_第18张图片
基本功能都能实现,只是界面太丑了,还有一些显示什么的不够便捷。。

程序健壮性

  • 1.在输入命令时出现字母或其他字符C语言博客作业--函数嵌套调用_第19张图片
  • 2.新增学生时信息有错比如名字出现数字,学号出现字母,分数越界C语言博客作业--函数嵌套调用_第20张图片
    C语言博客作业--函数嵌套调用_第21张图片
  • 3.没有学生查找学生,删除成绩等C语言博客作业--函数嵌套调用_第22张图片

1.2.5 调试碰到问题及解决办法。

这一道题还有很多功能没有实现,等我后续慢慢完善吧....

二、截图本周题目集的PTA最后排名

三、阅读代码

/1.一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。
这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?经过
每个村子卖出多少只鸭子?
/

#include   
int f(int n)  
{  
int num;  
if(n==8)//第7个村子过后,也就是到第八个村子时还有2只鸭  
{  
return 2;  
}  
else  
{  
num =(f(n+1)+1)*2; //递归调用  
printf("第%d个村子卖鸭子%d只\n",n,num/2+1);  
}  
return num;  
}  
int main()  
{  
int num = f(1);  
printf("总共赶鸭子%d个\n",num);  
return 0;  
}  

这题还有一个不用递归函数的做发,比较复杂,两个相比较就可以体现了递归的优越性

四、本周学习总结

  • 指针数组可以存放多个字符数组,指针数组中每一个元素都是字符数组的首地址,指针数组名是二级指针
  • 二级指针表示指针的指针
  • malloc()函数可以定义动态内存避免内存的浪费,最后要用free释放内存

学习体会

  • 本周学习了建立项目,这比pta上的题目难多了,把那么多功能集合在一起时,就要考虑更多的东西

你可能感兴趣的:(C语言博客作业--函数嵌套调用)