schooldays hq动画视频:急求一个通讯录管理程序

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/05 16:15:34
要交作业,求一个通讯录管理程序,要求:
字段名:
姓名,年龄,出生年月,身份证号,手机号,固定电话号码,电子邮件地址。

以上字段名要求在注册和修改的时候予以判断,比如,姓名只能是汉字,并且不能超过10个字符,出生年月用台历或者挂历的那样的插件选择,身份证号必须和年龄以及出生年月对上号,固定电话必须是0开头的11位数字,手机号必须是13开头的11位数字,电子邮件的格式一定要正确,这些都要求由程序来判断,另外能够单独删除数据也可以选择部分一起删除数据,整个界面不要求精美。

因为比较急,我自己没有找到这方面的资料,恳求各位大虾邦帮忙
不管是你自己做得程序还是修改其他得程序,只要能达到以上得要求都可以,关键部分在于注册和修改资料得判断上面.最好能发到我得电子邮箱里面,我得邮件地址是:xj245009@163.com
如果有什么不明白的地方可以加我的QQ 2 4 5 0 0 9 ,符合我得要求得后买内我会再追加100分.

补充下说明程序是需要用ASP来编写,数据库用SQL2000,如果不是SQL的就用ACESS代替,我再导入到SQL里面好了

//翻译 http://zhidao.baidu.com/q?ct=23&cm=400&tn=ouserinfo&un=paladin2005

