C语言实现通讯录Word文件下载.docx
《C语言实现通讯录Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言实现通讯录Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
修改时间:
2011年11月26日
#include<
stdio.h>
stdlib.h>
malloc.h>
string.h>
//用于strcmp的头文件
#define
LEN
sizeof(struct
member)
FILE
*fp;
int
numBianhao=0;
//全局变量,用于控制通讯录编号
typedef
struct
member
{
num;
//编号
char
name[10];
//姓名
sex[6];
//性别
tel[15];
//电话
city[10];
//城市
qq[13];
//QQ号码
member
*next;
}Node;
void
jieEnter()
//接收单个字符时,判断回车符前是否有其它字符,如有接收
ch;
ch=getchar();
while(ch!
=10)
}
//************************************************************************************
outTxl(Node
*head)
//写入文件
Node
*p1;
fp=fopen("
txl.txt"
"
w"
);
p1=head->
next;
while(p1!
=NULL)
fprintf(fp,"
%d
%s
%s\n"
p1->
num,p1->
name,p1->
sex,p1->
tel,p1->
city,p1->
qq);
p1=p1->
fclose(fp);
*inTxl()
//读取文件
r"
*head,
*p1,
*p2,
*z;
head=(Node
*)malloc(LEN);
p1=(Node
head->
next=p1;
p2=head;
while(fscanf(fp,"
&
p1->
qq)!
=EOF)
numBianhao++;
p2=(Node
next=p2;
z=p1;
p1=p2;
p2=z;
p2->
next=NULL;
return
head;
//**************************************************************************************
//通讯录的创建
printCreat()
printf("
\n"
\t\t$$=============================================$$\n"
\t\t||
||\n"
创
建
新
的
通
讯
录
*Create()
x;
*p2;
p1=p2=(Node
next=p1=p2;
num=numBianhao;
while
(1)
printCreat();
num=++numBianhao;
\t\t请
输
入
第
条
记
信
息
!
num);
姓
"
scanf("
%s"
name);
性
别:
sex);
电
话:
tel);
城
市:
city);
QQ:
\t\t是
否
继
续
添
加
?
\n\t\t继
入‘Y’,退
出
入‘N’"
getchar();
x=getchar();
jieEnter();
if(x=='
Y'
||x=='
y'
)
system("
CLS"
else
break;
//添加通讯录
printAdd()
Add(Node
*head)
//
a"
p1=head;
while(p1->
next!
=NULL)
//找到通讯录链表的尾端
next=(Node
printAdd();
//删除通讯录
printDelete()
\t
$$===================================================$$\n"
||
删
除
某
人
del(Node
*head,Node
*d)
//找到要删除的结点后删除该结点
*p,*q;
p=head;
q=d;
while(p->
=d)
p=p->
p->
next=d->
free(q);
//删除后把后面的记录的编号减一
num--;
numBianhao--;
//编号减一
Delete(Node
name[10],x,xShanchu;
printDelete();
要
name);
if(strcmp(name,p1->
name)==0)
您
是:
$-----------------------------------------------------$\n"
|编号
姓名
性别
电话\t
城市\t
QQ
|\n"
|-----------------------------------------------------|\n"
|
%-4d%-8s
%-13s
%-8s
%-11s|\n"
确
认
除‘Y’,返
回
入‘N’:
xShanchu=getchar();
if(xShanchu=='
||xShanchu=='
del(head,p1);
//删除
成
功!
if(p1==NULL)
没
有
找
到
此
录!
入‘Y’,退
前面已经接收了回车符,此处不能再接收了。
//修改通讯录
printAlter()
修
改
Alter(Node
printAlter();