#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
typedef struct AA
{
int id;
char* name;
char* tel;
struct AA *pNext;
}List;
int GetID();
char* GetName();
char* GetTel();
List* GetNode();
List*AddNode(List**ppHead,List**ppEnd,List*pNode);
void InitInfo(List** ppHead,List** ppEnd,int n);
int main()
{
List*pHead=NULL;
List*pEnd=NULL;
InitInfo(&pHead,&pEnd,100);
while(pHead != NULL)
{
printf("%d %s %s\n",pHead->id,pHead->name,pHead->tel);
pHead=pHead->pNext;
}
return 0;
}
int GetID()
{
static int id=1;
return id++;
}
char* GetName()
{
char* pTemp=(char*)malloc(6);
int i;
for(i=0;i<5;i++)
{
pTemp[i]=rand()%26+'a';
}
pTemp[i]='\0';
return pTemp;
}
char* GetTel()
{
char*pTemp=(char*)malloc(12);
int i;
switch(rand()%4)
{
case 0:
pTemp[0]='1';
pTemp[1]='3';
pTemp[2]='3';
break;
case 1:
strcpy_s(pTemp,12,"155");
break;
case 2:
strcpy_s(pTemp,12,"188");
break;
case 3:
strcpy_s(pTemp,12,"137");
break;
}
for(i=3;i<11;i++)
{
pTemp[i]=rand()%10+'0';
}
pTemp[i]='\0';
return pTemp;
}
List* GetNode()
{
List * pTemp=(List*)malloc(sizeof(List));
pTemp->id=GetID();
pTemp->name=GetName();
pTemp->tel=GetTel();
pTemp->pNext=NULL;
return pTemp;
}
List*AddNode(List**ppHead,List**ppEnd,List*pNode)
{
if(NULL == *ppHead)
{
*ppHead=pNode;
}
else
{
(*ppEnd)->pNext=pNode;
}
*ppEnd=pNode;
}
void InitInfo(List** ppHead,List** ppEnd,int n)
{
int i;
srand((unsigned int)time(NULL));
for(i=0;i<n;i++)
{
AddNode(ppHead,ppEnd,GetNode());
}
}
通讯录测试与封装
最新推荐文章于 2022-04-19 20:02:18 发布