C++编程实践:实现通讯录功能

需积分: 9 2 下载量 111 浏览量 更新于2024-09-17 收藏 8KB TXT 举报
"C++课程实践,通过创建一个通讯录应用,涵盖了C++中对象和文件操作等核心概念。" 在本C++课程实践中,我们构建了一个简单的通讯录系统,允许用户进行添加、删除、修改、查找和显示联系人信息。这个系统的核心数据结构是一个名为`student`的结构体,它包含了用户名(`username`)、性别(`sex`)和电话号码(`telephone`)三个属性。为了存储多个联系人,我们使用动态数组`stu`来保存`student`结构体的实例。 程序首先定义了一个全局变量`maxsize`,用于设置通讯录的最大容量,初始化为1000。`alltelenum`变量则用于记录当前已存储的联系人数量。为了持久化存储联系人的数据,我们使用了文件流(fstream)来与文本文件交互。`savetelenum()`函数负责将当前的联系人数量写入到"D:\\studentnum.txt"文件中,而`gettelenum()`函数则从文件中读取并返回该数值。 在主函数`main()`中,程序提供了一个命令行菜单,让用户选择执行的操作。菜单选项包括: 1. 插入电话号码(insert a telephone) 2. 更新已保存的电话号码(update a telephone saved) 3. 更新刚刚输入的电话号码(update a telephone inputed just) 4. 删除已保存的电话号码(delete a telephone saved) 5. 删除刚刚输入的电话号码(delete a telephone inputed) 每个操作都由相应的函数实现,如`void insert()`用于添加联系人,`void save_update()`用于更新已保存的联系人信息,`void input_udate()`用于更新刚输入的信息,`bool save_delet()`处理删除操作,以及`void save_search()`和`void input_search()`分别处理搜索功能。这些函数可能涉及到读写文件、遍历数组以及用户交互等基本编程技巧。 此外,`save()`函数可能用于保存整个通讯录到磁盘,而`save_print()`和`input_print()`可能分别用于保存和输入打印通讯录的功能。不过,实际的实现细节在提供的代码片段中并未给出,这需要根据课程的要求和学生自己的实现来补充完整。 这个实践项目不仅锻炼了学生对C++语法的理解,还涉及到面向对象编程的思想,例如定义结构体来封装数据。同时,它还涵盖了文件操作,这是C++程序设计中非常重要的一个部分,因为大多数实际应用都需要保存和加载数据。此外,通过设计用户界面和处理用户输入,学生也能学习到控制流程和错误处理的基本方法。