c语言之电话薄程序

/*3. 电话薄程序。建立一个结构体数组,存放若干人的信息,包括:姓名,电话,职业,住址。要求这个管理小程序可以完成的任务:
(1)电话簿的内容显示。
(2)按姓名、电话查询联系人信息。
(3)按输入的关键字修改联系人的信息。
(4)用指向该数组的指针完成上述功能。
(5)输出如下菜单,用 switch 语句实现根据用户输入的选择执行相应的操作。
 1. 显示所有联系人信息
 2. 查询联系人信息
 3. 修改联系人信息*/

#include <stdio.h>
#include <string.h> 
#include<stdlib.h>
struct tele

char name[20];
char tel[12]; 
char career[10];
char add[10];
};
 void chaxun(struct tele su[300],int M)
 {
char n[12]; 
int i;  
printf("请输入要查询的姓名或电话:\n"); 
scanf("%s",n);
for(i=0;i<=M;i++)    
{     
if(strcmp(su[i].name,n) == 0||strcmp(su[i].tel,n) == 0)   
{   
printf("result:\t%s\t%s\t%s\t%s\n",su[i].name,su[i].tel,su[i].career,su[i].add);    
break;        
}
}
if(i==M+1)
printf("没有该联系人!\n"); 
 }  


 int scan(struct tele su[],int i)
 {
while(1)
{
i++;
printf("请输入第%d位联系人姓名 电话 职业 住址:\n",i);
scanf("%s",su[i].name);
if((su[i].name[0])=='#')   //输入以#结束
break;
scanf(" %s %s %s",su[i].tel,su[i].career,su[i].add);
}
return i-1;
 } 
void print(struct tele su[],int n)
 {
int j;
for(j=1;j<=n;j++)
printf("%d:\t%s\t%s\t%s\t%s\n",j,su[j].name,su[j].tel,su[j].career,su[j].add);
 } 


void change(struct tele su[],int M)
{
char n[12]; 
int i;  
printf("请输入要修改成员的姓名或电话:\n"); 
scanf("%s",n);
for(i=0;i<=M;i++)    
{     
if(strcmp(su[i].name,n) == 0||strcmp(su[i].tel,n) == 0)     
break;        
}
if(i>M)
printf("没有该联系人!\n"); 
else
{
printf("请输入要修改成员的信息:\n");
scanf("%s %s %s %s%*c",su[i].name,su[i].tel,su[i].career,su[i].add);
printf("修改完成!\n");
}
}


 int main()
 {  
int i=0,a,n;    
struct tele su[300];
n=scan(su,i);
while(1)
{
system("cls"); //执行控制台命令cls,就是CMD下面的cls,功能是清屏,清除所有显示的信息
printf(" 请输入通讯录菜单选项(1--显示通讯录成员)(2--查询通讯录成员)(3--修改通讯录成员)(0--关闭):\n");
fflush(stdin); //用来清空输入缓存,以便不影响后面输入的东西
scanf("%d",&a);
if(a==0) break;
switch(a)
{
case 1:
printf("通讯录成员:\n");
print(su,n);
break;
case 2:chaxun(su,n);
break;
case 3:change(su,n);
break;
}
system("pause");
}
return 0;
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值