#+

C语言程序设计

——通讯录管理系统

组长: 姚士平 组员: 胡恒山 芮青荣

南京邮电大学电气信息工程B100509班

2011

※实习前论:

实习的目的、要求与内容

一、实习的目的和要求

经过了一个学期对C语言的学习,大家对C语言有了一定的认识。在此基础上,为了加深对C语言课程所学知识的理解,进一步巩固C语言算法规则,学会编制结构清晰、风格良好、数据结构适当的C程序,从而具备解决综合性问题的能力,特设此课程实习内容,通过完成一项具体的程序来检验对所学知识的掌握情况。要求能够完成一项完整并且具有初步实用性,经编写调试,确保能够正常运行的小型程序。

二、实习所涉及的内容

实习内容所涉及的均为C语言的基础知识,包括:数据类型(整型、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数定义与调用)等,以及进一步掌握各种函数的应用以及文件的读写操作等。

※实习细述:

通讯录管理系统

一、程序功能:

1、完成通讯录信息的管理,包括添加、修改、删除、查询功能。尽量丰富联系人的各项信息。

2、能够根据联系人的信息单独或分类查询。

3、联系人的生日提醒功能。

二、设计思路

所有成员的记录用结构体数组存储,每个结构体包括姓名、性别、生日、电话号码、电子邮箱、家庭住址及分类七个字符型数组;上述的各项功能由定义函数分别实现,由主函数控制各个函数的调用;整个程序产生于文本界面,通过一些字符简单对界面进行装饰。具体的各个函数设计思路如下:

1、导入通讯录函数:通过fopen函数打开指定文件,并用fread函数将文件内的数据读入结构体数组中,这两个标准库函数都定义在stdio.h头文件中。整个函数的返回值为整型i,用来并表示导入的数据成员个数,而后将该值赋给全局变量count用来计数。

2、保存文件函数:通过将文件名字符串作为参数传入,用fwrite函数将当前结构体数组中的全部数据写入文件中并关闭文件。该函数无返回值。

3、分类显示成员信息函数:无参数传入,无返回值,用户根据提示输入指令,用switch语句分析指令并遍历所有结构体数据,将符合的数据输出。该函数也没有返回值。

4、录入新成员信息函数:该函数没有参数,通过提示用户输入数据;当输入的姓名或电话号码重复时,提示用户重复并重新输入;被录入一个完整的新数据后让全局变量n自增,并将其作为函数的返回值返回。

5、查找记录函数:将用户要找的成员姓名作为参数传入,遍历所有结构体并找出符合的输出,若输出成功则可以继续查找,用户所输姓名不存在则输出用户名不存在。

6、删除记录函数:将用户要删除的成员姓名作为参数传入,遍历所有结构体并找出符合的删除,并将后面的所有数据向前移动一个位置,返回值同查找记录函数。

7、修改记录函数:将用户要修改的成员姓名作为参数传入,遍历所有结构体并找出符合的,依次提示修改项目,由用户输新数据并保存,返回值同查找记录函数。

8、拨号功能函数:无参数传入,显示已存入的所有成员的姓名,由用户选择拨打电话的姓名,依次显示电话号码的各个数字,并用Sleep函数设置一定时间的延时以表现号码依次输出的效果,该函数包含在windows.h头文件中。成功拨号则返回整数1,输入了错误的姓名则返回0。

9、主函数:用switch语句来判断用户输入的指令,转向具体的函数来执行,并根据函数的返回值判断执行结果并予以提示。主函数中用exit(0);语句结束程序,并在结束前提示用户保存数据。

整个程序由上述9个函数组成。此外,源程序将结构体数组和计数变量count以及文件指针fp设为全局变量,目的是为了让所有函数都能正常使用这几个变量,保证整个程序的正常运行。

三、程序源代码及注释

#include

#include

#include

#include

#define count 20

typedef struct Birthday

{

int day;

int month;

int year;

}Birthday;

typedef struct Student

{

char name[10];

char sex[5];

Birthday date;

char phone[10];

char email[10];

char address[10];

char others[10];

}stud;

FILE *fp;

FILE *fp2;

FILE *fp3;

int n=0;

