肝了一周的通讯录管理系统

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<windows.h>

int count=0;//定义通讯录实时人数 

struct massage//定义结构体包括通讯录name,number.. 
{
	int id;
	char name[20];
	int number;
	int QQ;
	int vx;
}mas;

massage news[500]; 
//定义结构体数组 记录大概有500人容量的通讯录 

void output(massage news[],int n)//打印所有人的信息 
{
 for(int i=1;i<=n;i++)
    {   if(news[i].id!=0)
    	{
		printf("名字:%s 电话号码:%d QQ号码:%d 微信号码:%d\n",news[i].name,news[i].number,news[i].QQ,news[i].vx);}
	 }	
}

void outputname(massage news[],int n)
{
 for(int i=1;i<=n;i++)
    {   
    	printf("名字:%s \n",news[i].name);
	 }	
}
void add(massage news[])//添加 
{
	
	
	printf("请添加一个联系人\n");
	

			count=count+1;
			printf("请输入您要添加联系人的名字\n");
			int id2;
			id2=count;
			news[id2].id=id2;
			scanf("%s",news[id2].name);//字符串不需要加&符号 
			printf("请输入您要添加联系人的手机号码\n");
		    scanf("%d",&news[id2].number);
		    printf("请输入您要添加联系人的QQ号码\n");
		    scanf("%d",&news[id2].QQ);
		    printf("请输入您要添加联系人的微信号码\n");
		    scanf("%d",&news[id2].vx);
		    printf("恭喜您,成功添加了一位新的联系人!\n");
		  
	 
	
	
}

void del(massage news[])//删除 
{int flag3=0;
    printf("请输入您想要删除的联系人的名字!\n");
    char text[20];
	scanf("%s",text);
	
	  for(int i=1;i<=count;i++)
	 {
	 	if(strcmp(news[i].name,text)==0)
	 	{	flag3++;
	 		printf("查找成功!\n");
	 		printf("此联系人的信息为:\n");
	 		printf("名称:%s 电话号码:%d QQ号码:%d 微信号码:%d\n",news[i].name,news[i].number,news[i].QQ,news[i].vx);
	 		printf("正在删除%s的所有信息\n",news[i].name);
	 		printf("是否确认删除该联系人?\n");
	 		printf("确认请按1  退出请按2\n");
	 		int r;
	 		scanf("%d",&r);
	 		switch(r)
	 		{
	 			case 1:
	 				news[i].id=0;
	 	        	printf("删除成功!\n");
	 	        	count--;
	 		        break;
	 		    case 2:
	 		    	break;
			 }
			break;
		}
	 }
    
   if(flag3==0)
	{
	  printf("不好意思,没有找到这个人!\n");
	}
}

void find(massage news[])//通过查找名字 
{    
     int flag=0;
     printf("请输入您要查找联系人的名字\n") ;
	 char text[20];
	 scanf("%s",&text);
	
	  for(int i=1;i<=count;i++)
	  {  
	     if(strcmp(news[i].name,text)==0)
	 	{   if(news[i].id==0)
	 	   {
	 		break;
		   }
		 
	 		printf("查找成功!\n");
	 		printf("此联系人的信息为:\n");
	 		printf("名称:%s 电话号码:%d QQ号码:%d 微信号码:%d",news[i].name,news[i].number,news[i].QQ,news[i].vx);
	 		flag++;
	 		break;
		}
	  }
	  if(flag==0)
	  {
	  	printf("不好意思,没有找到这个人!\n");
	  }
}

