当前位置:文档之家› 数据结构单位员工通讯录管理系统实验报告

数据结构单位员工通讯录管理系统实验报告

printf("\n");
printf(" 6.修改人员信息");
printf("\n");
printf(" 0.退出并保存");
printf("\n");
printf("请选择0-6:");
scanf("%d",&i);
while(i<0||i>6)
{
printf("系统提示:您输入错误!\n");
p=p->next;
}
}
Dnode *Change(Dnode *head,char k[])
{
Dnode *q;
q=research(head);
if(q==0)
{
printf("没有要修改的信息!\n");
return 0;
}
else
{
int i;
k[15]='\0';
printf("编号姓名办公室电话手机号码邮箱\n");
#include <string.h>
#include<stdlib.h>
typedef struct
{
char num[5];
char name[15];
char phone[13];
char call[15];
char e_mail[30];
}datatype;
typedef struct node
int menu()
{
int i;
printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
printf("\n");
printf("通讯录系统清单\n");
printf("\n");
printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
return;
}
printf("要删除该结点吗?(y/n) :");
scanf("%c",&a);
if(a=='y'||a=='Y')
{
q=head;
while(q!=NULL&&q->next!=p)
q=q->next;
q->next=p->next;
free(p);
printf("通讯者已经被删除\n");
printf("请输入要改的姓名:\n");
getchar();
gets(k);
printf("\n");
strcpy(q->,k);
break;
case 2: printf("修改办公室电话号码----\n");
strcpy(q->data.phone,k);
printf("请输入要修改的号码:\n");
}
if(x==3)
{
printf("请输入要查询者的办公室电话号码:");
scanf("%s",phone);
while(p&&strcmp(p->data.phone,phone)!=0)
p=p->next;
}
if(x==4)
{
printf("请输入要查询者的手机号码:");
scanf("%s",call);
软件:WindowsXP及以上操作系统、Visual C++6.0版本。
四、实验内容、步骤与结果
期末大作业:
单位员工通讯录管理系统(线性表应用)
[问题描述与要求]
为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的办公室电话、手机号、及电子邮箱。其功能包括通讯录链表的建立、员工通讯信息的查询、修改、插入与删除、以及整个通讯录表的输出。
scanf("%c",&c);
}
rear->next=NULL;
return head;
}
void Add(Dnode *head,Dnode *p)
{
Dnode *p1;
Dnode *p2;
p1=head;
p2=p1->next;
while(p2!=NULL&&strcmp(p2->data.num,p->data.num)< 0)
printf("请重新输入0-6: ");
scanf("%d",&i);
printf("\n\n");
}
return i;
}
Dnode *createlist()
{
Dnode *head=(Dnode *)malloc(sizeof(Dnode));
Dnode *p;
Dnode *rear;
char c='n';
strcpy(q->data.e_mail,k);
break;
default : printf("输入错误!\n");
break;
}
}
return q;
}
void Saveandfree()
{
linklist *p=NULL;
FILE *fp;
char *ziliao="ziliao.txt";
if(head==NULL)
宁夏师范学院数学与计算机科学学院
《数据结构实验》实验报告
实验序号:14实验项目名称:期末大作业
学 号
2016210556
姓 名
韩雪萍
专业班级
16级计本一班
实验地点
文科楼222
指导教师
康凯
时间
2017.12.28
一、实验目的
二、实验要求
三、实验设备(环境)及要求
1.环境要求:
硬件:PC(P 以上,128M以上内存);
getchar();
gets(k);
printf("\n");
strcpy(q->data.phone,k);
break;
case 3: printf("修改电话号码----\n");
strcpy(q->data.call,k);
printf("请输入要修改的号码:\n");
getchar();
gets(k);
Dnode *research(Dnode *head);
void Delete(Dnode *head);
void print_list(Dnode *head);
Dnode *Change(Dnode *head,char k[]);
void Saveandfree();
void Open();
[实现提示]
可以采用单链表的存储结构,如可定义如下的存储结构:
typedef struct { /*员工通讯信息的结构类型定义*/
char num[5]; /*员工编号*/
char name[10]; /*员工姓名*/
char phone[15]; /*办公室电话号码*/
char call[15]; /*手机号码*/
p=NULL;
}
if(x==2)
{
printf("请输入要查询者的姓名:");
scanf("%s",name);
while(p&&strcmp(p->,name)!=0)
p=p->next;
}
scanf("%c",&b);
if(p==NULL)
{
printf("对不起没有您要查询者的信息\n");
rear=head;
while(c=='n')
{
p=(Dnode *)malloc(sizeof(Dnode));
printf("请输入编号: \n");
scanf("%s",p->data.num);
printf("请输入姓名: \n");
scanf("%s",p->);
printf("请输入办公室电话: \n");
printf("\n");
printf(" 1.通讯录的建立");
printf("\n");
printf(" 2.添加人员信息");
printf("\n");
printf(" 3.删除人员信息");
printf("\n");
printf(" 4.查询人员信息");
printf("\n");
printf(" 5.输出人员信息");
}DataType;
/*通讯录单链表的结点类型*/
typedef struct node
{ DataType data; /*结点的数据域*/
struct node *next; /*结点的指针域*/
相关主题