求大神用c语言帮忙编个手机通讯录管理!!

任务描述:查看自己的手机,设计一个手机通讯录管理程序。通讯录中可存储30个人的联系号码。
功能要求:根据自己的手机情况,设计通讯录文件数据结构。完成通讯录信息的添加,且按联系人姓名字母顺序排序通讯录信息。
当发生同名时,提示是否替换,如果是,则直接覆盖以前的信息,如果不是,则返回添加状态等待修改。
提供通讯录按姓名查询功能。
提供按群组查询联系电话的功能。
提供逐个翻看通讯录查询电话功能。
提供逐个/全部删除电话号码功能。
当通讯录存在,每次进入程序,模拟手机开机,读出已有通讯录信息。
设计提示:文件中可以先写进去30条空记录,占用文件空间。

我倒是有个这个代码
功能和这个相近发给你看看吧,希望给你点灵感

#include<stdio.h> //定义输出输入函数
#include<stdlib.h> //定义杂项函数及内存分配函数
#include<string.h> //字符串处理

#define BUFLEN 80 //缓存区字符不超过80
#define LEN 20 //返回去字符不超过20
#define N 200

struct record
{
char code[LEN+1];
char name[LEN+1];
int age;
char sex[3];
char time[LEN+1];
char add[30];
char tel[LEN+1];
char mail[30];
}stu[N];
int k=1,n,m;
void readfile();
void seek();
void modify();
void insert();
void del();
void display();
void save();
void menu();

int main()
{ while(k)
menu();
system("pause");
return 0;
}

void readfile()
{
char buf[BUFLEN],*p="student.dat";
FILE *fp;
int i=0;
if ((fp=fopen("student.dat","r"))==NULL)
{ printf("Open file %s error! Strike any key to exit!",p);
system("pause");
exit(0);
}
while(fscanf(fp,"%s %s%d%s %s %s %s %s",stu[i].code,stu[i].name,&stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail)==8)
{ i++;
i=i;
}
fclose(fp);
n=i;
printf("录入完毕!\n");
}

void seek()
{int i,j,item,flag;
char s1[21];
printf(" xxxxxxxxxxxxxxxxxxx\n");
printf("1.按序号查询\n");
printf("2.按姓名查询\n");
printf("3.退出本菜单\n");
printf(" xxxxxxxxxxxxxxxxxxx \n");
while(1)
{ printf("请选择子菜单编号:");
scanf("%d",&item);
flag=0;
switch(item)
{
case 1:
printf("请输入要查询的好友序号:\n");
scanf("%s",s1);
for(i=0;i<n;i++)
if(strcmp(stu[i].code,s1)==0)
{ flag=1;
printf("该好友序号,姓名,年龄,性别,出生年月,地址,电话分别为:\n");
printf("%s %s %d %s %s %s %s\n",stu[i].code,stu[i].name,stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel);
}
if(flag==0)
printf("该序号不存在!\n"); break;
case 2:
printf("请输入要查询的好友的姓名:\n");
scanf("%s",s1);
for(i=0;i<n;i++)
if(strcmp(stu[i].name,s1)==0)
{ flag=1;
printf("该好友的序号,姓名,年龄,性别,出生年月,地址,电话 分别为:\n");
printf("%s %s %d %s %s %s %s\n",stu[i].code,stu[i].name,stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel);
}
if(flag==0)
printf("该姓名不存在!\n"); break;
case 3:return;
default:printf("请在1-3之间选择\n");
}
}
}

void modify()
{int i,j,item,num;
char sex1[3],s1[LEN+1],s2[LEN+1];

scanf("%s",s1);
for(i=0;i<n;i++)
if(strcmp(stu[i].code,s1)==0)
num=i;

while(1)
{
scanf("%d",&item);
switch(item)
{
case 1:return;

default:printf("");
}
}
}

void insert()
{ int i=n,j,flag;
printf("请输入待增加的好友数(上限200):\n");
scanf("%d",&m);
do
{ flag=1;
while(flag)
{ flag=0;
printf("请输入第 %d 个好友的序号:\n",i+1);
scanf("%s",stu[i].code);
for(j=0;j<i;j++)
if(strcmp(stu[i].code,stu[j].code)==0)
{ printf("已有该序号,请检查后重新录入!\n");
flag=1;
break;
}
}
printf("请输入第 %d 个好友的姓名:\n",i+1);
scanf("%s",stu[i].name);
printf("请输入第 %d 个好友的年龄:\n",i+1);
scanf("%d",&stu[i].age);
printf("请输入第 %d 个好友的性别:\n",i+1);
scanf("%s",stu[i].sex);
printf("请输入第 %d 个好友的出生年月:(格式:年.月)\n",i+1);
scanf("%s",stu[i].time);
printf("请输入第 %d 个好友的地址:\n",i+1);
scanf("%s",stu[i].add);
printf("请输入第 %d 个好友的电话:\n",i+1);
scanf("%s",stu[i].tel);

if(flag==0)
{ i=i;
i++;
}
}while(i<n+m);
n+=m;
printf("录入完毕!\n\n");
}

void del()
{ int i,j,flag=0;
char s1[LEN+1];
printf("请输入要删除好友的序号:\n");
scanf("%s",s1);
for(i=0;i<n;i++)
if(strcmp(stu[i].code,s1)==0)
{ flag=1;
for(j=i;j<n-1;j++)
stu[j]=stu[j+1];
}
if(flag==0)
printf("该序号不存在!\n");
if(flag==1)
{ printf("删除成功,显示结果请选择菜单6\n");
n--;
}
}

void display()
{ int i,j;
printf("所有好友的信息为:\n");
for(i=0;i<n;i++)
{
printf("%s %s %d %s %s %s %s\n",stu[i].code,stu[i].name,stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel);
}
}

