如何制作简易电子版通讯录_学生通讯录的制作
如何制作简易电子版通讯录_学生通讯录的制作
对以下通讯录选用顺序表或单链表进行存储,设计一个程序实现:
(1)显示通讯录中所有记录。
(2)查找并输出学生姓名为张江的学生的所有信息。
(3)在通讯录中的第三行添加一个新同学的信息(内容自定)。
(4)删除通讯录中第五行的学生信息。

#include
#include
#include
typedef struct
{
int xh;
char name[10];
char tel[11];
}STU;
typedef STU elemtype;
typedef struct
{
elemtype data[10];
int length;
}sqlist;
void main()
{
void Lnitlist(sqlist *&L);
void cin(sqlist *&L,int a);
void cout(sqlist *&L);
void seek(sqlist *L);
bool ListInsert(sqlist *&L);
bool ListDelete(sqlist *&L);
void endcout(sqlist *&L);
sqlist *L;
int a;
printf(“你需要输入几个学生的信息n”);
scanf(“%d”,&a);
Lnitlist(L);
cin(L,a);
cout(L);
seek(L);
ListInsert(L);
ListDelete(L);
endcout(L);
}
void Lnitlist(sqlist *&L)
{
L=(sqlist *)malloc(sizeof(sqlist));
L->length=0;
}
void cin(sqlist *&L,int a)
{
int i;
for(i=0;i<a;i++)
{
printf(“请分别输入学号,名字,电话n”);
scanf(“%d%s%s”,&L->data[i].xh,L->data[i].name,&L->data[i].tel);
}
L->length=a;
}
void cout(sqlist *&L)
{
int i,s=L->length;
for(i=0;i<s;i++)
printf(“学号为%d的同学叫%s电话为%s的n”,L->data[i].xh,L->data[i].name,L->data[i].tel);
}
void seek(sqlist *L)
{
char s[10],*p;
p=s;
int i,j=1;
elemtype e;
printf(“请输入姓名n”);
while(j)
{
scanf(“%s”,s);
for(i=0;ilength;i++)
{
if(strcmp(p,L->data[i].name)==0)
{
e=L->data[i];
j–;
printf(“%s同学的学号为%d电话为%sn”,p,e.xh,e.tel);
break;
}
}
if(i==L->length)
printf(“查无此人,请重新输入n”);
}
}
bool ListInsert(sqlist *&L)
{
int i,j;
elemtype e;
printf(“请输入新同学信息n”);
scanf(“%d%s%s”,&e.xh,&e.name,&e.tel);
printf(“你要把他放在第几位?n”);
scanf(“%d”,&i);
if(i<1 i="">L->length+1)
return false;
i–;
for(j=L->length;j>i;j–)
L->data[j]=L->data[j-1];
L->data[i]=e;
L->length++;
return true;
}
bool ListDelete(sqlist *&L)
{
int i,j;
printf(“请输入你要删除第几个同学n”);
scanf(“%d”,&i);
if(i<1 i="">L->length)
return false;
i–;
for(j=i;jlength-1;j++)
L->data[j]=L->data[j+1];
L->length–;
return true;
}
void endcout(sqlist *&L)
{
int i,s=L->length;
for(i=0;i<s;i++)
printf(“学号为%d的同学叫%s电话为%s的n”,L->data[i].xh,L->data[i].name,L->data[i].tel);
}
运行
你需要输入几个学生的信息
5
请分别输入学号,名字,电话
178101 杨文 13788041567
请分别输入学号,名字,电话
178102 张江 13478920019
请分别输入学号,名字,电话
178103 刘龙 15077471314
请分别输入学号,名字,电话
178104 黄丽 15834372384
请分别输入学号,名字,电话
178105 周勇 18977413478
学号为178101的同学叫杨文电话为13788041567的
学号为178102的同学叫张江电话为13478920019的
学号为178103的同学叫刘龙电话为15077471314的
学号为178104的同学叫黄丽电话为15834372384的
学号为178105的同学叫周勇电话为18977413478的
请输入姓名
张江
张江同学的学号为178102电话为13478920019
请输入新同学信息
178106 王辉 13623778223
你要把他放在第几位?
3
请输入你要删除第几个同学
5
学号为178101的同学叫杨文电话为13788041567的
学号为178102的同学叫张江电话为13478920019的
学号为178106的同学叫王辉电话为13623778223的
学号为178103的同学叫刘龙电话为15077471314的
学号为178105的同学叫周勇电话为18977413478的
解题分析
通讯录中每个学生的信息作为一个数据元素,其类型可定义为:
typedef struct
{ int xh;
char xm[10];
int tel;
}STU;
以顺序表作为存储结构时,顺序表的类型可定义为:
typedef STU ElemType;
typedef struct
{ ElemType data[10];
int length;
}SqList ;
以单链表作为存储结构时,单链表中每个结点的类型可定义为:
typedef STU ElemType;
typedef struct LNode
{ ElemType data;
struct LNode *next;
} LinkNode ;
题目要实现的功能:
(1)显示通讯录中所有记录。
(2)查找并输出学生姓名为张江的学生的所有信息。
(3)在通讯录中的第三行添加一个新同学的信息(内容自定)
(4)删除通讯录中第五行的学生信息。
实现以上功能就是要编写主调函数来调用顺序表或单链表的基本运算算法。
如:先调用初始化运算完成建立一个空的顺序表或单链表,然后输入通讯录的所有信息,从而得到一个非空顺序表或单链表…….
在已得到非空表的基础上,再通过调用输出、查找、插入和删除顺序表或单链表元素的运算算法来完成各项功能。
关键搞清楚算法调用时要提供哪些参数,这些参数要根据所属的类型在调用前先定义好。
-
- 火啦!死亡芭比粉原来也可以涂得这么好看!
-
2025-11-11 01:50:19
-
- 河南许昌第一大企业掌门人——李俊涛
-
2025-11-11 01:48:04
-
- 面积最小的大洲 大洋洲有多少个国家
-
2025-11-11 01:45:49
-
- 突然崛起:三年收入 1000 亿,创始人极为低调
-
2025-11-11 01:43:34
-
- 河南焦作交警:焦作市机动车限行正式开始 今天(星期一)机动车限行尾号1和6
-
2025-11-11 01:41:19
-
- 盘点十款科学小玩具(这些网红科学小实验玩具)
-
2025-11-11 01:39:04
-
- 直播间的黄金首饰是不是真的(在网上怎么买到真正的黄金首饰)
-
2025-11-10 22:06:54
-
- 东莞隐贤山庄自由行攻略(不容错过的东莞隐贤山庄)
-
2025-11-10 22:04:39
-
- 沈阳自贸区详细地址(沈阳自贸区挂牌近一年半)
-
2025-11-10 22:02:23
-
- 为马云挡子弹保镖,年入百万,今拒绝10倍年薪留国
-
2025-11-10 22:00:08
-
- 陕西单身部落(陕西单身来集合)
-
2025-11-10 21:57:53
-
- 俄罗斯-莫斯科-圣彼得堡经典双城9天浪漫自由行攻略(二)地铁篇-实用莫斯科-圣
-
2025-11-10 21:55:38
-
- 北京市2025年校外培训机构白名单(北京12区公布首批学科类校外培训机构白名
-
2025-11-10 21:53:23
-
- 掌握这7个构图技巧,让你的摄影作品瞬间提升档次
-
2025-11-10 21:51:08
-
- 拉手网团购网站广州(拉手被拉手)
-
2025-11-10 21:48:53
-
- 印度真的能与中国抗衡吗?
-
2025-11-10 21:46:38
-
- 一次看个够,70多款罗马柱背景墙图集(高清)
-
2025-11-10 18:34:39
-
- 正胶真的没有市场了?了解这几点后你会自信的给出否定答案
-
2025-11-10 18:32:24
-
- 爱上有妇之夫,甘当小三的梅格·瑞恩,如今下场也算应该
-
2025-11-10 18:30:09
-
- 赵贞吉简介(赵贞吉南宋右丞相赵雄之后)
-
2025-11-10 18:27:54



坐拥数据金矿!马斯克将用 X 数据训练 AI 强调“仅限公开内容”
江苏这3所医科大学,师资雄厚实力强悍,被称“江苏医学三剑客”