计划完成提醒系统C语言,通信录管理计划系统C语言知识程序设计.doc相关推荐

  1. 停车场自动计费系统 c语言,数据结构用c语言实现停车场管理完整系统.doc

    数据结构用c语言实现停车场管理完整系统 题目:用C语言实现停车场管理程序的设计 天津农学院 11计算机系计科 小组成员: 王亚洲 1108014219 王浩轩 1108014208 穆建良110801 ...

  2. 校友录管理系统设计c语言,校友录管理系统分析设计分析.doc

    校友录管理系统分析设计分析 校友录管理系统概要设计 姓 名:龙云所 学 院:传媒与信息工程 专 业:12软件 学 号:20121112118 指 导 教 师:刘春华 目录: 一 ........... ...

  3. UltraISO刻录系统光盘或刻录U启系统

    1.用管理员身份运行UltraISO 刻录软件,继续试用即可: 2.1 刻录系统光盘: 打开菜单栏工具-->刻录光盘映像.点击映像文件后面的三个...选择系统盘iso文件.其他默认,进行刻录. ...

  4. 测速的c语言程序,M法T法测速单片机程序设计.doc

    M法T法测速单片机程序设计 M法.T法测速单片机程序设计 摘 要 本设计为M法.T法测速的单片机程序设计.使用STC89C52单片机作为控制器,使用该单片机的外部中断和定时器对编码器的输出的脉冲进行采 ...

  5. C语言学生成绩管理系统文档版,C语言学生信息管理系统(完整版)总结.docx

    电子科技大学成都学院 程序综合设计论文 论文题目 学生信息管理系统 学生姓名 魏国 学 号 1340840625 专 业 机械设计制造及其自动化 系(分院) 电子工程系 授课教师 杜娥 2015年12 ...

  6. c语言学生成绩管理论文,用c语言实现一个学生成绩管理系统.doc

    用c语言实现一个学生成绩管理系统.doc 还剩 15页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: 第 16 ...

  7. 计算机在无纸化办公系统中应用属于,福建省闽侯职专计算机基础知识练习题.doc...

    福建省闽侯职专计算机基础知识练习题 ?福建省闽侯职专计算机基础知识练习题 1.当前,计算机正朝着巨型化.微型化.智能化和______ 发展 A)信息化 B)网络化 C)数据化 D)集成化 2.当前电子 ...

  8. C语言学生成绩管理设计总结,C语言课程设计学生成绩管理系统个人总结

    C语言课程设计学生成绩管理系统个人总结 C语言课程设计--学生成绩管理系统 个人心得体会 (徐州工程学院 14计嵌1班 07组 张凯) 这一周以来的课程设计,不仅让我明白了C语言的确是一门很有用的,但 ...

  9. c语言学生成绩管理实验报告,C语言 学生成绩管理系统实验报告.doc

    ... WORD格式可编辑版 学生成绩管理系统实验报告 ㈠实验名称: 学生成绩管理系统 ㈡实验目的: 1)利用所学的三种程序基本结构以及数组.用户自定义函数进行一个简单管理系统的设计,进一步理解和掌握 ...

最新文章

  1. python zipfile教程_Python模块zipfile原理及使用方法详解
  2. 【深度学习下一大突破】吴恩达对话 Hinton、Bengio、Goodfellow(视频)
  3. 云服务器 ECS Linux 系统下使用 dig 命令查询域名解析
  4. php 反向截取,反向PHP功能
  5. |(与或移位等)的工程运用
  6. js实现同时提交多个表单
  7. 【bzoj4444】[Scoi2015]国旗计划 倍增
  8. 切换dns批处理模板
  9. AR+教育意义巨大,将对行业未来产生深远影响
  10. ROM制作,专属个性的亮光点
  11. 让划动 listview时 没有黑色背景
  12. uri和url的区别与联系(一看就理解)
  13. google开发者大会的倒计时动画,没有用Flash
  14. webpack性能优化
  15. Windows 入侵痕迹清理技巧
  16. stm32单片机里面的GPIO是什么意思?
  17. 华为P30 后摄像头打不开(C1904失效)维修案例
  18. cad命令栏怎么调出来_期货文华软件K线图上随着最新价格跳动的黄虚线怎么调出来...
  19. 位图(BMP)文件格式(一)
  20. 《妥协的完美主义—优秀产品经理的实践指南(卷一)》一1.3 UCD工作方法

热门文章

  1. make: *** [out/target/common/obj/APPS/Phone_intermediates/classes-full-debug.jar] 错误 41
  2. LINUX使用tcgetattr函数与tcsetattr函数控制终端二
  3. 【PC工具】常用USB转串口芯片CP210x驱动,CH340G驱动安装有可能遇到的问题及解决办法...
  4. 瞬变电磁法的基本原理与TEM正演技术
  5. WCF 第五章 控制并发调用的数量
  6. 【Python】 获取MP3信息replica
  7. jQuery和AngularJS的区别小分析
  8. 打开.264后缀名格式的文件
  9. Windows平板电脑将取代苹果在企业市场地位
  10. Tasklets 机制浅析