问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

急求c语言通讯录

发布网友 发布时间:2022-04-23 01:21

我来回答

1个回答

热心网友 时间:2023-10-08 22:04

给你一个完整的代码 ,希望你参照一下,自己动动写写程序,希望能对你有些帮助........

#define N 50
#define exit
#include<stdio.h>
#include<string.h>
struct people
{char name[20]; char company[50]; char num[15]; char mail[20];}peop[N];

void printf_face()
{ printf("\n\t姓名\t单位\t电话号码\t邮箱\n"); }

void printf_one(int i)
{ printf("\t%s\t%s\t%s\t%s\n",peop[i].name,peop[i].company,peop[i].num,peop[i].mail); }

void printf_n(int n)
{ int j;
for(j=0;j<n;j++)
{ if((j!=0)&&(j%10==0)) {printf("\n\nPress any key to continue...:"); getchar(); puts("\n\n");}
printf_one(j);
} getchar();
}

int load()
{ FILE *fp;
int i;
if((fp=fopen("file","rb"))==NULL)
{ printf("\nCan not open file\n");
exit (0);
}
for(i=0;!feof(fp);i++)
fread(&peop[i],sizeof(struct people),1,fp);
fclose(fp);
return(i-1);
}

int modify_data(int i,int n)
{ int c,w1; void input(int i); void menu();
do
{ puts("\n修改选项=>\n\n 1).姓名 2).单位 3).电话号码 4).邮箱 5).所有数据 6).取消并返回");

printf("请选择?: [ ]\b\b");
scanf("%d",&c);
if(c>6||c<1) {puts("\nChoose error! Please again!"); getchar();}
}while(c>6||c<1);
do
{ switch(c)
{ case 1: printf("name:"); scanf("%s",peop[i].name); break;
case 2: printf("company:"); scanf("%s",peop[i].company); break;
case 3: printf("number:"); scanf("%s",peop[i].num); break;
case 4: printf("e-mail:"); scanf("%s",peop[i].mail); break;
case 5: input(i); break;
case 6: menu();
}
puts("\nNow:\n");
printf_face(); printf_one(i);
printf("\n确定?\n\n\t1).是 2).不,重新修改 3).返回不保存 [ ]\b\b");
scanf("%d",&w1);
}while(w1==2);
return(w1);
}

