请高手用C语言编一下 电话本管理系统

来源:百度知道 编辑:UC知道 时间:2024/06/05 09:01:21
(1)应包含用户的姓名,电话号码,单位,地址,电子邮件。(2)用菜单选择并完成下述系统功能 #1各种基本数据的录入。如基本信息录入等。#2各种基本数据的修改。即允许对已经录入的数据重新进行编辑修改。#3各种基本数据的插入。如在信息中插入一条新信息等。#4各种基本数据的删除。如删除某个信息等。#5基于各种数据的查询。如按姓名查询或按电话号码查询。#6基于各种基本数据的统计计算。如统计各个地区的电话号码个数。#7按姓名进行排序。

需要可以运行的程序。
回答好再追加百分!

程序已编译确认:
#include <stdio.h>
#include <stdlib.h> /*与malloc.h差不多*/
#include <string.h>
#define maxlen 100

struct persons
{ char name[10]; /*定义结构体数组用于缓存数据*/
char addr[20];
char phnum[10];
}persons[maxlen];

typedef struct lnode{ /*通讯录结构中结点的定义*/
char name[10]; /*姓名*/
char addr[20]; /*地址*/
char phnum[10]; /*电话*/
struct lnode *next;
}listnode,*linklist;

linklist head=NULL,r=NULL; /*定义头指针和尾指针*/
listnode *s,*p0,*p1,*p2,*p3,*p4,*p5,*p6,*p7;
int i;
char name1[10],ch;
char str1[20];
FILE *fp; /*定义文件指针*/

void creat() /*将文件的信息读入结构体数组在转存入链表中*/
{ int j;
long k;
fp=fopen("people.txt","r+t"); /*打开文件*/
if(fp!=NULL)
{for(i=1;i<maxlen;i++)
{ j=fgetc(fp);
if(j==EOF)
return;
k=i-1;
fseek(fp,k*sizeof(struct persons),0); /*读取一个人的信息*/
fread(&persons[i],sizeof(struct persons),1