为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

实验六 手机短信中电话号码和手机号码的识别与提取

2017-09-18 8页 doc 49KB 102阅读

用户头像

is_751406

暂无简介

举报
实验六 手机短信中电话号码和手机号码的识别与提取实验六 手机短信中电话号码和手机号码的识别与提取 实验六 小型系统开发 计算机科学与技术系0902班 组 长: 雷耀阳 组 员:柴瑞东、李志鹏、张玲春 日 期: 实验报告 实验类型__综合设计__ 实验室__软件实验室1__ 1( 实验题目 手机短信中电话号码和手机号码的识别与提取 2( 实验目的和要求 掌握小型系统开发方法,提高学生综合开发能力。 根据实际问题,设计方案,综合运用课程知识,完成《学生成绩管理系统》或《数据结构算法演示系统》的设计、编程与调试工作。 3( 需求分析 要从手机短信的内...
实验六 手机短信中电话号码和手机号码的识别与提取
实验六 手机短信中电话号码和手机号码的识别与提取 实验六 小型系统开发 计算机科学与技术系0902班 组 长: 雷耀阳 组 员:柴瑞东、李志鹏、张玲春 日 期: 实验 实验类型__综合__ 实验室__软件实验室1__ 1( 实验题目 手机短信中电话号码和手机号码的识别与提取 2( 实验目的和要求 掌握小型系统开发方法,提高学生综合开发能力。 根据实际问题,设计,综合运用课程知识,完成《学生成绩管理系统》或《数据结构算法演示系统》的设计、编程与调试工作。 3( 需求 要从手机短信的内容中识别电话号码或手机号码,必须从短信的第一个字符开始查找,找到第一个数值型字符(‘0’,‘9’),然后依次判断其后的字符,若其后有连续的6个或7个数值型字符,则将其识别成电话号码并提取,若其后有连续的10个数值型字符,则将其识别成手机号码并提取。继续向后搜索直到整个短信查找完毕。 4( 概要设计 ?短信的存储结构类型定义 typedef struct { char word[200];/*短信内容*/ int length; /*短信长度*/ }Message; ?通讯录中记录的存储结构类型的定义 typedef struct { char call[7]; /*电话号码*/ char phone[11]; /*手机号码*/}Note; ?流程图 开始 定义各变量 输入短信内容 提取短信中的手机号 提取短信中的电话 输出电话号码 结束 5( 详细设计 根据输入的短信进行检索,找出其中的电话号码并输出。 次代码共分4个模块:主函数、输入函数、手机号码检索模块、电话号码检索模块。 其中手机和电话号码检索又分别分为查找和输出模块。 主函数: void main() { input(); phone(); call(); } 短信输入函数: void input() { int n=0; printf("请输入短信内容:\n"); scanf("%s",Q.word); } 手机号码查找: void phone() { int i=0,j=0,k=0,flag=0; while(i<200) { if(Q.word[i]=='0'||Q.word[i]=='1'||Q.word[i]=='2'||Q.word[i]=='3'|| Q.word[i]=='4'||Q.word[i]=='5'||Q.word[i]=='6'||Q.word[i]=='7'|| Q.word[i]=='8'||Q.word[i]=='9') { for(k=0;k<11;k++) { if(Q.word[i+k+1]=='0'||Q.word[i+k+1]=='1'||Q.word[i+k+1]=='2'|| Q.word[i+k+1]=='3'||Q.word[i+k+1]=='4'||Q.word[i+k+1]=='5'|| Q.word[i+k+1]=='6'||Q.word[i+k+1]=='7'||Q.word[i+k+1]=='8'|| Q.word[i+k+1]=='9') {flag++;} } if(flag==10&&(Q.word[i-1]!='0'&&Q.word[i-1]!='1'&&Q.word[i-1]!='2'&& Q.word[i-1]!='3'&&Q.word[i-1]!='4'&&Q.word[i-1]!='5'&&Q.word[i-1]!='6'&& Q.word[i-1]!='7'&&Q.word[i-1]!='8'&&Q.word[i-1]!='9')) { phoneadd(i); flag=0; } else flag=0; } i++; } } 电话号码查找: void call() { int i=0,j=0,k=0,flag=0; while(i<200) { if(Q.word[i]=='0'||Q.word[i]=='1'||Q.word[i]=='2'||Q.word[i]=='3'|| Q.word[i]=='4'||Q.word[i]=='5'||Q.word[i]=='6'||Q.word[i]=='7'|| Q.word[i]=='8'||Q.word[i]=='9') { for(k=0;k<7;k++) { if(Q.word[i+k+1]=='0'||Q.word[i+k+1]=='1'||Q.word[i+k+1]=='2'|| Q.word[i+k+1]=='3'||Q.word[i+k+1]=='4'||Q.word[i+k+1]=='5'|| Q.word[i+k+1]=='6'||Q.word[i+k+1]=='7'||Q.word[i+k+1]=='8'|| Q.word[i+k+1]=='9') {flag++;} } if(flag==6&&(Q.word[i-1]!='0'&&Q.word[i-1]!='1'&&Q.word[i-1]!='2'&& Q.word[i-1]!='3'&&Q.word[i-1]!='4'&&Q.word[i-1]!='5'&&Q.word[i-1]!='6'&& Q.word[i-1]!='7'&&Q.word[i-1]!='8'&&Q.word[i-1]!='9')) { calladd(i); flag=0; } else flag=0; } i++; } } 手机号码输出: void phoneadd(int i) { int j; for(j=0;j<11;j++) P.phone[j]=Q.word[i++]; printf("%s\n",P.phone); strcpy(&P.phone,"\0"); } 电话号码输出: void calladd(int i) { int j; for(j=0;j<7;j++) P.call[j]=Q.word[i++]; printf("%s\n",P.call); strcpy(&P.call,"\0"); } 调试分析 6( 在C_free里出现很多错误和警告,经过讨论解决了错误,但是没有解决警告的问题,但是系统可以 被编译,并出现结果。 7( 使用说明 程序名为LinkList.exe,运行环境为WINDOWS。程序执行后显示 输入短信内容 按回车群定输入后,即可输出短信中的手机号码和电话号码。 8( 实验 本次实验用数组做的话较容易完成。 最初在用队列做的时候碰到一些麻烦,很多东西不会用,只好换成用数组来完成。 在提取数字的地方,想过用枚举定义一组字符型数字,但是没能够正确完成,最后改为对0~9这10个 数字的分别判定。 9( 模块分工 雷耀阳2009100233 电话号码查找 call() 张玲春2009100209 手机号码输出 phoneadd() 李志鹏2009100207 手机号码查找 phone() 柴瑞东 2009100219 短信输入input() 电话号码输出 calladd()
/
本文档为【实验六 手机短信中电话号码和手机号码的识别与提取】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索