资源简介
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聊天程序设计完整教程
相关资源
- 北京化工大学计算方法(C/C++)讲义
- GBT 28169-2011 嵌入式软件 C语言编码规范
- XUnZip Zip解压缩.rar
- Windows_API_函数大全 C/C++
- C语言程序设计教材习题参考答案.do
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- 高效FFT的C/C++代码实现包括基2的DIF和
- c/c++开发网络验证和本地验证
- 操作系统存储管理实验报告c/c++
- C++编写的万年历源码
- C语言进阶源码---基于graphics实现图书
- 井字棋三连棋的AI实现,C/C++
- 《水果忍者》设计报告.doc
- MFC实现的红绿灯程序
- Win32简易画图程序
- C++网络爬虫项目
- 泡泡堂(炸弹人)小游戏C/C++完整源码
- 使用C/C++读取BITMAP的内容
- VC图像处理-用Canny算子提取边缘
- C/C++视频教程
- 个人总结的一些C/C++编码规范
- 高斯消去法求解线性方程组C/C++程序输
- celrityC/C++源码查看工具
- 网络编程MFC 实验四 FTP客户端功能实现
- C/C++语言大作业、小游戏
- 完整的C/C++时序的B+树数据库系统实现
- Eclipse C/C++ 自动补全的cdt补丁
- MongoDB C/C++开发使用案例Demo
- C/C++使用WinIO读取CMOS数据代码
- Diab C/C++ Compiler for PowerPC
评论
共有 条评论