c语言菜谱管理系统的模块,实验三:内部模块化的命令行菜单小程序V2.0

实验三:内部模块化的命令行菜单小程序V2.0

姓名:杨瑞

学号:SA16225381

《软件工程(C编码实践篇)》MOOC课程作业http://mooc.study.163.com/course/USTC-1000002006

一。实验要求

1.实现一个命令行小程序,实现某个命令时调用某个特定函数

2.类似ftp的help目录或bash的help目录

3.至少有八个指令

二。实验环境

实验楼

三。实验过程

1.首先在实验目录下新建lab3作为工作目录

$mkdir lab3

2.然后根据课件中的视频,建三个文件,linklist.h linklist.c menu.c

这样可以将程序的功能模块化,用到的数据结构和对数据结构的相关操作都放在linklist.h linklist.c中,menu的业务逻辑都放在menu.c中

首先我们来看linklist.h中的代码,截图如下:

eedbed9f952291e90423610c48936169.png

代码中定义了DataNode这个数据结构,还有对这个结构的两个操作FindCmd()和ShowAllCmd(),然后再linklist.c中对这两个操作进行实现,截图如下:

7cbb15f347de20dadeeaab357646cba7.png

d39000c9510d4df163afac441eabdf20.png

3.下面我们来处理menu的业务逻辑,要求是实现8个命令,我实现的8个命令分别是;

help

version

quit

printAuthor

date

attire

directory

triangle

menu.c的代码截图如下:

a65a46fe99d788a54dd35a69b7d3826a.png

8039e247b3e2986cc78e03cbeff7ce9d.png

a3d1381adade2b6b84c7a1d25d9660ef.png

7894ff70af1cec499195f80f9bf21740.png

由于将代码模块化,分成linklist.h linklist.c menu.c ,使得代码可重用,所以简化了menu.c的代码量,提高了编程效率。

4.编译运行

要将linklist.c和menu.c一起编译

$gcc linklist.c menu.c -o menu

$./menu

结果如下:

bb0a6f6d74ded4708dc99339f2a0ef01.png

e3e11e6b7263600503547b70ec0d4cd6.png

5.,将代码提交到代码库中

$git add menu.c tinkliest.

$git commit -m "menu"

$git push

四。实验结果

实验结果如下图:

c8f29adee7365fce903a1a1d62d4e9b9.png

196ab51ab5a7ab888c12866f0fafbf68.png

五。心得体会

在这次试验中,我学会了如何编写一个命令行小程序,并可以实现一些功能。并注意了老师再视频中所提到的代码风格的问题。

还有模块化编程的思想,这次实验中我把数据结构和有关操作分出来单独写到linklist.c中,menu.c中专心处理功能的实现,这样使代码可重用性更高,代码更容易维护和扩充。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值