高分求高手编写一《通讯录管理系统》的c语言程序
通讯录管理系统主要功能:制作一个通讯录程序,该程序具有查找、添加、修改、删除功能。通讯录包括:姓名,电话,街道,城市,省,邮编等。模块设计参考:第一个模块...
通讯录管理系统
主要功能:制作一个通讯录程序,该程序具有查找、添加、修改、删除功能。通讯录包括:姓名,电话,街道,城市,省,邮编等。
模块设计参考:
第一个模块——主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。
第二个模块——Menu()的功能是:显示英文提示选单。
第三个模块——Quit()的功能是:退出选单。
第四个模块——Create()的功能是:创建新的通讯录。
第五个模块——Add()的功能是:在通讯录的末尾,写入新的信息,并返回选单。
第六个模块——Find()的功能是:查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。
第七个模块——Alter()的功能是:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。
第八个模块——Delete()的功能是:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。
第九个模块——List()的功能是:显示通讯录中的所有记录。
请不要在网上找来糊弄我,我要的是高手自己编写的,不然不会采取的,也不用花高分在这求了,达到要求后再加40以上的分!!! 展开
主要功能:制作一个通讯录程序,该程序具有查找、添加、修改、删除功能。通讯录包括:姓名,电话,街道,城市,省,邮编等。
模块设计参考:
第一个模块——主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。
第二个模块——Menu()的功能是:显示英文提示选单。
第三个模块——Quit()的功能是:退出选单。
第四个模块——Create()的功能是:创建新的通讯录。
第五个模块——Add()的功能是:在通讯录的末尾,写入新的信息,并返回选单。
第六个模块——Find()的功能是:查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。
第七个模块——Alter()的功能是:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。
第八个模块——Delete()的功能是:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。
第九个模块——List()的功能是:显示通讯录中的所有记录。
请不要在网上找来糊弄我,我要的是高手自己编写的,不然不会采取的,也不用花高分在这求了,达到要求后再加40以上的分!!! 展开
展开全部
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 10
struct library
{
int num;
char book_name[30];
char writer[30];
char sort_num[3];
char pub_company[30];
char pub_time[30];
char prise[30];
};
typedef struct library LIB;
LIB lib[N];
FILE *fp;
int all=0;
int menu(void);
void input(void);
void output(void);
void save(void);
void del(void);
void search(void);
void xiugai(void);
void sort(void);
int main()
{
for(;;)
{
switch(menu())
{
case 1:input();break;
case 2:output();break;
case 3:save();break;
case 4:search();break;
case 5:xiugai();break;
case 6:del();break;
case 7:sort();break;
case 0:exit(1);break;
}
}
}
int menu(void) /*显示主菜单*/
{
char m[3];
int n;
printf("\t\t1:input\n");
printf("\t\t2:output\n");
printf("\t\t3:save\n");
printf("\t\t4:search\n");
printf("\t\t5:xiugai\n");
printf("\t\t6:del\n");
printf("\t\t7:sort\n");
printf("\t\t0:exit\n");
printf("\t\tplease choose a operation(0-6):\n");
scanf("%s",m);
n=atoi(m);
return(n);
}
void input(void) /*显示输入函数*/
{
int i;
char m[3];
for(i=all;i<N;i++)
{
all++;
printf("please input informations:\n");
printf("\t\tnum:\n");
scanf("%d",&lib[i].num);
printf("\t\tbook_name:\n");
scanf("%s",lib[i].book_name);
printf("\t\twriter:\n");
scanf("%s",lib[i].writer);
printf("\t\tsort_num:\n");
scanf("%s",lib[i].sort_num);
printf("\t\tpub_company:\n");
scanf("%s",lib[i].pub_company);
printf("\t\tpub_time:\n");
scanf("%s",lib[i].pub_time);
printf("\t\tprise:\n");
scanf("%s",lib[i].prise);
a: printf("\t\tyes/no continue input?\n");
printf("\t\t1:yes\n");
printf("\t\t2:no\n");
scanf("%s",m);
if(atoi(m)==1)
continue;
else if(atoi(m)==2)
return;
else
{
printf("\t\tinput error!\n");
goto a;
}
}
}
void output(void) /*显示输出函数*/
{
int i;
for(i=0;i<all;i++)
{
printf("\t\t%d\n",lib[i].num);
printf("%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i].writer,lib[i].sort_num);
printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise);
}
}
void sort(void) /*从登陆号从大到小排序的函数*/
{
int b,i;
struct library flash;
if((fp=fopen("file.c","wb"))==NULL)
{ printf("cannot open file\n");
return;
}
for(b=0;b<N;b++)
{
for(i=b+1;i<N;i++)
{
if(strcmp(lib[b].sort_num,lib[i].sort_num)<0)
{flash=lib[b];lib[b]=lib[i];lib[i]=flash;}
}
}
printf("the down object is:\n");
printf(" num book'name writer sort_num pub_company pub_time prise\n");
for(b=0;b<N;b++)
{
if(lib[b].sort_num[0]!='\0')
printf("%d %s %s %s %s %s %s\n",lib[b].num,lib[b].book_name,lib[b].writer,
lib[b].sort_num,lib[b].pub_company,lib[b].pub_time,lib[b].prise);
else break;
}
}
void save(void) /*文件保存*/
{
int i;
if((fp=fopen("file.c","wb"))==NULL)
{
printf("can not open the file");
exit(1);
}
for(i=0;i<all;i++)
{
if(fwrite(&lib[i],sizeof(LIB),1,fp)!=1)
{
printf("can not write!");
exit(1);
}
}
fclose(fp);
}
void search(void) /*书名和作者名查找*/
{
int i,flag;
char m[3];
char name[30];
printf("\t\t请选择按书名或作者名查询:\n");
printf("\t\t1:书名\n");
printf("\t\t2:作者名\n");
scanf("%s",m);
i=atoi(m);
switch(i)
{
case 1:{
printf("\t\tplease input the book_name:\n");
scanf("%s",name);
flag=0;
for(i=0;i<N;i++)
{
if(strcmp(name,lib[i].book_name)==0)
{
printf("\t\t%d\n",lib[i].num);
printf("%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i].writer,lib[i].sort_num);
printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise);
flag=1;break;
}
}
if(flag==0)
printf("\t\tnot find the book!\n");
break; }case 2:{
printf("\t\tplease input the writer:\n");
scanf("%s",name);
flag=0;
for(i=0;i<N;i++)
{
if(strcmp(name,lib[i].writer)==0)
{
printf("\t\t%d\n",lib[i].num);
printf("%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i].writer,lib[i].sort_num);
printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise);
flag=1;break;
}
}
if(flag==0)
printf("\t\tnot find the wtiter!\n");
break;}
}
}
void xiugai(void) /*显示修改函数*/
{
int i,flag;
char name[30],n[3];
printf("\t\tplease input the book_name of qc :\n");
scanf("%s",name);
flag=0;
for(i=0;i<N;i++)
{
if(strcmp(name,lib[i].book_name)==0)
{
printf("\t\t%d\n",lib[i].num);
printf("%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i].writer,lib[i].sort_num);
printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise);
printf("\t\tplease input xiugai's the informations:\n");
printf("\t\tnum:\n");
scanf("%d",&lib[i].num);
printf("\t\tbook_name:\n");
scanf("%s",lib[i].book_name);
printf("\t\twriter:\n");
scanf("%s",lib[i].writer);
printf("\t\tsort_num:\n");
scanf("%s",lib[i].sort_num);
printf("\t\tpub_company:\n");
scanf("%s",lib[i].pub_company);
printf("\t\tpub_time:\n");
scanf("%s",lib[i].pub_time);
printf("\t\tprise:\n");
scanf("%s",lib[i].prise);
flag=1;break;
}
}
if(flag==0)
printf("\t\tnot find xiugai's the book!\n");
}
void del(void) /*显示删除函数*/
{
int i,flag,n;
char name[30];
printf("\t\tplease input the book_name of del:\n");
scanf("%s",name);
flag=0;
for(i=0;i<N;i++)
{
if(strcmp(name,lib[i].book_name)==0)
{
printf("\t\t%d\n",lib[i].num);
printf("%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i].writer,lib[i].sort_num);
printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise);
lib[i].num=lib[n-1].num; // n未初始化,
strcpy(lib[i].book_name,lib[n-1].book_name);
strcpy(lib[i].writer,lib[n-1].writer);
strcpy(lib[i].sort_num,lib[n-1].sort_num);
strcpy(lib[i].pub_company,lib[n-1].pub_company);
strcpy(lib[i].pub_time,lib[n-1].pub_time);
strcpy(lib[i].prise,lib[n-1].prise);
n=n-1;
flag=1;
printf("\t\tdel ok!\n");
break;
}
}
if(flag==0)
printf("\t\tno information of the book!\n");
}
#include <string.h>
#include <stdlib.h>
#define N 10
struct library
{
int num;
char book_name[30];
char writer[30];
char sort_num[3];
char pub_company[30];
char pub_time[30];
char prise[30];
};
typedef struct library LIB;
LIB lib[N];
FILE *fp;
int all=0;
int menu(void);
void input(void);
void output(void);
void save(void);
void del(void);
void search(void);
void xiugai(void);
void sort(void);
int main()
{
for(;;)
{
switch(menu())
{
case 1:input();break;
case 2:output();break;
case 3:save();break;
case 4:search();break;
case 5:xiugai();break;
case 6:del();break;
case 7:sort();break;
case 0:exit(1);break;
}
}
}
int menu(void) /*显示主菜单*/
{
char m[3];
int n;
printf("\t\t1:input\n");
printf("\t\t2:output\n");
printf("\t\t3:save\n");
printf("\t\t4:search\n");
printf("\t\t5:xiugai\n");
printf("\t\t6:del\n");
printf("\t\t7:sort\n");
printf("\t\t0:exit\n");
printf("\t\tplease choose a operation(0-6):\n");
scanf("%s",m);
n=atoi(m);
return(n);
}
void input(void) /*显示输入函数*/
{
int i;
char m[3];
for(i=all;i<N;i++)
{
all++;
printf("please input informations:\n");
printf("\t\tnum:\n");
scanf("%d",&lib[i].num);
printf("\t\tbook_name:\n");
scanf("%s",lib[i].book_name);
printf("\t\twriter:\n");
scanf("%s",lib[i].writer);
printf("\t\tsort_num:\n");
scanf("%s",lib[i].sort_num);
printf("\t\tpub_company:\n");
scanf("%s",lib[i].pub_company);
printf("\t\tpub_time:\n");
scanf("%s",lib[i].pub_time);
printf("\t\tprise:\n");
scanf("%s",lib[i].prise);
a: printf("\t\tyes/no continue input?\n");
printf("\t\t1:yes\n");
printf("\t\t2:no\n");
scanf("%s",m);
if(atoi(m)==1)
continue;
else if(atoi(m)==2)
return;
else
{
printf("\t\tinput error!\n");
goto a;
}
}
}
void output(void) /*显示输出函数*/
{
int i;
for(i=0;i<all;i++)
{
printf("\t\t%d\n",lib[i].num);
printf("%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i].writer,lib[i].sort_num);
printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise);
}
}
void sort(void) /*从登陆号从大到小排序的函数*/
{
int b,i;
struct library flash;
if((fp=fopen("file.c","wb"))==NULL)
{ printf("cannot open file\n");
return;
}
for(b=0;b<N;b++)
{
for(i=b+1;i<N;i++)
{
if(strcmp(lib[b].sort_num,lib[i].sort_num)<0)
{flash=lib[b];lib[b]=lib[i];lib[i]=flash;}
}
}
printf("the down object is:\n");
printf(" num book'name writer sort_num pub_company pub_time prise\n");
for(b=0;b<N;b++)
{
if(lib[b].sort_num[0]!='\0')
printf("%d %s %s %s %s %s %s\n",lib[b].num,lib[b].book_name,lib[b].writer,
lib[b].sort_num,lib[b].pub_company,lib[b].pub_time,lib[b].prise);
else break;
}
}
void save(void) /*文件保存*/
{
int i;
if((fp=fopen("file.c","wb"))==NULL)
{
printf("can not open the file");
exit(1);
}
for(i=0;i<all;i++)
{
if(fwrite(&lib[i],sizeof(LIB),1,fp)!=1)
{
printf("can not write!");
exit(1);
}
}
fclose(fp);
}
void search(void) /*书名和作者名查找*/
{
int i,flag;
char m[3];
char name[30];
printf("\t\t请选择按书名或作者名查询:\n");
printf("\t\t1:书名\n");
printf("\t\t2:作者名\n");
scanf("%s",m);
i=atoi(m);
switch(i)
{
case 1:{
printf("\t\tplease input the book_name:\n");
scanf("%s",name);
flag=0;
for(i=0;i<N;i++)
{
if(strcmp(name,lib[i].book_name)==0)
{
printf("\t\t%d\n",lib[i].num);
printf("%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i].writer,lib[i].sort_num);
printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise);
flag=1;break;
}
}
if(flag==0)
printf("\t\tnot find the book!\n");
break; }case 2:{
printf("\t\tplease input the writer:\n");
scanf("%s",name);
flag=0;
for(i=0;i<N;i++)
{
if(strcmp(name,lib[i].writer)==0)
{
printf("\t\t%d\n",lib[i].num);
printf("%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i].writer,lib[i].sort_num);
printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise);
flag=1;break;
}
}
if(flag==0)
printf("\t\tnot find the wtiter!\n");
break;}
}
}
void xiugai(void) /*显示修改函数*/
{
int i,flag;
char name[30],n[3];
printf("\t\tplease input the book_name of qc :\n");
scanf("%s",name);
flag=0;
for(i=0;i<N;i++)
{
if(strcmp(name,lib[i].book_name)==0)
{
printf("\t\t%d\n",lib[i].num);
printf("%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i].writer,lib[i].sort_num);
printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise);
printf("\t\tplease input xiugai's the informations:\n");
printf("\t\tnum:\n");
scanf("%d",&lib[i].num);
printf("\t\tbook_name:\n");
scanf("%s",lib[i].book_name);
printf("\t\twriter:\n");
scanf("%s",lib[i].writer);
printf("\t\tsort_num:\n");
scanf("%s",lib[i].sort_num);
printf("\t\tpub_company:\n");
scanf("%s",lib[i].pub_company);
printf("\t\tpub_time:\n");
scanf("%s",lib[i].pub_time);
printf("\t\tprise:\n");
scanf("%s",lib[i].prise);
flag=1;break;
}
}
if(flag==0)
printf("\t\tnot find xiugai's the book!\n");
}
void del(void) /*显示删除函数*/
{
int i,flag,n;
char name[30];
printf("\t\tplease input the book_name of del:\n");
scanf("%s",name);
flag=0;
for(i=0;i<N;i++)
{
if(strcmp(name,lib[i].book_name)==0)
{
printf("\t\t%d\n",lib[i].num);
printf("%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i].writer,lib[i].sort_num);
printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise);
lib[i].num=lib[n-1].num; // n未初始化,
strcpy(lib[i].book_name,lib[n-1].book_name);
strcpy(lib[i].writer,lib[n-1].writer);
strcpy(lib[i].sort_num,lib[n-1].sort_num);
strcpy(lib[i].pub_company,lib[n-1].pub_company);
strcpy(lib[i].pub_time,lib[n-1].pub_time);
strcpy(lib[i].prise,lib[n-1].prise);
n=n-1;
flag=1;
printf("\t\tdel ok!\n");
break;
}
}
if(flag==0)
printf("\t\tno information of the book!\n");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询