您的位置 首页 编程知识

练习 C:构建一个简单的电话簿应用程序

学习C语言编程的最佳途径之一就是动手实践。本文将带您逐步完成一个我最近完成的项目:一个简单的电话簿应用程序。此…

练习 C:构建一个简单的电话簿应用程序

学习C语言编程的最佳途径之一就是动手实践。本文将带您逐步完成一个我最近完成的项目:一个简单的电话簿应用程序。此应用演示了C语言中的文件处理和基本数据管理,允许您添加、查看和删除联系人。


代码详解

以下是完整代码:

#include <stdio.h> #include <string.h>  // 函数声明 void addcontact(char name[], char number[]); void viewcontacts(); void deletecontact(char name[]);  int main() {     int choice;     char name[20];     char number[20];      printf("-- 欢迎使用您的电话簿! --  ");      do {         // 显示菜单         printf(" 您想执行什么操作? ");         printf("1. 创建新联系人	 2. 查看电话簿	 3. 删除联系人	 4. 退出 ");         scanf("%d", &choice);          switch (choice) {             case 1:                 // 添加新联系人                 printf("很好,让我们创建一个新联系人: ");                 printf("请输入联系人的姓名: ");                 scanf("%s", name);                 printf("现在输入电话号码: ");                 scanf("%s", number);                 addcontact(name, number);                 break;             case 2:                 // 查看电话簿                 printf("这是您的电话簿: ");                 viewcontacts();                 break;             case 3:                 // 删除联系人                 printf("请输入要删除的联系人的姓名: ");                 scanf("%s", name);                 deletecontact(name);                 break;         }     } while (choice != 4); // 循环直到用户选择“退出”      return 0; }  // 向电话簿添加联系人的函数 void addcontact(char name[], char number[]) {     FILE *pfile;     pfile = fopen("phonebook.txt", "a");     if (pfile == NULL) {         printf("打开电话簿失败。");         return;     }     fprintf(pfile, "姓名: %s 	 电话: %s ", name, number);     printf("联系人已创建! ");     fclose(pfile); }  // 查看电话簿中所有联系人的函数 void viewcontacts() {     char filecontent[200];     FILE *pfile;     pfile = fopen("phonebook.txt", "r");      while (fgets(filecontent, sizeof(filecontent), pfile)) {         printf(" %s", filecontent);     }      fclose(pfile);     }  // 从电话簿中删除联系人的函数 void deletecontact(char name[]) {     FILE *pfile, *ptrash;     char line[200], contactname[20], contactnumber[20];      pfile = fopen("phonebook.txt", "r");     ptrash = fopen("trash.txt", "w");      if (pfile == NULL || ptrash == NULL) {         printf("打开文件失败。");         return;     }      while (fgets(line, sizeof(line), pfile)) {         sscanf(line, "姓名: %s 	 电话: %s ", contactname, contactnumber);         if (strcmp(name, contactname) != 0) {             fputs(line, ptrash);         }     }      fclose(pfile);     fclose(ptrash);      // 将旧电话簿替换为更新后的版本     remove("phonebook.txt");     rename("trash.txt", "phonebook.txt");     printf("联系人已删除。"); }
登录后复制

项目特点

该程序实现了三个核心功能:

  1. 添加联系人:
    • 允许用户输入姓名和电话号码。
    • 将联系人信息存储到名为 phonebook.txt 的文件中。
  2. 查看联系人:
    • 读取并显示 phonebook.txt 文件中存储的所有联系人信息。
  3. 删除联系人:
    • 根据用户输入的姓名删除联系人。
    • 通过创建临时文件过滤掉已删除的联系人,然后替换原始文件。

学习收获

通过这个练习,我巩固了以下C语言知识:

  1. 文件处理: 熟练运用 fopen、fclose 等文件操作函数,并处理文件打开失败的情况。
  2. 字符串操作: 使用 strcmp 和 sscanf 等函数进行字符串比较和解析。
  3. 基本数据管理: 学习如何在简单的文本文件中存储和管理数据,以及通过创建临时文件来更新文件内容。

代码测试

  1. 将代码复制到 .c 文件中(例如 phonebook.c),并使用C编译器(如 GCC)编译:
gcc -o phonebook phonebook.c
登录后复制
  1. 运行编译后的程序:
./phonebook
登录后复制
  1. 按照屏幕提示添加、查看或删除联系人。
  2. 打开 phonebook.txt 文件验证数据是否正确存储。

未来改进

这个程序是一个良好的开端,未来可以考虑以下改进:

  1. 输入验证: 验证电话号码的有效性(例如,只包含数字),防止重复姓名。
  2. 用户界面改进: 提供更清晰的提示信息,允许输入包含多个单词的姓名(使用 fgets 代替 scanf)。
  3. 增强文件处理: 考虑数据加密以提高安全性,使用更结构化的文件格式(如 CSV 或 JSON)。
  4. 高级功能: 添加搜索功能,按字母顺序排序联系人。

总结

这个练习帮助我深入理解了C语言的文件处理和基本数据管理。这是一个简单但实用的程序,可以作为更复杂项目的基础。如果您是C语言初学者,强烈推荐您尝试一下!这是一个有趣且有益的学习过程。

以上就是练习 C:构建一个简单的电话簿应用程序的详细内容,更多请关注php中文网其它相关文章!

本文来自网络,不代表四平甲倪网络网站制作专家立场,转载请注明出处:http://www.elephantgpt.cn/6285.html

作者: nijia

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

18844404989

在线咨询: QQ交谈

邮箱: 641522856@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部