/******头文件(.h)***********/
#include \"stdio.h\" /*I/O函数*/
#include \"stdlib.h\" /*标准库函数*/
#include \"string.h\"/*字符串函数*/
#include \"ctype.h\" /*字符操作函数*/
#define M 50 /*定义常数表示记录数*/
typedef struct /*定义数据结构*/
{
char name[20]; /*姓名*/
char units[30]; /*单位*/
char tele[10]; /*电话*/
}ADDRESS;
/******以下是函数原型*******/
int enter(ADDRESS t[]); /*输入记录*/
void list(ADDRESS t[],int n); /*显示记录*/
void search(ADDRESS t[],int n); /*按姓名查找显示记录*/
int delete(ADDRESS t[],int n); /*删除记录*/
int add(ADDRESS t[],int n); /*插入记录*/
void save(ADDRESS t[],int n); /*记录保存为文件*/
int load(ADDRESS t[]); /*从文件中读记录*/
void display(ADDRESS t[]); /*按序号查找显示记录*/
void sort(ADDRESS t[],int n); /*按姓名排序*/
void qseek(ADDRESS t[],int n); /*快速查找记录*/
void copy(); /*文件复制*/
void print(ADDRESS temp); /*显示单条记录*/
int find(ADDRESS t[],int n,char *s) ; /*查找函数*/
int menu_select(); /*主菜单函数*/
/******主函数开始*******/
main()
{
int i;
ADDRESS adr[M]; /*定义结构体数组*/
int length; /*保存记录长度*/
clrscr(); /*清屏*/
for(;;)/*无限循环*/
{
switch(menu_select()) /*调用主菜单函数,返回值整数作开关语句的条件*/
{
case 0:length=enter(adr);break;/*输入记录*/
case 1:list(adr,length);break; /*显示全部记录*/
case 2:search(adr,length);break; /*查找记录*/
case 3:length=delete(adr,length);break; /*删除记录*/
case 4:length=add(adr,length); break; /*插入记录*/
case 5:save(adr,length);break; /*保存文件*/
case 6:length=load(adr); break; /*读文件*/
case 7:display(adr);break; /*按序号显示记录*/
case 8:sort(adr,length);break; /*按姓名排序*/
case 9:qseek(adr,length);break; /*快速查找记录*/
case 10:copy();break; /*复制文件*/
case 11:exit(0); /*如返回值为11则程序结束*/
}
}
}
/*菜单函数,函数返回值为整数,代表所选的菜单项*/
menu_select()
{
char s[80];
int c;
gotoxy(1,25);/*将光标定为在第25行,第1列*/
printf(\"press any key enter menu......\\n\");/*提示压任意键继续*/
getch(); /*读入任意字符*/
clrscr(); /*清屏*/
gotoxy(1,1);
printf(\"********************MENU*********************\\n\\n\");
printf(\" 0. Enter record\\n\");
printf(\" 1. List the file\\n\");
printf(\" 2. Search record on name\\n\");
printf(\" 3. Delete a record\\n\");
printf(\" 4. add record \\n\");
printf(\" 5. Save the file\\n\");
printf(\" 6. Load the file\\n\");
printf(\" 7. display record on order\\n\");
printf(\" 8. sort to make new file\\n\");
printf(\" 9. Quick seek record\\n\");
printf(\" 10. copy the file to new file\\n\");
printf(\" 11. Quit\\n\");
printf(\"***********************************************\\n\");
do{
printf(\"\\n Enter you choice(0~11):\"); /*提示输入选项*/
scanf(\"%s\",s); /*输入选择项*/
c=atoi(s); /*将输入的字符串转化为整型数*/
}while(c<0||c>11); /*选择项不在0~11之间重输*/
return c; /*返回选择项,主程序根据该数调用相应的函数*/
}
/***输入记录,形参为结构体数组,函数值返回类型为整型表示记录长度*/
int enter(ADDRESS t[])
{
int i,n;
char *s;
clrscr(); /*清屏*/
printf(\"\\nplease input num \\n\"); /*提示信息*/
scanf(\"%d\",&n); /*输入记录数*/
printf(\"please input record \\n\"); /*提示输入记录*/
printf(\"name unit telephone\\n\");
printf(\"------------------------------------------------\\n\");
for(i=0;i {
scanf(\"%s%s%s\",t[i].name,t[i].units,t[i].tele); /*输入记录*/
printf(\"----------------------------------------------\\n\");
}
return n; /*返回记录条数*/
}
/*显示记录,参数为记录数组和记录条数*/
void list(ADDRESS t[],int n)
{
int i;
clrscr();
printf(\"\\n\\n*******************ADDRESS******************\\n\");
printf(\"name unit telephone\\n\");
printf(\"------------------------------------------------\\n\");
for(i=0;i printf(\"%-20s%-30s%-10s\\n\",t[i].name,t[i].units,t[i].tele);
if((i+1)%10==0) /*判断输出是否达到10条记录*/
{
printf(\"Press any key continue...\\n\"); /*提示信息*/
getch(); /*压任意键继续*/
}
printf(\"************************end*******************\\n\");
}
/*查找记录*/
void search(ADDRESS t[],int n)
{
char s[20]; /*保存待查找姓名字符串*/
int i; /*保存查找到结点的序号*/
clrscr(); /*清屏*/
printf(\"please search name\\n\");
scanf(\"%s\",s); /*输入待查找姓名*/
i=find(t,n,s); /*调用find函数,得到一个整数*/
if(i>n-1) /*如果整数i值大于n-1,说明没找到*/
printf(\"not found\\n\");
else
print(t[i]); /*找到,调用显示函数显示记录*/
}
/*显示指定的一条记录*/
void print(ADDRESS temp)
{
clrscr();
printf(\"\\n\\n********************************************\\n\");
printf(\"name unit telephone\\n\");
printf(\"------------------------------------------------\\n\");
printf(\"%-20s%-30s%-10s\\n\",temp.name,temp.units,temp.tele);
printf(\"**********************end***********************\\n\");
}
/*查找函数,参数为记录数组和记录条数以及姓名s */
int find(ADDRESS t[],int n,char *s)
{
int i;
for(i=0;i {
if(strcmp(s,t[i].name)==0) /*记录中的姓名和待比较的姓名是否相等*/
return i; /*相等,则返回该记录的下标号,程序提前结结束*/
}
return i; /*返回i值*/
}
/*删除函数,参数为记录数组和记录条数*/
int delete(ADDRESS t[],int n)
{
char s[20]; /*要删除记录的姓名*/
int ch=0;
int i,j;
printf(\"please deleted name\\n\"); /*提示信息*/
scanf(\"%s\",s);/*输入姓名*/
i=find(t,n,s); /*调用find函数*/
if(i>n-1) /*如果i>n-1超过了数组的长度*/
printf(\"no found not deleted\\n\"); /*显示没找到要删除的记录*/
else
{
print(t[i]); /*调用输出函数显示该条记录信息*/
printf(\"Are you sure delete it(1/0)\\n\"); /*确认是否要删除*/
scanf(\"%d\",&ch); /*输入一个整数0或1*/
if(ch==1) /*如果确认删除整数为1*/
{
for(j=i+1;j {
strcpy(t[j-1].name,t[j].name); /*将后一条记录的姓名拷贝到前一条*/
strcpy(t[j-1].units,t[j].units); /*将后一条记录的单位拷贝到前一条*/
strcpy(t[j-1].tele,t[j].tele); /*将后一条记录的电话拷贝到前一条*/
}
n--; /*记录数减1*/
}
}
return n; /*返*/

http://www.onlinedown.net/soft/43374.htm

红蜻蜓通讯录管理系统 20050810

红蜻蜓通讯录管理系统是一个小型简洁实用的通讯录管理程序,使用简单,界面美观大方。可以管理自己的亲朋好友、同学同事、业务客户等的通讯资料,能直接建立分类,如同学类、朋友类、同事类等任意的分类项目。启动时需要输入密码,使其它人不能看到你的通讯资料,让你的信息更安全。

软件功能简介:
1、好友分类管理。
2、单一条目打印,全体条目打印。
3、方便快捷的记录查询。
4、全球电话区号查询。
5、全国电话区号查询。
6、数据库备份、还原、压缩。
7、预置多种皮肤。使界面更加美观。

可惜刚刚才看到。
如果今天有空,倒是应当可以做出来。
只是今天还有些事情得处理。

能否延期呢?

我有个比较好用的.QQ版本的通讯软件.要的话加我QQ79584355著名是这个

实形式只是外在的东西
不同的人做蛋糕时的心情不同
在者 不同的人吃蛋糕是的心里状态也不一样
一个人认为好的但是另一个人就不赞同了啊
一万个人有一万颗心

实形式只是外在的东西
不同的人做蛋糕时的心情不同
在者 不同的人吃蛋糕是的心里状态也不一样
一个人认为好的但是另一个人就不赞同了啊
一万个人有一万颗心