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

求用C语言编一个通信录管理系统4

发布网友 发布时间:2023-11-04 01:34

我来回答

3个回答

热心网友 时间:2024-03-18 01:18

以前写了一个简单的:
#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);
}

热心网友 时间:2024-03-18 01:19

5分要求人家用C语言帮你编一学生通讯录管理系统是不显示的??你把分提到200分,送到高分区,那里高手多一点.good luck!
.
希望能够帮助你 ^_^ 也希望能够选为最佳答案!

热心网友 时间:2024-03-18 01:19

发,消,息给,,你了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
不干胶印刷设备多少钱一套 小型不干胶印刷机价格 什么是走水运 水路的特点是什么 疯狂僵尸机游戏怎么玩,植物大战僵尸高清版怎么玩 植物大战僵尸2 植物大战僵尸2戴夫最好的朋友是谁? 怎么下载疯狂的戴夫游戏 游戏下载地址 小红书数据分析工具推荐 三分钟做好一张小红书封面,不同平台超好用的高效率工具你造吗_百度知... 网球王子的剧场版都有哪些啊 网球王子剧场版:英国式庭球城决战DVD情报 问道中元婴在哪练接任务 居家养老是什么? ...已经做设备维护将近三年了,感觉都学不到东西生活很迷茫!听说术自动... 寄左省杜拾遗的作品原文 寄左省杜拾遗的作者简介 iphone6手机晃荡有响声类似螺丝似的不是按键。求回答…谢谢另外要确实有... 打造世界里的沙盒和普通模式指的是什么?7 坐飞机托运行李,超出了1公斤 可以吗2 一个手机号同时注册了两个怎样找回第一个微信? 一个手机号码注册了两个之前那个微信怎么找回来 请问我第一... 求一个C语言程序:电话簿管理系统。 一个手机注册两个,第一个怎么找一个手机注册两个,第一个... 吃了四颗斯皮仁诺影响月经吗 ...但我看索尼的系列一直不错,RX10M4这款相机成像如何? 从青岛开车去即墨怎么走 求详细路线 老公总是想学人家炒股,我怕到时钱没赚着搞得家破人亡,我看了太...6 寄左省杜拾遗中的“省”的读音是什么4 ...然后手就麻木了,我赶紧把血吸出来,请问这预示着什么?因为我女儿也... 请问索尼RX10M4这个操作起来如何?有点怕不习惯! 苹果手机为什么别人打电话第一次总是通话中1948 word里如何在□里打√!框框里打勾!!!!!2143 WORD如何在一个小方框框里打勾69 同一个怎么在两个手机同时在线? 我的好友怎么转移到别的上 我想问一下我在物业公司做主管,下班时间还让我上班,我该怎么办... 第一次干什么作文500字初中作文27 同一个怎么在两个手机同时在线 迪拜建筑的迪拜世界中心国际机场 儿童游乐园建在什么地方比较合适?1 我昨天来的月经,吃了三个香焦,今天吃了两个,有什么严重后果吗... 达州未来城市什么时候开盘? 乘客在国际航班托运行李可以带多少公斤130 国际航班 行李托运能带多少公斤?2 军曹里的人物介绍9 一年内怎么改第二次 EXCEL中如何根据第一列相同的文字,将第二列的不同行的文字合并成... 苹果手机壁纸怎么设置动态壁纸6440 vivoX5PRO锁屏时候那个昵称和图片是我新设置的图片,我... 怎么转里的好友到另一个呢? 岑参《寄左省杜拾遗》,“拾遗”为何职及由来? 谢谢各位了1