资源简介
C语言实现的个人通讯录管理系统,用链表实现的,有文件的运用
代码片段和文件信息
#include
#include
#include
#include
#include“Alter.h“
#include“List.h“
#include“Node.h“
void Delete(List* L)
{
char cb;//cb用于控制选择功能
char m[10];//用于保存要删除的姓名
Node* p=L->head->next;//p用于遍历链表,并对数据做出修改
Node* current=p;
system(“cls“);
printf(“\n\t\t----------------- 删除菜单 ----------------------“);
printf(“\n\t\t| 1-删除所有 |“);
printf(“\n\t\t| 2-删除单个 |“);
printf(“\n\t\t| 任意键返回主菜单 |“);
printf(“\n\t\t|-------------------------------------------------“);
printf(“\n\t\t请选择您所所要的服务:\n“);
c = getch();
switch (c)
{
case ‘1‘:
Free(L);
fopen(“contacts.rec““wb“);
break;
case ‘2‘:
printf(“请输入要删除的联系人的姓名:“);
fflush(stdin);
gets(m);
while(p)
{
if(!strcmp(current->data.namem))
p=Erase(L current);
else
p=p->next;
}
printf(“删除成功“);
break;
default:
main_menu(L);
}
printf(“返回主菜单(y/n)(n结束程序)“);
scanf(“%c“ &b);
switch(b)
{
case ‘y‘:
main_menu(L); break;
case ‘n‘:
exit(0);
}
}
void Revise(List* L)
{
char c; //c用于控制返回主菜单或结束程序
int m=0;
Node* p=L->head->next;
Node* current=p;
printf(“请输入要修改的联系人的姓名:“);
scanf(“%s“ &m);
while(p)
{
if(current->data.kind==m)
break;
else
p=p->next;
}
printf(“\n\t\t------------请输入修改后的内容-------------------“);
printf(“修改后的姓名:\n“);
fflush(stdin);
gets(current->data.name);
printf(“修改后的移动电话:\n“);
scanf(“%d“¤t->data.mob);
printf(“修改后的固定电话:\n“);
scanf(“%d“¤t->data.tel);
printf(“修改后的地址:\n“);
fflush(stdin);
gets(current->data.loc);
printf(“修改后的电子邮件:\n“);
fflush(stdin);
gets(current->data.ema);
printf(“修改后的分类1.无 2.家人 3.亲戚 4.朋友 5.同学 6老师:\n“);
scanf(“%d“¤t->data.kind);
printf(“修改后的QQ号:\n“);
scanf(“%d“¤t->data.qq);
printf(“修改后的生日:\n“);
fflush(stdin);
gets(current->data.bir);
system(“cls“);
printf(“修改成功\n“);
printf(“返回主菜单(y/n)(n结束程序)“);
scanf(“%c“ &c);
switch(c)
{
case ‘y‘:
main_menu(L); break;
case ‘n‘:
exit(0);
}
}
void Add_contact(List* L)
{
char ct[2]; //控制程序返回主菜单或退出
char ch; //控制循环结束
Type item;//item储存用户输入的数据
FILE* fp;
if(!fopen(“contacts.rec““r“))
fp=fopen(“contacts.rec““wb+“);
else
fp=fopen(“contacts.rec““rb+“);
printf(“input records:\n“);
while(1)
{
printf(“name:“);//每循环一次就重新定义一次并存储到链表结点中
fflush(stdin);
gets(item.name);
printf(“\nmobilephone number:“);
scanf(“%d“&item.mob);
printf(“\ntelephone number:“);
scanf(“%d“&item.tel);
printf(“\naddress:“);
fflush(stdin);
gets(item.loc);
printf(“\nemail:“);
gets(item.ema);
printf(“\nqq number:“);
scanf(“
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3929 2018-01-20 15:20 Alter.c
文件 132 2018-01-20 12:27 Alter.h
文件 966 2018-01-20 15:39 Display.c
文件 91 2018-01-20 14:47 Display.h
文件 1388 2018-01-20 15:39 List.c
文件 455 2018-01-20 13:42 List.h
文件 1386 2018-06-29 21:10 main.c
文件 545 2018-01-20 14:01 Node.c
文件 553 2018-01-20 12:47 Node.h
文件 4083 2018-01-20 15:39 Search.c
文件 197 2018-01-20 12:36 Search.h
- 上一篇:迪杰斯特拉算法(Dijkstra)
- 下一篇:基于MFC仿QQ聊天程序设计完整教程
相关资源
- g711音频编解码(C/C++)实现
- ini文件读取源代码
- C/C++实现FAT文件系统的读写
- C++制作加密解密系统
- 椭圆曲线密码ECC算法实现源码C++
- 图像处理 逆滤波处理 C/C++语言实现
- c/c++实现银行家算法模拟
- 操作系统的模拟实现 C++编写
- C/C++课程设计-学生成绩管理系统
- 大一C语言基础学习练习例题大部分考
- 林锐 《高质量C/C++编程》
- 掌纹识别c/c++代码
- 传智播客c/c++教程
- 基于C/C++基础的物品竞拍系统
- 计算无向图中桥的数量环算法超快
- c++程序设计》第二版高等教育出版社
- C++标准库第2版_带书签_高清完整版
- SIFT代码,C/C++
- Linux环境下的文件安全传输(C/C++)
- 数据库管理系统原型开发C/C++
- C/C++程序 多元多项式的相乘
- 维特比译码+卷积码编码程序C/C++实现
- 特洛伊木马(C/C++)
- 基于c/c++实现的宿舍管理系统可做小型
- C/C++语言实现求矩阵的广义逆
- 基于C/C++的局域网聊天室源码
- 网关模板 C/C++程序编写
- socket实现的CS框架
- 贪心算法编写的01背包问题c/c++
- 操作系统实验-----MFC线程--购票系统演
评论
共有 条评论