资源简介
本代码实现功能为简易通讯录,用了数组和链表两种方法实现,功能一样。本人数据结构课程设计的成果,拿出来分享下
代码片段和文件信息
#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语言课程设计--商场商品信息管理系
- C语言课程设计万年历
- 银行排队系统课程设计
- 物业管理系统c++ 课程设计源码
- 数据结构c语言版-单链表的操作程序代
- 编译原理-简单编译器课程设计C语言源
- 进程调度时间片轮转+优先级进程调度
- 专业课程设计—温度控制系统-包含(
- 杂志订阅管理系统
- 数据结构课程设计交通信息管理系统
- C语言课程设计报告-长整数四则运算
- 数据结构课程设计 通讯录的制作
- C++哈夫曼编码与译码课程设计实现源
- 数据结构课程设计——族谱管理系统
- 使用opengl的图形学大作业
- 操作系统课程设计 文件管理系统模拟
- 表达式求值C语言实现《数据结构》课
- mfc 课程设计 view 浏览器 收藏夹
- 课程设计报告+源码--计算器(C++)
- 航空售票订票系统++数据库课程设计
- 销售管理系统-C语言课程设计
- 数据结构课程设计公交线路优化查询
- 装载问题有两艘船,载重量分别是c
- 《C语言程序设计》课程设计报告
- 数据结构C语言课程设计平衡二叉树
- C++课程设计大作业
- C语言版课室管理系统
- c++职工信息管理系统课程设计报告
- 课程设计-学生成绩管理系统设计C++
评论
共有 条评论