A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

《通讯录》功能展示
跟着视频自学了一个星期C语言,今天终于搞定了,花了四个小时终于把这个小程序搞定了,也许还有很多bug,不过目前重大bug都搞定了,希望大家多多指出我的错误,或者不合适的地方,共同学习

1、操作界面及框架
1)引入头文件
2)进行必要地宏定义
3)定义文件名称变量、联系人数组、联系人结构体
4)定义函数、并进行函数声明
5)编写循环控制程序
6)显示操作界面
7)根据选择编号执行不同的函数
2、代码实现

主要有三个文件:Contact.h、Contact.c 和main.c

1)Contact.h主要用来声明要用到的函数和全局变量

  1. //
  2. //  Contact.h
  3. //  ContactDemo
  4. //
  5. //  Created by amos on 10/2/15.
  6. //  Copyright (c) 2015 augmentum. All rights reserved.
  7. //

  8. #ifndef ContactDemo_Contact_h
  9. #define ContactDemo_Contact_h

  10. //定义联系人姓名最大长度
  11. #define NAME_LEN 25

  12. //定义联系人电话号码最大长度
  13. #define PHONE_NUMBER_LEN 12

  14. //定义联系人列表长度
  15. #define LIST_LEN 100

  16. //声明联系人保存的文件名
  17. char *filePath;

  18. //声明联系人的总个数
  19. int totalContacts;

  20. /**
  21. *  定义通讯录结构体
  22. */

  23. typedef struct {
  24.     int num; //编号
  25.     char name[NAME_LEN]; //姓名
  26.     char phoneNumber[PHONE_NUMBER_LEN]; //电话号码
  27.    
  28. } Contact;


  29. //定义联系人列表
  30. Contact list[LIST_LEN];

  31. /**
  32. *  增加联系人
  33. */
  34. void doAdd();

  35. /**
  36. *  根据姓名删除联系人,num用于指定要删除的联系人编号
  37. */
  38. void doDelete(char name[]);

  39. /**
  40. *  修改联系人
  41. */
  42. void doUpdateByName(char name[]);

  43. /**
  44. *  根据姓名查询联系人,返回联系人的编号
  45. */
  46. int doSearchByName(char name[]);

  47. /**
  48. *  显示功能选项
  49. */
  50. void doShowMenu();

  51. /**
  52. *  退出系统
  53. */
  54. void doExitSystem();

  55. /**
  56. *  选择功能
  57. */
  58. void doSwitchFunction(char operation);

  59. /**
  60. *  写入联系人信息到文件中
  61. *  num用于指定要删除的联系人编号

  62. */
  63. void doWriteToFile(Contact list[], int num);

  64. /**
  65. *  从文件中获取所有联系人信息到联系人列表中
  66. */
  67. void doGetAllInfo();

  68. #endif
复制代码



1 个回复

倒序浏览
学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马