900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 计划完成提醒系统C语言 通信录管理计划系统C语言知识程序设计.doc

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

时间:2023-05-23 21:18:43

相关推荐

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

#+

C语言程序设计

——通讯录管理系统

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

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

※实习前论:

实习的目的、要求与内容

一、实习的目的和要求

经过了一个学期对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;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。