本篇C语言代码提供了一个基本的通讯录程序,旨在帮助初学者学习文件操作、数据结构和控制流程。程序的主要功能包括添加、删除、更新联系人信息以及查看和搜索联系人列表。它使用了C语言的关键特性,如定义常量和结构体来组织联系人的姓名和电话号码,以及文件操作来存储和读取数据。 首先,程序定义了一些关键常量如`LEN10`、`NAMELEN`和`TELELEN`,分别表示联系人列表的长度、姓名的最大长度和电话号码的最大长度。接下来,定义了一个`Person`结构体,用于存储每个联系人的信息,包括姓名和电话号码。全局变量`contactCount`用于记录当前通讯录中联系人的数量。 `init()`函数是程序的初始化函数,可能是用来清空联系人列表或创建一个默认的联系人列表。`isValid()`函数检查输入值是否在预设范围内,以确保程序的健壮性。 `addContact()`函数用于添加新的联系人,`deleteContact()`函数则可以删除指定的联系人。`updateContact()`函数允许用户修改已有的联系人信息,而`doList()`函数则会显示当前通讯录中的所有联系人。`searchContact()`函数支持按姓名搜索特定联系人。 `quit()`函数提供了退出程序的选项,这通常是通过循环条件实现的,直到用户选择退出。`writeFile()`函数是关键部分,它负责将通讯录数据保存到名为"a.data"的文件中,以便于后续加载和恢复。 主函数`main()`是程序的入口点,它首先调用`init()`初始化,然后进入一个无限循环,展示菜单供用户选择不同的操作。用户可以通过输入对应的数字选择添加、删除、更新、查看、搜索或者退出功能。文件操作在需要时会被调用,如添加新联系人后保存到文件,或加载文件内容到内存。 这个C语言通讯录程序是初学者理解数据结构、文件I/O以及控制结构的好例子,展示了如何在一个简单的交互式应用中实现基本的数据管理功能。通过实践这个项目,学生可以巩固C语言的基础知识,并提高其编程能力。
#include <stdio.h>
#include<string.h>
#define LEN 10
#define NAMELEN 22
#define TELLEN 12
//*************结构体变量定义****************
//定义联系人的个数
int contactCount = 0;
//定义结构体
typedef struct{
//定义联系人姓名
char name[NAMELEN];
//定义联系人电话
char tel[TELLEN];
}Person;
//初始化联系人数组
Person contact[LEN];
//定义文件名
char *path = "a.data";
//接收用户输入的编号
int no;
//**************函数声明********************
//初始化声明
//校验声明
int isValid(int n, int min, int max);
//添加联系人
void addContact();
//删除联系人
void deleteContact();
//修改联系人
void updateContact();
//查看所有联系人
void doList();
//搜索联系人
void searchContact();
//退出系统
void quit();
//联系人写入文件
void writeFile();
//***************************************
int main(int argc, const char * argv[]) {
//通讯录初始化
init();
printf("通讯录初始化成功!\n");
while (1) {
剩余12页未读,继续阅读
- 粉丝: 0
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展