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

C语言通讯录的程序

发布网友 发布时间:2022-05-12 23:21

我来回答

3个回答

热心网友 时间:2023-10-30 07:55

#include <stdio.h>
#include <stdlib.h> /*与malloc.h差不多*/
#include <string.h>
#include <iostream>
using namespace std;
#define maxlen 15
struct persons
{int num; /*定义结构体数组用于缓存数据*/
char name[20];
char e_addr[20];
char tel_no[15];
char sim_no;
char arch;
}persons[maxlen];

typedef struct lnode
{ /*通讯录结构中结点的定义*/
int num;
char name[20];
char e_addr[20];
char tel_no[15];
char sim_no;
char arch;
struct lnode *next;
}listnode,*linklist;

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

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

s=(linklist)malloc(sizeof(listnode)); /*装存入链表中*/
s->num=persons[i].num;
strcpy(s->name,persons[i].name);
strcpy(s->e_addr,persons[i].e_addr);
strcpy(s->tel_no,persons[i].tel_no);
s->sim_no=persons[i].sim_no;
s->arch=persons[i].arch;
if(head==NULL) /*用尾插法将其插入链表中*/
{head=s;r=head;head->next=NULL;}
else
{r->next=s;
r=s;r->next=NULL;
}
}fclose(fp);
}
else
{ fp=fopen("数据文件.txt","w"); /*不能打开另开辟一个文件*/
i=1;
}
}

void Show()
{printf("成功调用该函数\n");}
void Delete()
{printf("成功调用该函数\n");}

void Input() /*向.通讯录中输入一个人的信息*/
{ s=(linklist)malloc(sizeof(listnode));
printf("\n\n\t请输入该用户的信息:");
printf("姓名:");
scanf("%s",&s->name);
printf("电话号码:");
scanf("%s",&s->tel_no);
printf("单键拨号:");
scanf("%s",&s->sim_no);
printf("E-mail地址:");
scanf("%s",&s->e_addr);
printf("类别:");
scanf("%s",&s->arch);

if(head==NULL)printf("\n\n");
else
{p8=head;
while(p8!=NULL&&strcmp(s->name,p8->name)!=0&&strcmp(s->tel_no,p8->tel_no)!=0)
p8=p8->next;
if(p8!=NULL)
{printf("您添加的用户已存在!");
free(s);}}
if(head==NULL)
{
s->next = 0;
head=s;
r = s;
}
else
{
s->next = 0;
r->next = s;
r = s;

}
}
void Alter()
{ printf("success!\n");}
int main()
{
system("color a");
creat();
do
{
printf("\n\n\t\t请选择操作:");
printf("\n\t\t1.显示通讯录");
printf("\n\t\t2.删除通讯录");
printf("\n\t\t3.添加通讯录");
printf("\n\t\t4.编辑通讯录");
printf("\n\n\n");
printf("\t请选择:");
cin>>ch;
switch(ch)
{ case '1': Show(); /
break;
case '2': Delete();
break;
case '3': Input();
break;
case '4': Alter();
break;
fclose(fp);
exit(0);
break;
default:
printf("\n\t The num should 1-6!!! \n");
break;
}
}
while(1);
}追问您的函数没写完吧

热心网友 时间:2023-10-30 07:55

老师交给的作业你从网上搜,你是在骗自己(如果不是拿来参考的),真心希望你不是这样的,其实编程还是很有乐趣的,如果你会了你会喜欢上的,看看那些牛X的黑客们多神气。

热心网友 时间:2023-10-30 07:56

搜贴吧中的内容,有类似的东西。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...爱你你是我的罗密欧 , 我愿意变成你的朱丽叶' 谁知 有句歌词是“我爱你你是我的朱丽叶,我愿意变成你的梁山伯”是哪... 为什么打印出来的文档页码和原来的不一样 ...两台电脑用路由器上网一台是W7一台是XP如何实现两台电脑共享文件 win7怎么联另一台电脑win7怎么让网络和另一台电脑共享 w7的系统怎么共享电脑w7系统里面文件怎么共享另一台电脑 共享win7电脑w7系统里面文件怎么共享另一台电脑 翡翠有收藏价值吗,我们玩家如何去投资 价格一两万元的翡翠如何挑选 ppt怎么转换成视频?简单四步法,轻松搞定ppt微课录制 请问自考人力资源管理从业资格证需要什么条件 请问一般自考本科人力资源管理需要读几年?这都有什么要求嘛? 慢性咽喉炎可不可以吃烧烤 慢性咽炎应注意什么?易吃什么,不易吃什么? 扁桃体炎能吃 鱼和牛肉吗 慢性咽喉炎可以吃咸鱼咸肉吗 慢性咽喉炎可以吃鱼虾吗a 慢性咽喉炎咳嗽能吃鱼醒草吗 咽喉炎可以吃虾和鱼吗 小宝咽炎,咳嗽能吃鱼吗 颈椎,引起的慢性咽喉炎,能吃鱼,肉,蛋吗 梦见医生对自己说可以出院了 咽喉炎能否吃鸡和鱼 慢性咽喉炎 能吃鱼吗? 梦到出院拿了一落盆子回家? 梦见自己死了的老父亲说自己刚出院回家,有事发生吗? 病人梦见自己出院了 微信发红包的人? 生完孩子多久可以减肥,哺乳期怎样减肥不减奶?发愁! 生完孩子后的黄金减肥期是什么时候 c语言程序设计——编一个通讯录管理程序:序号 姓名 电话 地址 among 和amongst有什么区别? among 和amongest 用c语言编写一个通讯录程序,数组保存 among和amongst在用法上有啥区别 高分求一简单的C语言编程的通讯录 用C语言编写一个简单的通讯录软件,实现简单的 姓名 电话 邮箱 地址 的 存入 与 查找。 用c语言编写简单的手机通讯录 用C语言编写通讯录,要有查询,添加,删除功能。其他不要,简单一点的 java计算器含有多功能等 黑色的帆布包会掉色吗 英语单词Among的用法?? ppt在手机做好后如何展示给大家 我的白外套,在课桌上蹭地特别脏,特别是袖口,该怎么洗呢?我是在学校,有些东西弄不到,求大神指点!! 全国教师信息管理系统晚上关闭吗 部门开展什么培训才好 招聘部门培训原因? S.items[S.top]=item; Kt六大体重穿碳板会不会裂开 kt6碳板裂了还能穿吗