C语言大型综合程序范例
更新时间:2023-08-13 08:36:01 阅读量: IT计算机 文档下载
大型综合程序范例解析通讯录问题描述: 以文件的方式保存用户录入的通讯录数据 供用户查询和使用通讯录信息
大型综合程序范例解析通讯录功能分析: 记录项的基本属性:姓名、性别、住址、联 系电话、电子邮件 等 操作功能: 录入:操作添加一条新的记录项 删除:删除一条已经存在的记录项
大型综合程序范例解析通讯录功能分析: 修改:改变记录项的一个或多个属性,并用 新的记录项覆盖已经存在的记录项 查找:根据用户输入的属性值查找符合条件 的记录项。
大型综合程序范例解析通讯录功能分析: 通讯录数据以文件形式存储在磁盘上,根据实 际需要定义文件的存储格式;在程序运行中需 要对文件进行读取操作。 程序中还要对输入数据的容错性进行检查, 可以保证通讯录数据的合法性。
大型综合程序范例解析通讯录设计: 程序总体结构: 输入输出模块:人机交互,包括程序界面显示、 用户输入响应、结果输出等 管理模块:管理模块从输入输出模块读取用户命 令并进行相应的操作,包括录入、删除、修改 、查找、列表等 文件操作模块:进行存储文件的读写
大型综合程序范例解析通讯录模块结构图用户输入
输入输出终端系统输出
输入输出模块管理模块 文件操作模块文件写入 文件读出
存储文件
大型综合程序范例解析通讯录界面设计 :
大型综合程序范例解析通讯录数据结构设计: struct myrecord{ unsigned int num; unsigned int group; char name[MAXLEN+1]; char gender; date birthday; char address[MAXLEN+1]; char phone[MAXLEN+1]; char email[MAXLEN+1]; };
大型综合程序范例解析通讯录数据结构设计: struct mydate{ unsigned int year; unsigned int month; unsigned int day; }; typedef struct mydate date;
大型综合程序范例解析通讯录数据结构设计: 三个查询关键字:记录编号、组别和联系人姓名 union mysearch_entry{ unsigned int num; unsigned int group; char name[MAXLEN+1]; }; typedef union mysearch_entry search_entry;
大型综合程序范例解析通讯录-函数设计函数原型 函数功能 以文本方式显示程序主菜单,同时响应 用户输入 向上滚动光标条 向下滚动光标条 等待用户响应
menu.c输入输出文件函数处理描述
void menulist(void)void upbar(int y) void downbar(int y) void mydelay(void)
调用bioske(0),获取按键的值通过改变字体颜色实现光标条移动 通过改变字体颜色实现光标条移动 调用getch()实现
void format(void)void searchmenu(void) void input_search(char ch) int input_num(void) int input_new(myrecord *p) myrecord *input_app(void)
结果输出时打印输出的格式信息输出查询功能的子菜单 处理查询时用户的输入,将关键字读入
读入一个整型数值(记录编号),进行 合法性检查 进行数据修改时,读入一个新的记录项 ,并用它覆盖输入参数所指向的数 据记录项。 录入信息时处理键盘输入,对输入进行 合法性检查 检查日期是否为合法
调用printf()实现调用printf()实现 根据输入参数ch,执行相应的操作 采用了递归的方法循环读取数据 参数:新记录项的指针 返 回 值:返回是否进行了修改的信息 ,已修改返回 1,否则返 回0。 逐项录入通讯记录 参数:年、月、日的信息
int date_legal(int year,int
大型综合程序范例解析通讯录-函数设计int file_app(myrecord *p) 添加一条新的记录项
file.c文件处理文件
参 数:要录入的记录项的指针 返 回 值:操作结果(插入成功返 回1,失败返回0) 参 数:下标值 返 回 值:读取结果的指针 参 数:指向记录项的指针和要 写入的块位置 返 回 值:操作结果(插入成功返 回1,失败返回0) 参 数:指向查询项的指针和查 询类型 返 回 值:符合条件的记录项总数 (如果是0则查找失败) 参 数:下标值 返 回 值:操作结果(插入成功返 回1,失败返回0)
myrecord *read_record(int n)
从文件中读出下标为n的块(记录项)
int write_record(myrecord *p,int n)
向文件中写入某一块(如果该块已经存在 ,将进行覆盖)
int file_search(search_entry *s,int f)
对存储文件进行遍历,查找符合输入的记 录项并输出
int file_delete(int n)
删除文件中某个记录块
大型综合程序范例解析通讯录-函数设计control.c控制文件
void append(void) void delet(void)
执行数据录入操作 执行数据记录项删除操作
调用input_app()完成数据录入,调用 file_app()完成数据保存。 调用file_search查找要删除的记录,然后 调用file_delete()进行删除 调用searchmenu()进入查找的菜单,调用 input_search(ch)获得要查找的内容, file_search()进行查找 调用input_num()输入待修改的记录,调 用file_search()进行查找,调用 input_new()输入新的内容,调用 write_record()进行更新 打开文件,遍历所有记录并输出 调用fopen()打开文件,初始化 关闭文件,退出系统
void search(void)
执行数据查找操作
void change(void)
执行数据记录项修改操作
void list_all(void) void init(void) void quit(void)
列出当前所有联系人信息 系统初试化操作,保证文件的正确性和合法性 系统退出函数,写回文件以保证数据的一致性
大型综合程序范例解析通讯录-程序运行示意图
正在阅读:
C语言大型综合程序范例08-13
二年级语文试卷及答案01-19
课程设计论文范本105-14
文体广电局加快公共文化发展计划(参考)06-03
高二数学下学期第一次月考试题新人教A版03-24
湖北省城市居民最低生活保障实施办法 【湖北省人民政府令第228号06-16
活塞连杆组教学说课05-04
500个注音高频字08-15
运动健康知识在线考试试题库(网球部分)05-03
小学生一年级课外活动的作文06-14
- 供应商绩效评价考核程序
- 美国加州水资源开发管理历史与现状的启示
- 供应商主数据最终用户培训教材
- 交通安全科普体验教室施工方案
- 井架安装顺序
- 会员积分制度
- 互联网对美容连锁企业的推动作用
- 互联网发展先驱聚首香港
- 公司文档管理规则
- 机电一体化系统设计基础作业、、、参考答案
- 如何选择BI可视化工具
- 互联网产品经理必备文档技巧
- 居家装修风水的布置_家庭风水布局详解
- 全省基础教育信息化应用与发展情况调查问卷
- 中国石油--计算机网络应用基础第三阶段在线作业
- 【知识管理专题系列之五十八】知识管理中如何实现“场景化协同”
- 网络推广方案
- 中国石油--计算机网络应用基础第二阶段在线作业
- 汽车检测与维修技术专业人才培养方案
- 详解胎儿颈透明层
- 范例
- 语言
- 大型
- 程序
- 综合