电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
文章
从0写一个电话号码管理的C入门项目【适合初学者】
分 享
扫描二维码分享
从0写一个电话号码管理的C入门项目【适合初学者】
C语言
电话号码本管理
一口Linux
关注
发布时间: 2021-09-14
丨
阅读: 335
## 0.前言 上次发了一个嵌入式的学习路线,很多粉丝问我各个阶段的入门项目,其中第二阶段的《基于socket聊天室》写了4篇循序渐进的文章,而第一阶段的《电话号码本管理》也非常想要。 一口君必须安排。该项目,一口君同样采用循序渐进的步骤,一点点为大家讲解这个小项目是如何从头开始点点写出来的。 ## 1. 项目说明 ```c 运行环境:ubuntu16.04 语言 :C语言 ``` ### 1) 功能说明 本项目功能包括简易菜单、单链表、包括增删改查等基本操作。 链表插入采用尾插法。 ### 2) 后续可在此基础上增加功能: 信息保存,数据库操作、CS/架构远程管理等。 ### 3) 实现说明 ![ ](https://img-blog.csdnimg.cn/daedf3d3e9a44666826a32e475c2cd70.png)现在要创建新节点newstudent,并通过尾插法插入到该链表中 ```c p = head; PHONE *newstudent = (PHONE *)malloc(sizeof(PHONE)); newstudent->next = NULL; while(head->next != NULL) { head = head->next; } ``` 这几行代码执行完毕后,各指针结果如下: ![ ](https://img-blog.csdnimg.cn/fa9c2da9ae004a72863e6539995a8c36.png?) ```c head->next = newstudent; ``` 执行完该行代码后,各指针结果如下: ![](https://img-blog.csdnimg.cn/245d44f3b53e4c6a86379d932b262c38.png) ```c head = p; ``` 执行完该行代码后,各指针结果如下: ![ ](https://img-blog.csdnimg.cn/4b7cd5f709ce464c8a74e41347f02e6c.png)其他链表的操作,就不再过度叙述。 ### 4) 代码流程图 ![ ](https://img-blog.csdnimg.cn/a4e800645bcb4f87b55965b1a23db322.png) ## 2. 执行结果 ### 文件如下: ```bash peng@ubuntu:/mnt/hgfs/code/test$ tree . . ├── list.c ├── main.c └── phone.h 0 directories, 3 files ``` ### 编译运行 ```bash peng@ubuntu:/mnt/hgfs/code/test$ gcc *.c peng@ubuntu:/mnt/hgfs/code/test$ ./a.out ``` ### 程序截图 登录界面:![ ](https://img-blog.csdnimg.cn/511ec3587b054ab084e0740450473502.png)进入电话管理主界面,并添加一个电话条目: ![ ](https://img-blog.csdnimg.cn/0d9a3032d5bb4c5388c9a64701c1d75b.png)显示添加的电话信息: ![ ](https://img-blog.csdnimg.cn/58a095fc3d4c483eab89e631bda4e074.png) ## 3. 代码阅读方法 为了方便读者阅读代码,一口君给这个小项目创建了git工程,这样大家可以很方便的追述一口君编写代码的记录,便于学习。 同时git是现在软件开发必须掌握的一门版本管理技术。 ### 1. 安装git ![ ](https://img-blog.csdnimg.cn/5bf7ad5f7db24509a77e62da15d6f2ff.png) 然后需要设置一下邮箱和用户名 ```bash git config --global user.email 21689991@qq.com git config --global user.name yikoupeng ``` 修改默认提交commit的打开软件为vim ```bash git config --global core.editor "vim" ``` ### 2. 显示历史修改记录 输入以下命令,显示所有commit信息。 ```bash git log ``` ![ ](https://img-blog.csdnimg.cn/9bd68f6d34d848048c312dac5094c4b6.png) ### 3. 如何让代码更新到最开始的那个状态? 比如我们想切换到最开始的那个版本节点 ```bash git checkout 61b662ad92e8115f012f6247046eb4756a532a15 ``` ![ ](https://img-blog.csdnimg.cn/f447fa4d92a542b28ef84a5b90181589.png)大家可以看到,这个是我最初的版本,只有1个main.c文件,这个代码只有最简单的菜单功能,并且字体也都没有设置颜色。 要想切换到最新的版本,可以执行以下命令 ```bash git checkout b3004eef8a1c7828095af1a87181d58a7230e91e ``` ![ ](https://img-blog.csdnimg.cn/2f36616635c0474f80c7ad25675c4359.png) 4. 如何提交一个commit? 比如我们在各个文件增加一个文件头 ![ ](https://img-blog.csdnimg.cn/83558a77d21b41b898d4504f8258367b.png) 下面命令可以查看到修改过的文件内容 ```bash git diff ``` ![ ](https://img-blog.csdnimg.cn/d655a3cef8654b1890b345fef79fbef7.png) 通过下面命令提交新版本 ![ ](https://img-blog.csdnimg.cn/3aa173dce4624677b72fcd5c77b1f94e.png) 然后输入以下命令提交commit ```bash git commit ``` 然后退弹出下面界面,我们可以用vim操作命令来提交这个commit的信息, 红框内是我输入的信息 ![ ](https://img-blog.csdnimg.cn/b1b2b4891fdb48d181f29dece1d3aeab.png) 用git log查看,可以看到,我们提交的信息已经更新了。 ![ ](https://img-blog.csdnimg.cn/929f959ae945419f87e563f71be5689b.png) >注意 >这样提交的代码是放置到了本地仓库,还没有上传到服务器, >用于自己学习足够了,还可以上传到服务器, >这样我们就可以和众多开发者同步维护这套代码, >如果运气好,该项目吸引到了风投, >那不仅可以扬名立万还可以早日财务自由。 >在此我们要非常感谢linus, >正是这位大神开发了git,才实现 了同时和全球上百万的开发者 >高效维护Linux内核, >而git也被众多软件公司作为版本管理的首选。 代码下载方法: 关注公号:一口Linux 后台回复:电话号码管理
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
0
)
一口Linux
关注
评论
(0)
登录后可评论,请
登录
或
注册
相关文章推荐
MK-米客方德推出工业级存储卡
Beetle ESP32 C3 蓝牙数据收发
Beetle ESP32 C3 wifi联网获取实时天气信息
开箱测评Beetle ESP32-C3 (RISC-V芯片)模块
正点原子数控电源DP100测评
DP100试用评测-----开箱+初体验
Beetle ESP32 C3环境搭建
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏之二
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交