void input(int i)
{ printf_face(); printf("\t");
scanf("%s\t%s\t%s\t%s",peop[i].name,peop[i].company,peop[i].num,peop[i].mail); }
void save(int n)
{ FILE *fp; int i;
if((fp=fopen("file","wb"))==NULL)
{ printf("\nCan not open file\n");
exit(0);
}
for(i=0;i<n;i++)
if(peop[i].name[0]!='\0')
if(fwrite(&peop[i],sizeof(struct people),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}

void printf_back()
{
int w; void browse(); void menu();
printf("\n\n\t^_^.Successful. ^_^\n\n");
printf("What do you want to do?\n\n\t1).浏览所有\t2).返回: [ ]\b\b");
scanf("%d",&w);
if(w==1) browse();
else menu();
}

void main()
{
void menu();
menu();
}

void menu()
{
int n, w1;
void enter(); void add(); void modify(); void browse(); void deleter(); void search();
do
{
puts("\t************************菜单************************ ");
puts("\t\t*******************1.新建联系人*******************");
puts("\t\t*******************2.添加联系人*******************");
puts("\t\t*******************3.修 改*******************");
puts("\t\t*******************4.删 除*******************");
puts("\t\t*******************5.浏 览*******************");
puts("\t\t*******************6.查 找*******************");
puts("\t\t*******************7.退 出*******************");
puts("\n\n\t********************通讯录********************* ");
printf("请选择服务种类(1-7) : [ ]\b\b");
scanf("%d",&n);
if(n<1||n>7)
{w1=1;getchar();}
else w1=0;
}while(w1==1);
switch(n)
{
case 1: enter(); break;
case 2: add(); break;
case 3: modify(); break;
case 4: deleter(); break;
case 5: browse(); break;
case 6: search(); break;
case 7: exit(0);
}
}

void enter()
{ int i,n;
printf("How many people(0-%d)?:",N-1);
scanf("%d",&n);
printf("请输入数据:\n");
for(i=0;i<n;i++)
{printf("\n输入第 %d个记录.\n",i+1);
input(i);
}
if(i!=0) save(n);
printf_back();
}

void add()
{ int i,n,k,t;
n=load();
printf("How many people do you want to add(0-%d)?:",N-n-1);
scanf("%d",&t); k=n+t;
for(i=n;i<k;i++)
{ printf("\n输入第 %d个记录.\n",i-n+1); input(i);}
save(k); printf_back();
}

void modify()
{ struct people s; int i,n,k,w0=1,w1,w2=0;
n=load();
do
{ k=-1; printf_face(); printf_n(n);
do
{ printf("\n\nEnter name that you want to modify!\nName:");
scanf("%s",s.name);
for(i=0;i<n;i++)
if(strcmp(s.name,peop[i].name)==0) {k=i; s=peop[i];}
if(k==-1) printf("\n\n没有记录请重新输入!");
}while(k==-1);
printf_face(); printf_one(k);
w1=modify_data(k,n);
if(w1==1) {printf("\n\t^_^.Successful ^_^.\n\n是否继续?\n\n\t1).是 2).保存返回\t[ ]\b\b");
scanf("%d",&w0); w2=1;}
else
{w0=0; if(w2==0) peop[k]=s;}
if((w0!=1)&&(w2==1)) save(n);
}while(w0==1); menu();
}

void browse()
{ int n;
n=load();
printf_face(); printf_n(n);
printf("\t共有 %d 记录.\n",n);
printf("\nPress any key to back...");
getchar();
menu();
}

void search()
{ int w0,k,i,n,w1,w2; struct people s; n=load();
do
{printf("请选择查找类别: 1).姓名 2).电话号码 [ ]\b\b");
scanf("%d",&w1); if(w1<1||w1>2) {printf("输入错误!请重新输入!\n"); w2=1;}
}while(w2==1);
if(w1==1)
{do
{ k=-1;
do
{ printf("\n\nEnter name that tou want to search!\nName:");
scanf("%s",s.name);
for(i=0;i<n;i++)
if(strcmp(s.name,peop[i].name)==0) {k=i; s=peop[i];}
if(k==-1) printf("\n\n没有记录请重新输入!");
}while(k==-1);
printf_face(); printf_one(k);
printf("\nWhat do you want to do?\n\t1).继续 2).返回菜单 [ ]\b\b");
scanf("%d",&w0);
}while(w0==1);
menu();
}
else
{ do
{ k=-1;
do
{ printf("\n\nEnter number that tou want to search!\nNum:");
scanf("%s",s.num);
for(i=0;i<n;i++)
if(strcmp(s.num,peop[i].num)==0) {k=i; s=peop[i];}
if(k==-1) printf("\n\n没有记录请重新输入!");
}while(k==-1);
printf_face(); printf_one(k);
printf("\nWhat do you want to do?\n\t1).继续 2).返回菜单 [ ]\b\b");
scanf("%d",&w0);
}while(w0==1);
menu();
}
}

void deleter()
{struct people s; int i,n,k,w0,w1;
n=load();
do
{ k=-1; printf_face(); printf_n(n);
do
{ printf("\n\nEnter name that you want to delete!\nName:");
scanf("%s",s.name);
for(i=0;i<n;i++)
if(strcmp(s.name,peop[i].name)==0) {k=i; s=peop[i];}
if(k==-1) printf("\n\n没有记录请重新输入!");
}while(k==-1);
printf_face(); printf_one(k);
printf("\n确定?\n\t1).是 2).返回 [ ]\b\b");
scanf("%d",&w0);
if(w0==1) {peop[k].name[0]='\0'; save(n);} else break;
printf("\n\t^_^.Successful^_^.\n");
printf("What do you want to do?\n\t1).继续 2).返回 [ ]\b\b");
scanf("%d",&w1);
}while(w1==1);
menu();
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
被培训机构骗了,他们耍无赖不退钱,如果我把他公司砸到他们骗走我的钱... 木地板的类型以及可以使用的拖把 冯小刚脸有红斑!可以去东北步行街特产店买百草之王人参!吃段时间就好... Empires &amp; Allies – 社交网络 UID 是什么?我如何找到它? Empires &amp; Allies – Regarder pour gagner (RG) – FAQ Empires &amp; Allies – 如何建造并升级基地营地? 男领导是喜欢这个女人吗? 地雷战纪念馆的主要展览 我想问一下打火机爆炸能伤人吗 万能焊条可以用打火机烧吗? 通讯录代码 C语言 跪求 求c语言通讯录程序设计 c语言 通讯录问题 用c语言编写通讯录 c语言编写通信录 C语言在通信方面的应用 用C语言如何做通讯录? 跪求注释C语言通讯录代码 谢谢 QAQ代码太长 急需 详细一点 感谢 c语言通讯录程序 用C语言做通讯录 C语音通话是什么意思,怎么用啊。 c语言串口通讯过程? C语言编写通讯录 c语言通讯录代码 c语音通话是什么意思 c语言如何实现语音通信? 如何在EXCEL中输入平方的单位? 平方在EXCEL里面怎么打出来? 如何在EXCEL里面输入平方符号 小米再次人事调整是为上市做准备吗? 最新版本的钉钉怎么请假??? 洋淘买家秀怎么设置? 淘宝自己的买家秀在哪里看 洋淘买家秀怎样设置呢? 淘宝卖家的宝贝还在售卖中,现在看以前宝贝的买家秀就没有了,在哪可以... 淘宝店铺怎么设置洋淘买家秀? 用电脑登录淘宝,怎么查看洋淘秀?还有怎么看我的洋淘秀? 在淘宝购买后评价发了文字图片+视频显示到洋淘秀了,还在在淘宝个人主页... 如何关闭淘宝洋淘秀? 淘宝卖家发布买家秀后会在哪里展示? 为什么淘宝显示有一个洋淘却看不见? 淘宝天猫的洋淘买家秀怎么一键批量下载保存? 我是淘宝小卖家,设置了买家秀,却不知道这个模块在哪显示?找不到了?求解答 华为M5青春版平板电脑怎么样? 华为平板M5怎么分屏? 华为平板m5值得入手吗?为什么? 华为平板M5如何进入工程模式? 华为平板m5如何调出隐藏的应用软件? 华为平板m5怎么补电? 华为平板M5拿来办公怎么样,做PPT文档之类的?