- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言 通讯录管理系统.txt“我羡慕内些老人 羡慕他们手牵手一直走到最后。━交话费的时候,才发现自己的话那么值钱。题目十一:学生通讯录管理系统设计
设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:姓名、家庭地址、邮政编码、电话号码等等),通信录数据类型定义为结构体类型。
1.主要功能:
(1) 能建立、修改和增删学生通讯录
(2) 能够按多种方式进行查询
2.要求:界面友好,易于操作,采用二进制文件存储数据。
#include stdio.h
#include string.h
#include stdlib.h
struct student
{
char name[32];
char tel[15];
char email[30];
int relationType;
char relationName[32];
};
typedef struct lnode
{
struct student studentInfo;
struct lnode *next;
}listnode,*linklist;
listnode head;
linklist tail;
//函数声明
void Add(); //添加记录;
void Show(); //显示记录;
void Query(); //查询记录;
void Sort(); //通信录排序;
void Delete(); //删除记录;
void Update(); //更新记录;
void ShowWithRelation(); //按关系显示记录;
void Save(); //保存记录;
void Load(); //读入记录;
//常量定义
char strRelationType[][5]=
{
没有,
亲戚,
朋友,
同事,
同学
};
void InputStudentInfo(struct student * s)
{
printf(姓名:);
gets(s-name);
printf(电话:);
gets(s-tel);
printf(E-mail:);
gets(s-email);
printf(是否有相关姓名?\n0.没有 1.亲戚 2.朋友 3.同事 4.同学\n);
scanf(%d,s-relationType);
getchar();
if(s-relationType)
{
printf(相关姓名:);
gets(s-relationName);
}
}
void ShowStudentInfo(struct student * pInfo)
{
printf(name:%s\n,pInfo-name);
printf(tel:%s\n,pInfo-tel);
printf(email:%s\n,pInfo-email);
if(pInfo-relationType)
{
printf(%s:%s\n,strRelationType[pInfo-relationType],pInfo-relationName);
}
}
linklist * Search(char *name) /*此函数用于对通讯录中指定信息的查询*/
{
linklist *pp=(head.next);
while( (*pp) strcmp(name,(*pp)-studentInfo.name))
pp=((*pp)-next);
return pp;
}
void DeleteList(linklist p)
{
if(p-next)
{
DeleteList(p-next);
}
free(p);
}
void main()
{
int select;
tail=head;
head.next=NULL;
do
{
printf(\n-------------------------------------------------);
printf(\n\nPlease make a choice :\n);
printf((1)添加记录\t);
//先判断链表是否已经存在。若不存在,需首先自动新建一个链表,然后再添加一条或多条通讯记录。
printf((2)显示记录\t);
//显示当前所有记录。
printf((3)查询记录\n);
//按名字查找,并显示该记录。
printf((4)通信录排序\t);
//按姓名的字母顺序排序,涉及到冒泡等排序算法。
printf((5)删除记录\t);
//实现逐条删除和删除全部记录两种功能。
printf((6)更新记录
您可能关注的文档
- 2013年新仁爱版七年级上册英语第四单元试卷Unit4试题.doc
- 初中语文教师个人专业发展规划_343406.doc
- 20169中国医科大学2016年9月补考《医学科研方法学》考查课试题剖析.docx
- 【毕业论文】中学数学在实际生活中的应用.docx
- 2013年中国农业银行福建 江西 河南 湖北省分行春季校园招聘考试笔试复习资料 历年考试真题.doc
- 全国2013年04月自学考试00510《秘书实务》历年真题及答案.doc
- 2013年湖南永州综合职中文秘专业第一次月考试题(附答案).doc
- 2014年初级及以下企业类会计人员继续教育 课堂练习.doc
- 2015尔雅考试 项目管理学.doc
- 2015年西南大学《钢结构设计》[0759]大作业必威体育精装版标准答案.doc
文档评论(0)