#include <stdio.h>
#include <stdlib.h>
#include<string.h>
typedef struct telBook
{
char name[100];
char homeNum[15];
char cellNum[15];
struct telBook *next;
}*phoneBook;
int strEqu(char *string1,char *string2);
void creat();
void search();
void insert();
void delet();
void output();
struct telBook *book;
int main(void)
{
int k;
do
{
printf(" 0: exit\n");
printf(" 1: creat\n");
printf(" 2: search\n");
printf(" 3: insert\n");
printf(" 4: delete\n");
printf(" 5: output\n");
printf("please select:");
scanf("%d",&k);
switch(k)
{
case 0:
exit(0);
case 1:
creat( );
break;
case 2:
search( );
break;
case 3:
insert( );
break;
case 4:
delet( );
break;
case 5:
output( );
break;
default:
exit(0);
}
}
while(1);
return 0;
}
void creat()
{
phoneBook input;
phoneBook p;
// char flag[2] = "0";
book = (phoneBook)malloc(sizeof(struct telBook));
book->next=NULL;
p = book;
do
{
input = (phoneBook)malloc(sizeof(struct telBook));
printf("请输入要创建的用户的信息:姓名、宅电、手机\n");
printf("当输入0 0 0时退出创建\n");
scanf("%s%s%s",input->name,input->homeNum,input->cellNum);
if(strcmp(input->name,"0")!=0)
{
p->next = input;
p = input;
p->next = NULL;
}
else
{
break;
}
}while(1);
}
void search()
{
char hostName[100];
phoneBook p = book->next;
printf("请输入要查找人的姓名:\t");
scanf("%s",hostName);
while(p!=NULL)
{
if(strcmp(p->name,hostName)==0)
printf("宅电为:%s\t手机为:%s\n",p->homeNum,p->cellNum);
else
continue;
p = p->next;
}
}
void output()
{
phoneBook p = book->next;
printf("姓名\t宅电\t手机\n");
while(p!=NULL)
{
printf("%s\t%s\t%s\n",p->name,p->homeNum,p->cellNum);
p = p->next;
}
}
void insert()
{
phoneBook input = (phoneBook)malloc(sizeof(struct telBook));
phoneBook p = book;
phoneBook q = book->next;
printf("请输入要创建的用户的信息:姓名、宅电、手机n");
printf("当输入0 0 0时退出创建\n");
scanf("%s%s%s",input->name,input->homeNum,input->cellNum);
if(strcmp(input->name,"0")!=0)
{
p->next = input;
p = input;
p->next = q;
}
}
/*void delete()
{
phoneBook p = book->next;
phoneBook q;
while(p!=NULL)
{
q = p;
p = p->next;
free(q);
}
book->next = NULL;
}*/
void delet()
{
char delname[100];
phoneBook p=book;
phoneBook q=book->next;
printf ("请输入被删除的人的名字:\n" );
scanf(" %s",delname);
while(strcmp(q->name,delname)!=0)
{
p=q;
q=q->next;
}
if(strcmp(delname,q->name)==0)
{
// p->next = input;
// p = input;
// p->next = q;
p->next=q->next;
}
}
相关推荐
构建Java个人电话簿系统:增删查改与排序实战
在Java中定义类是一个简单的过程,通常包含以下几个关键点:关键字class用来声明一个类。类名应该是一个有意义的名词,每个单词的首字母大写。类体用大括号{}包围,里面包含属性和方法的定义。例如,定义一个简单的Student类:// 属性int age;// 方法Java集合框架提供了一套性能优良、设计周全的数据结构和算法实现。在电话簿应用中,我们可以选择合适的集合来管理联系人对象。考虑到联系人的属性和业务需求,我们可能会使用ArrayList。
实现具备添加、查看、修改以及删除联系人信息功能的手机通讯录。
实现具备添加、查看、修改以及删除联系人信息功能的手机通讯录。 print("--------------手机通讯录-------------") print("--- 1 添加联系人") print("--- 2 查看通讯录") print("--- 3 修改联系人姓名 ") print("--- 4 修改联系人电话") print("--- 5 删除联系人") i= 1 dic={} while i>0: a = input("请输入:") if a == '1':
linux shell脚本通讯录
linux shell写的通讯录脚本,有增删改查,id自增长功能,
模拟手机通讯录管理 2021.2.11
模拟手机通讯录管理 现在手机都有通讯录程序,下面这个代码模拟手机通讯录设置添加,查询,删除联系人等功能。 今天是除夕,祝各位程序员朋友们新春快乐,阖家欢乐! import os import sys phonedic = {} choice = 9 isfind = 0 print("""STAR 通讯录功能:1:添加联系人 2:删除联系人 3:查找联系人相关电话 4:电话号码""") if os.path.isfile("phonedic.txt") and os.path.getsize("ph
电话簿(c++)增加,删除,查找,保存等功能
自己写的电话簿 使用时请别删除phone.dat文件 初学,给点意见
python简单通讯录程序
用python编写,实现简单的通讯录功能,如:新建、删除、修改、查询、显示所有用户等,比较适合初学者(本程序在python2.7运行成功,且解决cmd中文乱码情况),如有问题可共同讨论。
如何使用Python编写一个简单的通讯录程序
在日常生活中,管理联系人信息是一项基本需求。通过编程,我们可以实现一个简单的通讯录应用,帮助我们高效地存储、查找、修改和删除联系人信息。下面,就以一段Python代码为例,一步步教你如何构建一个基本的通讯录程序。
Python 实现简单的电话本功能
主要介绍了Python 实现简单的电话本功能的相关资料,包括添加联系人信息,查找姓名显示联系人,存储联系人到 TXT 文档等内容,十分的细致,有需要的小伙伴可以参考下
通讯录的模拟实现
通讯录的模拟实现(增删查改,清空,排序)
功率半导体器件选型指南:从GTO、GTR到MOSFET、IGBT的原理与应用
功率半导体器件是电力电子系统的核心,如同电路中的智能开关,负责电能的转换与控制。其工作原理基于半导体材料的导电特性,通过控制信号精确管理电路的通断。这类器件的技术价值在于提升能效、减小体积并增强系统可靠性,广泛应用于变频器、逆变器、开关电源及新能源领域。理解不同器件如MOSFET的雪崩能量与IGBT的损耗计算,是进行高效、可靠电路设计的基础。本文聚焦于GTO、GTR、MOSFET和IGBT这四类经典全控型器件的特性对比与选型策略,帮助工程师在具体项目中做出经济可靠的选择。
用 dism 合并与删除 wim 映像
一、合并 假设 installA.wim 有 3 个映像,installB.wim 有 1 个映像。 1、全部合并 将 installA.wim 中的 3 个卷映像合并到 installB.wim 中,这样 installB.wim 中的卷映像增加到 4 个。 dism/export-image/sourceimagefile:d:\installA.wim/sourceindex:1/destinationimagefile:d:\installB.wim dism/export-image/source
python实现手机通讯录
本实例要求编写程序,实现具备添加、查看修改以及删除联系人信息功能的手机通讯录。
【基金量化研究系列】基金绩效归因模型——Brinson多期归因模型
文章目录1. 引言2. Brinson单期归因模型2.1 模型框架2.2 公式推导3. Brinson多期归因模型3.1 模型框架3.2 公式推导4. Brinson模型的应用场景4.1 基金组合归因4.2 基金经理能力刻画4.3 大类资产配置应用5. 模型的实现与实证案例研究写在最后 1. 引言 在 2. Brinson单期归因模型 2.1 模型框架 wp wb rp 组合收益:wp rp 择股收益:wb rp rb 择时收益:wp rb 基准收益:wb rb 2.2 公式推
java电话簿程序
import java.io.; import java.lang.; public class PhoneBook{ public static void main(String[] args)throws IOException{ //创建并声明IndexIterm类的数组对象 IndexIterm[] tel = new IndexIterm[21]; for(int i=0;i<=2...
MATLAB新手也能懂:用MATPOWER 8.0b搞定电力系统潮流计算(附case9实战代码)
本文详细介绍了如何使用MATPOWER 8.0b在MATLAB中进行电力系统潮流计算,特别适合新手入门。通过case9实战案例,讲解了从安装配置到运行牛顿-拉夫逊法潮流计算的全过程,包括结果分析和常见问题处理,帮助读者快速掌握这一电力系统分析的核心技能。
PowerBI参数化实战:3分钟搞定动态数据源切换(附常见错误排查)
本文详细介绍了PowerBI参数化实战技巧,教你3分钟实现动态数据源切换。通过创建参数、改造查询和测试切换三步,轻松应对多环境部署与团队协作中的路径问题,并附上常见错误排查指南,有效提升报表的可维护性和工作效率。
用C语言编写一个电话簿管理系统
用C语言编写一个电话簿管理系统 仅供参考 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<windows.h> struct person { char clas[10]; //班级 char num[20]; //手机号 char name[20]; //姓名 long int id[]; //学号 char sex[10]; //性别 char Q
37、基于视觉的轻量级面部呼吸和心率测量技术
本文提出了一种基于视觉的轻量级面部呼吸和心率测量技术,通过远程光电容积脉搏波描记法(RPPG)和面部振动信息实现非接触式生理信号采集。创新性地结合框选和特征点选择多个感兴趣区域(ROI),并采用光流跟踪、主成分分析(PCA)和集成经验模态分解(EEMD)等方法优化信号处理流程。实验结果表明,该方法在测量精度和稳定性方面优于传统方法,并可在树莓派4等低功耗平台上实现实时运行,具有广泛的应用前景。
python实现电话簿
面向对象实现电话簿 """ 使用面型对象思想实现电话簿 采用封装,继承等手段实现。 题目分析: 电话簿中一般实现都是{人名:电话},但是人名出现重复怎们做 删除电话:根据人名删除还是电话删除 修改电话:修改人名还是修改电话 查询:人名查电话还是电话查人名,是准确查找还是模糊查找呢 ================================================ 针对上述问题实现一个电话簿 """ class base_check(object): """ 实现一个检测输入
【SWAT】SWAT中预定义河网及流域
平原圩区没有明显的海拔差异。DEM中包含的地形信息无法定义河段的位置和水文连接,SWAT模型Watershed Delineator中提供两种方法,帮助用户输入流域拓扑信息。第一种方法,“Burn-in”和手动绘制河段和子流域边界。首先,使用“Burn-in”功能导入数字河道网络(DCN),并根据DEM和DCN绘制河流和子流域。然后在ArcGIS中编辑“流域”和“河段”层,可以调整位置、范围和水文连接。第二种方法,可以手动绘制或重新编辑河流和子流域,预定义河网及流域。
【2025最新版】ABAP 开发百科全书专栏文章目录(上)
本文汇总了一系列SAP ABAP技术文章,内容涵盖实用技巧合集、函数式编程实践(如Currying、reduce应用)、设计模式实现(如Visitor、Singleton)、动态代理与Mock技术、性能优化方案(如Lazy Loading)、日期处理与内存管理,以及ABAP与JavaScript的编程范式对比。还涉及CDS视图、Fiori字段追踪、单元测试优化等实战经验,深入剖析了ABAP底层机制(如Internal Session、Function Module实现原理),并提供了多种反模式改进方案。
字典数+List实现简单电话簿应用(实现增删改查)
Python学习第三周作业 具体要求: 用list保存多个字典,实现一个类似电话簿的应用 字典格式{“Name”:XXX “Sex”:XXX “PhoneNumber”:XXX} 要求: 从中查找姓名为XXX的电话 修改姓名为XXX的性别 查找电话为XXX的名字 新添加一条记录【该记录可写死,不用键盘输入】 直接上代码 # 完整的程序 # 用字典实现swich-case的功能 代替if elif else # default的功能 print("-------------------------
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
[汇编语言]实现电话簿的创建
(1)创建一个电话号码表文件,每项包括人名(20个字符)及电话号码(8个字符)两部分。 (2)程序可接收输入人名及相应的电话号码,实现有序插入、查询、删除等操作。 编译环境:MASM6.15(教材32位汇编语言程序设计-钱晓捷) 请根据自己的环境适当修改代码。 ;创建一个电话号码表文件; ;每项包括人名(20个字符)及电话号码(8个字符)两部分; ;程序可接收输入人名及相应的电话号码; ;实现有序插入、查询、删除等操作。 ;ebx:全局存储电话簿的记录数 include io32.inc
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
java实现简单的电话簿
之前搜过好多写电话簿都挺复杂的,也希望自己的代码能帮助到向我之前那样努力找简单点代码的人。 先建一个entity包,写一个Books类: package entity; public class Books { private String name; private String n...
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
python_用字典做一个电话簿(实现增删改查)
print('------欢迎来到一次性的电话簿------') import pickle dict1 = {} while True: x = input('请输入要进行的操作:如:新建或修改为"1"、查询:"2"、删除"3":') # 存储数据 序列化字典 with open('addressbook.txt', 'ab+') as io1: pick...
937



被折叠的 条评论
为什么被折叠?



