资源简介
本代码实现功能为简易通讯录,用了数组和链表两种方法实现,功能一样。本人数据结构课程设计的成果,拿出来分享下

代码片段和文件信息
#include
#include
#include
#include
#include
typedef struct Record //个人信息
{
char name[20];
char street[20];
char city[20];
char eip[10];
char state[20];
}recordtype;
typedef struct node//节点
{
recordtype data;
struct node *next*prior;
}linklist;
#define LEN sizeof(linklist)
FILE *fp;
int flag;//flag为0表示无记录,否则为1
void mainmenu(linklist *head);//主菜单
void filemenu(linklist *head);//文件菜单
void save(linklist *head);//保存
void saveexit(linklist *head);//保存并退出
void editmenu(linklist *head);//编辑菜单
void newrecord(linklist *head);//新添记录
void modif(linklist *head);//修改
void deletemenu(linklist *head);//“删除”主菜单
void del(linklist *p);//删除某个确定编号
void deleteall(linklist *head);//删除所有
void deleteone(linklist *head);//删除单个
void viewmenu(linklist *head);//查看菜单
void displayall(linklist *head);//显示所有记录
void search(linklist *head);//按姓名查找
void helpmenu(linklist *head);//帮助菜单
int main(void) ////////////// 主函数 ////////////////////
{
system(“color B0“);
///////// 导入并建立链表 ////////
linklist *head*p*q;
int x;
head=(struct node*)malloc(LEN);
head->prior=NULL;
head->next=NULL;
q=head;
printf(“ 简易通讯录管理系统“);
if((fp=fopen(“txl.bin““rb“))==NULL)
{
printf(“\n“);
for(x=1;x<=80;x++)//输出分隔线
printf(“*“);
printf(“\n\t\t\t 欢迎使用通讯录管理系统!\n\n这是您第一次使用该程序系统将为您建立一个新的通讯录文件...“);
if ((fp=fopen(“txl.bin““wb“))==NULL)
{
printf(“\n糟糕!建立失败!“);
exit(1);
}
else
{
flag=0;
printf(“\n系统已为您建立好一个空的通讯录!“);
printf(“\n“);
for(x=1;x<=80;x++)//输出分隔线
printf(“*“);
printf(“\n按任意键进入主菜单界面...“);
getch();
}
}
else
{
fseek(fp02); //文件位置指针移动到文件末尾
if (ftell(fp)>0) //文件不为空
{
flag=1;
rewind(fp);
printf(“\n“);
for(x=1;x<=80;x++)//输出分隔线
printf(“*“);
printf(“\n\t\t\t 欢迎使用通讯录管理系统!“);
while(!feof(fp))
{
p=(struct node*)malloc(LEN);
if((fscanf(fp“ %s %s %s %s %s“p->data.namep->data.statep->data.cityp->data.streetp->data.eip))==NULL)
{
printf(“\n文件读取出错!\n退出程序...“);
getch();
exit(1);
}
q->next=p;//尾插法
p->prior=q;
q=p;
}
q->next=NULL;
printf(“\n\n文件读取成功!“);
printf(“\n“);
for( x=1;x<=80;x++)//输出分隔线
printf(“*“);
printf(“\n按任意键进入主菜单界面...“);
getch();
}
else
{
flag=0;
printf(“\n“);
for(x=1;x<=80;x++)//输出分隔线
printf(“*“);
printf(“\n\t\t\t 欢迎使用通讯录管理系统!\n\n文件已导入成功!“);
printf(“\n通讯录文件中无任何纪录!“);
printf(“\n“);
for( x=1;x<=80;x++)//输出分隔线
printf(“*“);
printf(“\n按任意键进入主菜单界面...“);
getch();
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 23371 2010-01-01 17:24 txl1.cpp
文件 15130 2009-12-27 17:03 txl2.cpp
----------- --------- ---------- ----- ----
38501 2
相关资源
- C语言课程设计
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 将图片转换为C语言数组的程序
- 宠物管理系统课程设计(源码+数据库
- c语言课程设计:客房登记系统源码
- c++数组快排算法
- 链表的基本操作.c
- 链表实现学生管理系统(main.c)
- 8位竞赛抢答器的课程设计报告.docx
- c++ 单链表
- 16进制字符串转字节数组
- c++调用C# COM 参数是结构体数组
- VC++MFC课程设计的学生成绩管理系统
- C++实现21点游戏
- C语言解惑—指针、数组、函数和多文
- c++课程设计学生管理系统浙工大源码
- 课程设计: MFC 学生信息管理系统
- dsp课程设计——语音加密.zip
- 广东工业大学数据结构课程设计航空
- 数据结构课程设计扑克牌排序
- c++课程设计宾馆客房管理系统
- c语言课程设计-职工信息管理系统-单
- 飞机票订购系统C语言课程设计报告全
- c++ 课程设计_中国象棋
- 编译原理课程设计-C语言子集编译器
- 操作系统课程设计(银行家算法)附
- 用c写的航空订票系统 航班信息改变
- MFC实现的红绿灯程序
评论
共有 条评论