void change(massage news[])//修改 
{
	printf("请输入您要修改的联系人的名字\n") ;
	 char text[20];
	 scanf("%s",&text);
	 int flag2=0;
	  for(int i=1;i<=count;i++)
	  {
	 	if(strcmp(news[i].name,text)==0)
	 	{  
	      	flag2=0;
	 		printf("查找成功!\n");
	 		flag2++;
	 		printf("此联系人的信息为:\n");
	 		printf("名称:%s 电话号码:%d QQ号码:%d 微信号码:%d",news[i].name,news[i].number,news[i].QQ,news[i].vx);
	 		printf("请问您要修改的信息\n1:名字\n2:电话号码\n3:QQ号码\n4:微信号码\n");
	 		int r;
	 		scanf("%d",&r);
	 		switch(r)
	 		{
	 			case 1:
	 				printf("请输入该联系人修改后的信息\n");
	                printf("请输入该联系人的名字\n") ;
	                scanf("%s",news[i].name);
	                printf("恭喜您,修改成功!\n");
	                break;
	 			case 2:
	 				printf("请输入该联系人修改后的信息\n");
	                printf("请输入该联系人的电话号码\n") ;
	                scanf("%d",&news[i].number);
	                printf("恭喜您,修改成功!\n");
	                break;
	 				
	 			case 3:
	 				printf("请输入该联系人修改后的信息\n");
	                printf("请输入该联系人的QQ号码\n") ;
	                scanf("%d",&news[i].QQ);
	                printf("恭喜您,修改成功!\n");
	                break;
	 			case 4:
	 				printf("请输入该联系人修改后的信息\n");
	                printf("请输入该联系人微信号码\n") ;
	                scanf("%d",&news[i].vx);
					printf("恭喜您,修改成功!\n");
					break;
			 }
	 		break;
		 }
	  }
    
      if(flag2==0)
    {
	  printf("不好意思,没有找到这个人!\n");	
    }

}

int main()
{system("color 5E");
	printf("\t\t\t\t         欢迎来到通讯录!\n");
	printf("\n");
	while(1)
{   
//system("cls");
	printf("\t\t\t           请选择您所需要的服务内容\n");
	printf("\n");
	printf("\t\t\t----------------------------------------------\n");
	printf("\t\t\t|\t\t1:查询联系人                  |\n"); 
	printf("\t\t\t----------------------------------------------\n");
	printf("\t\t\t|\t\t2:修改联系人                  |\n");
	printf("\t\t\t----------------------------------------------\n");
	printf("\t\t\t|\t\t3:添加联系人                  |\n");
	printf("\t\t\t----------------------------------------------\n");
	printf("\t\t\t|\t\t4:删除联系人                  |\n");
	printf("\t\t\t----------------------------------------------\n");
	printf("\t\t\t|\t\t5:显示通讯薄                  |\n");
	printf("\t\t\t----------------------------------------------\n");
	printf("\t\t\t|\t\t6:显示通讯薄总人数            |\n");
	printf("\t\t\t----------------------------------------------\n");
	printf("\t\t\t|\t\t7:退出系统                    |\n");
	printf("\t\t\t----------------------------------------------\n");
//	printf("8:退出系统 \n");
	int x;
	scanf("%d",&x);
	switch(x)
	{
		case 1://查找 
			system("cls");
		    find(news);
		    system("pause");
		    break;
		    
		    
		case 2:
			system("cls");
			change(news);
			system("pause");
			break;
			
		case 3:
			system("cls");
			add(news);
			system("pause");
			break;
			
		case 4:
			system("cls");
			del(news);
			system("pause");
//			break;
		
		case 5:
			system("cls");
		    output(news,count);
		    system("pause");
			break;	
	    case 6:
	    	system("cls");
	    	if(count==0)
	    	{
	    		printf("不好意思,通讯薄还没有新增的人数!\n"); 
			}
	    	else{
			printf("目前的通讯薄的总人数为:%d\n",count);
				}
			system("pause");
			break;
			
			
		
			
			
			
	}
	if(x==7) {printf("您已成功退出系统!"); break;} 
			
}
	return 0;
}


/*
通讯录管理系统
一、关于功能
1.联系人的构建
(1)联系人内容包括:  
   联系人姓名,电话号码,也可以加上微信号等 
2.查询:
整体输出 
3.修改:
包括多种情况
需要选择修改什么信息 
4.删除:

5.增添:
包括两种情况
(1)增添某已存联系人部分信息
(2)增添联系人 
*/
 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值