void save()
{ int i,j,k,flag=0;
FILE *fp;
fp=fopen("student.txt","w"); /*打开文件*/
for(i=0;i<n;i++)
{ fprintf(fp,"%s %s %d %s %s %s %s\n",stu[i].code,stu[i].name,stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel);
}
fclose(fp);
}

void menu()
{ int num; printf(" \n 功能菜单\n");
printf("\n");
printf("1.增加好友信息\n");
printf("2.查询好友信息\n");
printf("3.显示好友信息\n");
printf("4.按序号删除信息\n");
printf("5.保存当前好友信息(studen文件中)\n");
printf("6.退出系统\n");
printf("请选择菜单编号:");
scanf("%d",&num);
switch(num)
{
case 1:insert();break;
case 2:seek();break;
case 3:display();break;
case 4:del();break;
case 5:save();break;
case 6:k=0;break;

default:printf("请在1-6之间选择\n");
}
}追问

十分谢谢你!但是你能发个vc的文件给我不,这个直接粘到vc6.0上,提示行数太长,无法正常用,太感谢了!!

追答

可以,给我个邮箱吧

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-05
我以前在公司做过通讯录检索,不过算法部分别人基本是看不懂的,就不贴出来了,几万行代码
第2个回答  2013-07-05
这个没人这么闲吧。。

求大神用c语言帮忙编个手机通讯录管理!!
功能和这个相近发给你看看吧,希望给你点灵感 include<stdio.h> \/\/定义输出输入函数 include<stdlib.h> \/\/定义杂项函数及内存分配函数 include<string.h> \/\/字符串处理 define BUFLEN 80 \/\/缓存区字符不超过80 define LEN 20 \/\/返回去字符不超过20 define N 200 struct record { ...

求一个通讯录管理系统 C语言编写的
printf("\\t\\t\\t 通讯录管理 v1.0"); printf("\\n\\n\\n\\n\\n\\n"); printf("\\t\\t\\t\\t作者 风中的纸屑\\n\\n\\n"); }int menu(void){ int choose;\/\/system("cls");printf(" \\n\\n");printf(" 1: 显示所有人员的信息 |");printf(" 2: 按姓名查询 |\\n");printf(" 3: 按号码查询 |")...

用C语言或C++做个通讯录管理系统
\/\/简单的学生通讯录管理系统#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>struct record{char name[20]; \/\/姓名char phone[12]; \/\/电话char adress[50]; \/\/地址char postcode[8]; \/\/邮政编码char e_mail[20]; \/\/电子邮件。}student[100]; \/\/假设最大数为10...

求C语言程序设计手机通讯录代码,急,
while(choice!=0);printf("谢谢使用通讯录功能!\\n");return 0;} void new_friend(struct friends_list friends[]){ struct friends_list f;if(Count==50){ printf("通讯录已满!\\n");return;} printf("请输入新联系人的姓名:");scanf("%s",f.name);printf("请输入新联系人的年龄:"...

求用C语言编写手机通讯录系统的程序
{ fp=fopen("数据文件.txt","w"); \/*不能打开另开辟一个文件*\/ i=1;} } void Show()void Delete()void Input() \/*向.通讯录中输入一个人的信息*\/ { s=(linklist)malloc(sizeof(listnode));printf("\\n\\n\\t请输入该用户的信息:");printf("姓名:");scanf("%s",&s->name);pri...

C语言程序设计,通讯录管理系统
\/*【用C语言编写具有数据插入、修改、删除、显示和查询功能的电话薄管理程序】1、数据包括:人名、工作单位、电话号码和E-mail地址。2、可对记录中的姓名和电话号码进行修改。3、可增加或删除记录。4、可显示所有保存的记录。5、可按人名或电话号码进行查询。另:采用结构体数组和文件系统实现。结构体...

急求C语言通信录管理系统(包括录入,查找,删除,修改,保存等功能)_百度...
{printf("需要帮助,请输入?\\n");printf("建立一个空通迅录,请输入n\\n");printf("打开一个通迅录,请输入0\\n");printf("保存当前通迅录,请输入s\\n");printf("关闭当前通迅录,请输入c\\n");printf("增加一条记录,请输入a\\n");printf("游览当前通迅录,请输入v\\n");printf("...

求用C语言编写一个 通讯录管理系统 。设计要求如下
求用C语言编写一个 通讯录管理系统 。设计要求如下 设计和实现一个“通信录管理系统”,实现对个人通信录进行管理,并满足以下要求:1.系统以菜单方式工作;2.使用链表对通信录信息进行管理和维护;3.使用二进制文件在磁盘上保存通信录... 设计和实现一个“通信录管理系统”,实现对个人通信录进行管理,并满足以下要求...

用C语言编写一个简单的通讯录软件,实现简单的 姓名 电话 邮箱 地址 的...
const char *PHONE = "电话:";const char *ADDR = "地址:";const int MAX_NUM = 512;PersonInfo g_piArry[MAX_NUM];static int read_line ( FILE *fp, char *line, int max_length ){ int i;char ch;\/* initialize index to string character *\/ i = 0;\/* read to end of ...

用C语言. 编写一个“通讯录管理系统”程序
用C语言.编写一个“通讯录管理系统”程序,通讯录信息包括姓名、工作单位、电话号码、QQ号码、等信息。通讯录信息用磁盘文件保存,要求程序包括如下功能。1.可以输入追加联系人记录。... 用C语言.编写一个“通讯录管理系统”程序,通讯录信息包括姓名、工作单位、电话号码、QQ号码、等信息。通讯录信息用磁盘文件保存,...

相似回答