电话簿管理程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.设计内容:电话薄管理程序
存储的数据包括:人名,工作单位,电话号码和E-mail地址
有如下功能:
1)加入一个新的电话号码
2)删除一个电话号码
3)显示保存的已有的电话号码
4)修改功能
5)排序功能(按电话号码,按姓名字母顺序)
6)查询功能(按人名查电话号码,按电话号码查人名)
要求:1)程序运行开始,首先显示一个命令菜单。用户选择那条命令,就调用那项功能。
2)显示数据时,一页显示不下,可以分页显示。
1、设计目的
通过本次课程设计了解指针、函数、文件、链表等在实际中的具体应用及他们各自特点,并通过这次实习能达到熟练应用c语言来编辑一些简单的可以在生活中使用的程序的目的,而且学会添加、删除、修改、排序、查找、显示等功能在c语言下的实现。
2、
3、程序代码
#include
#include
#include
#include
char filename[20]="E:\\tx123.txt";
struct phone /*定义结构体变量*/
{
char name[10]; /*存放姓名*/
char mobile[15]; /*存放手机号码*/
char phone[15]; /*存放家庭电话*/
char company[20]; /*存放工作单位*/
char add_Email[20]; /*存放Email地址*/
struct phone *next; /*存放下一个节点的地址*/
};
typedef struct phone tel; /*重命名*/
tel *head=NULL;
int z=1,x=1; /*标记量x,z*/
void showmenu(); /*显示功能菜单*/
void add( ); /*控制添加记录*/
void creat(); /*添加记录并按姓名排序*/
void modify(); /*修改记录函数*/
void searchshow(); /*查找功能显示*/
tel *search(); /*查找菜单*/
tel *searchname(); /*按人名查找*/
tel *searchmob(); /*按手机号码查找*/
tel *searchph(); /*按家庭号码查找*/
void del(); /*删除记录函数*/
void show(); /*显示全部记录*/
void save(); /*保存函数*/
void openfile(); /*输出文件到链表*/
void fre(); /* 释放链表空间*/
void showmenu() /*显示功能菜单*/
{ int i;
clrscr();
for(i=0;i<80;i++)
printf("%c",14);
printf("\n\t\t********************************************\n"); printf("\t\t\t欢迎使用通讯录管理系统");
printf("\n\t\t********************************************\n"); printf("\n\n\t\t\t******请选择你的操作******\n");
printf("\t\t\t +-------------------------------+\n");
printf("\t\t\t | 1 增加记录|\n");
printf("\t\t\t | 2 修改记录|\n");
printf("\t\t\t | 3 查找记录|\n");
printf("\t\t\t | 4 删除记录|\n");
printf("\t\t\t | 5 显示全部记录|\n");
printf("\t\t\t | 0 退出|\n");
printf("\t\t\t +-------------------------------+\n");
printf("\n\n\t注意!!输入电话号码或Email要在英文状态下,中文状态无法输入!!\n\n"); printf("请在0--6选择:\n");
for(i=0;i<80;i++)
printf("%c",14);
}
void add( ) /*控制添加记录*/
{
int x=1;
printf("开始添加纪录,在添加记录过程中按0 停止添加\n");
while(x!=0)
{
do
{ creat();
printf("操作完成\n");
break;
}while(1);
printf("按0结束添加!!按其他数字键,继续添加!!!\n");
scanf("%d",&x);
if(x==0)
{ save();
system("cls");
}
}
}
void creat() /*添加记录并按姓名排序*/
{ int i;
tel *new,*p1,*p2;
new=(tel *)malloc(sizeof(tel));
aa: printf("\t\t\t请输入姓名:");
scanf("%s",new->name);
printf("\t\t\t请输入工作单位:");
scanf("%s",new->company);
printf("\t\t\t请输入手机号码:");
scanf("%s",new->mobile);
printf("\t\t\t请输入家庭电话:");