通讯录-PPT
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•
void deletebyphone();//按电话删除 •
else
2-查询菜单 ************");
•
void deletebyname();//按姓名删除 •
•
void listbyphone();//按电话排序
•
•
void listbyname();//按姓名排序
•
•
void listmenu();//排序菜单
Strcmp函数比较两个字符串。设这两个字符串为str1,str2,若str1=str2,则返回零; 若str1>str2,则返回正数;若str1<str2,则返回负数。
• 3.模糊查询的实现 • Strstr函数
strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。找到所搜索的字符 串,则该函数返回字符串的地址;如果未找到所搜索的字符串,则返回NULL。
实验三
• 智能通讯录c语言实现 【要求】
利用c语言编程环境实现智能通讯录系 统的实现,其主要功能包括联系人信息的 录入,查询,删除,修改等,其具体操作 内容包括联系人的姓名,电话,类别的输 入,按姓名与电话的模糊查询,和通讯录 系统的加密
Leabharlann Baidu体设计要求
• 1.1)设计的系统能够录入、修改或删除某个联系人 的信息包括姓名、类别(网友、同学、亲戚等等) 和电话号码,每个联系人可有多个电话号码;
•
}
•
printf("\n\t\t文件导入成功");
•
default:mainmenu();
•
char relashionship[30];
•
else
•
printf("\n\t\t按任意键返回主菜单"); •
}
•
}
•
{
•
getch();
•
}
•
student[500];
•
printf("\n\t\t密码错误");
•
}
•
switch (choic)
•
#include<stdlib.h>
•
scanf("%d",&code);
•
fseek(fp,0,2); /*文件位置指针移动到 •
{
•
#include<string.h>
•
if (code == 111)
文件末尾*/
•
case '1':newrecord();break;
return;
•
void searchbyphone();//按电话查询 •
{
•
}
•
void deletemenu();//删除菜单
•
printf("\n\t\t通讯录文件不存在"); •
void mainmenu()//主菜单
•
void deleteall();//删除所有
•
if
•
{
• • • •
choic=getch();
输出结果
输出结果
输出结果
输出结果
输出结果
• 1.2)能够按姓名的精确匹配和模糊匹配(支持正则 表达式)来查询联系人的其他信息。同样,能够按 照输入的电话号码模糊查询,如输入156,则显示 所有156开头的电话号码。
• 1.3)为了保密起见,给你的通讯录加个登录程序, 即设定账号,通过密码方式登陆后通讯录才可见, 同时也要保证密码的安全性,
• • •
record),1,fp);num++);
•
case '4':listmenu();break; case '5':changerecord();break; case '6':writetofile();break; case '7':exit(0);
•
char postcode[10];
char choic; system("cls"); printf("\n\t\t******************** 主菜单 ********************");
•
void writetofile();//写入文件
•
}
•
printf("\n\t\t*********** 1-新添纪录
•
#include<conio.h>
•
{
•
if (ftell(fp)>0) /*文件不为空*/
•
case '2':searchmenu();break;
•
struct record
•
readfromfile();
•
{
•
case '3':deletemenu();break;
•
{
•
char name[20];
• 1. 4)提高通讯录的操作效率。
实现方法
主
菜
定义变量 与子函数
文件读取
单 编
辑
录入功能 查询功能 排序功能 删除功能 修改功能
文件保存
课题难点
• 1.主菜单模型建立
建立可视化主菜单,利用switch选择结构并读入键盘输入指令来实现对程序的控制。
• 2.查询,修改,删除目标的指定 • Strcmp函数
void deleteone();//删除单个 void changerecord();//修改记录 void showall();//显示所有 void readfromfile();//读取文件
• • •
((f{pp=rfionptfe(n"\("ns\ttu\td建en立t.b失in败",""w);b"))==NULL)••• exit(0);
•
return;
•
• •
int num=0;//外部变量num为文件中的 •
纪录数
•
FILE *fp;
•
void mainmenu();//主菜单
•
exit(0); } } void readfromfile()//从文件导入
• • •
} printf("\n\t\t文件导入成功"); printf("\n\t\t通讯录文件中无任何纪 录");
部分流程框图
开始
输入密码
密码是否正确? 否
是 执行通讯录操作 转 入 函 数 mainmenu
结束
开始 main
读取通讯录 存放文件
文件是否存在 否
是
导入通讯录
返回主菜单
结束
readfromfile
部分流程框图
部分流程框图
部分源代码
•
#include<stdio.h>
•
printf("\n\t\t请输入密码");
•
•
void main()
•
•
{
•
•
int code;
•
{
•
printf("\n\t\t通讯录文件已建立"); printf("\n\t\t按任意键进入主菜单");•
getch();
return;
•
}
•
exit(0);
•
printf("\n\t\t*********** 3-删除菜单 4-记录排序 ************"); printf("\n\t\t*********** 5-修改记录 6-保存退出***********"); printf("\n\t\t************7-不保存 退出**************************"); printf("\n\t\t请选择:");
•
void newrecord();//新添纪录
•
{
•
printf("\n\t\t按任意键返回主菜单");
•
void searchmenu();//查询菜单
•
•
getch();
•
void searchbyname();//按姓名查询
if((fp=fopen("student.bin","rb"))==NULL)•
•
char phone[20];
•
char adress[40];
•
while (1)
•
{
•
mainmenu();
•
}
• •
rewind(fp); /*文件位置指针移动到 文件开始位置*/
for (num=0;!feof(fp) && fread(&student[num],sizeof(struct