通讯录源码带相册定位出售QQ(获取通讯录带相册源码)
今天给各位分享通讯录源码带相册定位出售QQ的知识,其中也会对获取通讯录带相册源码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
javaweb 做一个通讯录的小项目 求源代码 急求。
先设计数据库中通讯录表格(字段有:id,联系人姓名,手机号,备注),然后,hebinate实现数据库表到javabean的映射,同时也会生成对通讯录表格的增删改查的基本sql语句对应的接口。然后你再写一个Servlet,连接页面自己数据库操作接口即可
跪求大神给份用Android做的手机通讯录的完整源码,能够打电话,发短信,创建等等,谢谢了。
Android通讯录管理(获取联系人、通话记录、短信消息)
用这个地址
c++通讯录源码
//通讯录系统,每条记录由姓名、qq、电话号码组成
//用结构体数组实现,可以自动扩充存储区
//多给点财富吧
#includestdio.h
#includestdlib.h
#includestring.h
#define N 60
#define BufLen 1024
typedef struct tagRecord
{
char name[N];
char qq[N];
char tel[N];
}Record,*PtRecord;
typedef enum tagType
{
ByName=1,
ByQQ,
ByTel,
}Type;
typedef enum tagMenu
{
Quit=0,
Add,
Del,
Find,
Output,
OutputAll,
}Menu;
void processmenu(Menu m);
void init();
void begin();
void myrealloc(int reserved);
int add();
void del(int n);
int find(char *v,Type t);
void output(int n);
void outputall();
const int MinCapacity=16;
int count,capacity;
char temp[BufLen]={'\0'},temp2[BufLen]={'\0'},quit[]="quit";
PtRecord ptr;
int main()
{
begin();
system("PAUSE");
return EXIT_SUCCESS;
}
//处理菜单
void processmenu(Menu m)
{
//无法处理wfchl
int t,wfchl=0;
switch(m)
{
case Quit:
if(ptr)
{
free(ptr);
}
exit(0);
break;
case Add:
add();
break;
case Del:
printf("请输入要删除的是第几个记录:");
scanf("%d",t);
del(t-1);
break;
case Find:
printf("子菜单:\n1、按姓名查找\n2、按qq号码查找\n3、按电话号码查找\n请选择一个:");
scanf("%d",t);
switch(t)
{
case ByName:
strcpy(temp2,"不存在姓名为");
printf("请输入要查找的记录的姓名:");
break;
case ByQQ:
strcpy(temp2,"不存在qq号码为");
printf("请输入要查找的记录的qq号码:");
break;
case ByTel:
strcpy(temp2,"不存在电话号码为");
printf("请输入要查找的记录的电话号码:");
break;
default:
printf("无法处理的子菜单命令。\n");
wfchl=1;
break;
}
if(!wfchl)
{
scanf("%s",temp);
t=find(temp,(Type)t);
if(-1==t)
{
strcat(temp2,temp);
strcat(temp2,"的记录。");
printf("%s\n",temp2);
}
else
{
output(t);
}
}
break;
case Output:
printf("请输入要输出第几个记录的信息:");
scanf("%d",t);
output(t-1);
break;
case OutputAll:
outputall();
break;
default:
printf("无法处理的菜单命令。\n");
break;
}
}
void init()
{
count=0;
capacity=MinCapacity;
ptr=(PtRecord)calloc(MinCapacity,sizeof(Record));
printf("初始化通讯录。\n");
while(add());
}
void begin()
{
Menu m;
char menuinfor[BufLen]={'\0'};
sprintf(menuinfor,
"菜单:\n%d、退出\n%d、添加记录\n%d、删除记录\n%d、查找记录\n%d、输出某个记录\n%d、输出所有记录\n请选择一个菜单:",
Quit,Add,Del,Find,Output,OutputAll);
init();
while(1)
{
printf("%s",menuinfor);
scanf("%d",m);
processmenu(m);
}
}
//自动增长通讯录的容量,参数reserved表示是否要保留原有数据
//1表示保留,0表示不保留
void myrealloc(int reserved)
{
int i,c=count+1;
PtRecord tempptr;
if(c=capacity)
{
tempptr=(PtRecord)calloc(2*c,sizeof(Record));
capacity=2*c;
if(reserved)
{
for(i=0;icount;i++)
{
tempptr[i]=ptr[i];
}
}
free(ptr);
ptr=tempptr;
}
}
//添加一个记录
//返回值表示本次添加操作是正常结束,还是异常结束
//返回1表示正常结束,返回0表示应用户要求终止输入
int add()
{
int r=1;
printf("添加记录。\n请输入姓名,qq,电话号码信息(以空格分隔),%s终止输入:",quit);
scanf("%s",temp);
if(strcmp(temp,quit))
{
myrealloc(1);
strcpy(ptr[count].name,temp);
scanf("%s %s",ptr[count].qq,ptr[count].tel);
printf("记录添加成功。\n");
count++;
}
else
{
r=0;
}
return r;
}
//删除下标为n的记录
void del(int n)
{
int i;
Record r;
//printf("del\n");
if(n=0 ncount)
{
r=ptr[n];
for(i=n;icount-1;i++)
{
ptr[i]=ptr[i+1];
}
printf("删除成功。\n记录[%d]:\n%s,%s,%s已删除。\n",n,r.name,r.qq,r.tel);
count--;
}
else
{
printf("删除失败。\n第%d个记录不存在。\n",n+1);
}
}
//查找类型为t,值为v的记录
//返回值为此记录在通讯录数组中的下标
//返回-1表示找不到符合要求的记录
int find(char *v,Type t)
{
int i,n=-1;
for(i=0;icount;i++)
{
switch(t)
{
case ByName:
if(!strcmp(ptr[i].name,v))
{
n=i;
}
break;
case ByQQ:
if(!strcmp(ptr[i].qq,v))
{
n=i;
}
break;
case ByTel:
if(!strcmp(ptr[i].tel,v))
{
n=i;
}
break;
default:
break;
}
if(-1!=n)
{
break;
}
}
return n;
}
//输出下标为n的记录的信息
void output(int n)
{
if(n=0 ncount)
{
printf("记录[%d]:\n%s,%s,%s。\n",n,ptr[n].name,ptr[n].qq,ptr[n].tel);
}
else
{
printf("第%d个记录不存在。\n",n+1);
}
}
//输出所有记录的信息
void outputall()
{
int i;
if(0==count)
{
printf("一个记录也没有了。\n");
}
for(i=0;icount;i++)
{
output(i);
}
}
通讯录源码带相册定位出售QQ的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于获取通讯录带相册源码、通讯录源码带相册定位出售QQ的信息别忘了在本站进行查找喔。