Linux C 简单通讯录

通讯录项目 — 结构体数组
1.使用结构体来存放数据,使用数组来存放结构体
2.struct Data{
int id;
char name[10];
int phone; //注意11位数的整型范围用int能不能放
}
3.知识点
数据类型
数组
结构体
语句 for switch if break return
函数 尽可能的都用函数去写,可以先都在main函数里实现,最后改写为函数
字符串函数 strcpy strcmp等
随机数函数
等等
4.功能


增加联系人 
删除联系人	--- 按电话、姓名删除
查找联系人	--- 按电话、姓名查找
修改联系人	--- 可以修改姓名、电话
显示联系人  --- 界面优美的打印出所有联系人

ID使用随机数生成,并且作为唯一的标识,
例如生成5位数作为ID,每一次生成,都去数组中查看,该ID有没有被使用,确保唯一性。
按ID从小到大排序
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>

struct DATE
{
	long telephone;
	int  id;
	char name[20];
};

int myrand(int Rand_Max)//产生随机数
{
	
	int test[100000]={0};
	int i=0;
	srand(time(NULL));
	
	int rnum=rand()%Rand_Max;
	test[rnum] += 1;
	for(i=10000;i<100000;i++)
	{
		if(test[i]>1)
		{
			rnum=(rand()%Rand_Max)+10000;
		}
	}
	
	return rnum;
	
}
void add_data(struct DATE num[],int *length)//输入信息
{
	int p1 = *length; 
	while(1)
	{
		int ran = myrand(100000);
		printf("输入tel :  \n");
		scanf("%ld",&num[p1].telephone);
		printf("输入姓名:  \n");
		scanf("%s",num[p1].name);
		num[p1].id = ran;
		p1++;
		*length = p1;
		break;
	}
		
}
void show_data(struct DATE num[],int *length)//显示信息
{
	int i;
	int len = *length;
	
	for(i=0;i<len;i++)
	{
		
		printf("ID  : %d\n",num[i].id);
		printf("tel :
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值