记得采纳啊
简单通讯录管理程序,代码如下:#include<stdio.h>
#include
<string.h>
#include
<stdlib.h>
typedef
struct
student
*ST
struct
student
{
char
stN[20]
char
stVal[128]
char
stNo[10]
char
stTel[12]
ST
next
}
ST
head
=
NULL
int
ShowNode()
{
char
no[20]
=
{0}
ST
t
printf("输入姓名:")
scanf("%s",
no)
for
(t
=
head
t
t
=
t->next)
{
if
(!memcmp(t->stN,
no,
strlen(no)))
{
printf("姓名:%s,
地址:%s
邮编:%s
电话:%s\n",
t->stN,
t->stVal,
t->stNo,
t->stTel)
return
0
}
}
printf("无此人信息\n")
return
0
}
int
ChangeNode()
{
char
no[20]
ST
t
printf("输入姓名:")
scanf("%s",
no)
for
(t
=
head
t
t
=
t->next)
{
if
(!memcmp(t->stN,
no,
strlen(no)))
{
printf("输入新的记录:\n")
printf("地址:")
scanf("%s",
t->stVal)
printf("邮编:")
scanf("%s",
t->stNo)
printf("英语成绩:")
scanf("%s",
t->stTel)
return
0
}
}
printf("无此人信息\n")
return
0
}
int
InsertNode()
{
ST
t
t
=
(ST)malloc(sizeof
*t)
printf("输入姓名:")
scanf("%s",
t->stN)
printf("输入地址:")
scanf("%s",
t->stVal)
printf("输入邮编:")
scanf("%s",
t->stNo)
printf("输入电话:")
scanf("%s",
t->stTel)
t->next
=
head
head
=
t
return
0
}
int
DelNode()
{
ST
x,
y
char
no[20]
=
{0}
printf("输入姓名:")
scanf("%s",
no)
for
(x
=
y
=
head
x
y
=
x,
x
=
x->next)
{
if
(!memcmp(x->stN,
no,
strlen(no)))
{
if
(x
==y)
{
x
=
head
=
head->next
y->next
=
NULL
free(y)
return
0
}
else
{
y->next
=
x->next
x->next
=
NULL
free(x)
return
0
}
}
}
printf("无此学生\n")
return
0
}
int
main(void)
{
int
i
while(1)
{
printf("查询记录:1\n"
"更改记录:2\n"
"插入记录:3\n"
"删除记录:4\n"
"退出:5\n")
scanf("%d",
&i)
if
(1==i)
{
ShowNode()
}
else
if(2==i)
{
ChangeNode()
}
else
if(3==i)
{
InsertNode()
}
else
if(4==i)
{
DelNode()
}
else
if(5==i)
{
break
}
else
{
printf("输入错误!请重新输入!\n")
continue
}
}
return
0
}
#include#include#include#defineM500structMan//定义结构体{charName[8]//名字charDepart[20]//工作单位charQQ[10]//QQ号码charEmail[30]//邮箱}voidtext()//相当于主函数voidtext1()//菜单输出chartext2()//开始的版权信息输出intDelete(ManMan[],intSize)//删除信息voidDisplay(Manman[])//显示所有记录voidgetch()intInsert(ManMan[],intSize)//插入模块voidModify(ManMan[],intSize)//修改模块intS_asname(ManMan[],intSize,intn)//查找信息voidS_asqq(ManMan[],intSize)//按QQ查找模块intSave(ManMan[],intSize)//把数据写入文件intScan(ManMan[])//从文本中读取数据voidmain()//主函数{text()//(这边纯属蛋疼,最多加长系统运行时间)}voidtext()//相当于主函数{Manman[M]//500人的结构体数组charcontrol=0//菜单选择控制变量intsize=0//保存当前已有的记录if(text2())//这边可不要if,直接调用text2,显示版权信息。{size=Scan(man)//判断文件是否存在while(1)//菜单生成{text1()//菜单显示scanf(欢迎分享,转载请注明来源:内存溢出
评论列表(0条)