通讯录-PPT

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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
相关文档
最新文档