欢迎来到天天文库
浏览记录
ID:21224143
大小:87.19 KB
页数:10页
时间:2018-10-20
《第七组 数据结构 课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据结构实验报告实验六手机短信中电话号码和手机号码的识别与提取实验题目:手机短信中电话号码和手机号码的识别与提取专业班级:计科系1003班 组长:高鉴(2010100314)组员:李美(2010100347)段艳辉(2010100318)王旭峰(2010100309)2012年6月10日实验报告实验类型__综合__实验室__软件实验三__一、实验题目手机短信中电话号码和手机号码的识别与提取二、实验目的和要求掌握小型系统开发方法,提高学生综合开发能力。根据实际问题,设计方案,综合运用课程知识,完成《学生成绩管理系统》或《数据结构算法演示系统》的设计、编程与调试工作。三、需求分析本程序在
2、c++6.0中运行,实现手机短信中电话号码和手机号码的识别与提取:1.在使用手机收发短信时,收到的短信内容中常会包含对方发来的电话号码或手机号码,为了方便用户能直接提取其中的号码并存入到其手机的通讯录中,现要求开发手机系统软件中的一个子功能,实现从手机短信内容中识别和提取电话号码(7位或8位)和手机号码(11位),并将其存入通讯录中。2.设计分析要从手机短信的内容中识别电话号码或手机号码,必须从短信的第一个字符开始查找,找到第一个数值型字符(‘0’~‘9’),然后依次判断其后的字符,若其后有连续的6个或7个数值型字符,则将其识别成电话号码并提取,若其后有连续的10个数值型字符,则将其识
3、别成手机号码并提取。继续向后搜索直到整个短信查找完毕。四、概要设计1、为了实现上述程序功能,需要定义1)、①短信的存储结构类型定义typedefstruct{charword[200];intlength;}message;2)、号码的存储结构体类型定义:typedefstruct{charcall[7];charphone[11];}telephone;3)、单链表结构体的定义:typedefstruct{charname[8];/*姓名*/charphone[9];/*办公室电话号码*/charcall[12];/*手机号码*/}DateType;/*电话薄的结构类型*/4)、结点
4、结构体的定义:typedefstructnode{DateTypedata;/*结点的数据域*/structnode*next;/*结点的指针域*/}ListNode,*LinkList;/*电话薄的结构类型*/2、本程序分为六个模块a、主程序模块:实现对函数的调用及循环;b、短信建立模块:实现短信的建立c、号码的提取模块:实现号码的提取d、单链表的建立模块:建立电话簿e、单链表的插入模块:实现电话簿中电话的插入f、单链表的显示模块:实现电话簿中所有电话的显示3、各模块间的关系:五、详细设计#include#include#include5、ib.h>typedefstruct{charword[200];intlength;}message;typedefstruct{charcall[7];charphone[11];}telephone;voidcalladd(charc[]);voidphoneadd(charc[]);typedefstruct{charname[8];/*姓名*/charphone[9];/*办公室电话号码*/charcall[12];/*手机号码*/}DateType;/*电话薄的结构类型*/typedefstructnode{DateTypedata;/*结点的数据域*/structnode6、*next;/*结点的指针域*/}ListNode,*LinkList;/*电话薄的结构类型*/messageinput(){messageQ;inti;printf("***请输入短信内容,并以#结束:***");for(i=0;i<200;i++){scanf("%c",&Q.word[i]);if(Q.word[i]=='#')break;}returnQ;}voidphone(messageQ){inti=0,j=0,flag=0,k=0;charc[11];while(Q.word[i]!='#'){while((Q.word[i]<'0'7、8、Q.word[i]>'9')9、&&Q.word[i]!='#'){i++;}while(Q.word[i]>='0'&&Q.word[i]<='9'&&Q.word[i]!='#'){c[j++]=Q.word[i++];flag++;}if(flag==7)calladd(c);if(flag==11)phoneadd(c);flag=0;for(k=0;k<11;k++)c[k]=0;j=0;}}voidphoneadd(charc[]){intj;telephoneP
5、ib.h>typedefstruct{charword[200];intlength;}message;typedefstruct{charcall[7];charphone[11];}telephone;voidcalladd(charc[]);voidphoneadd(charc[]);typedefstruct{charname[8];/*姓名*/charphone[9];/*办公室电话号码*/charcall[12];/*手机号码*/}DateType;/*电话薄的结构类型*/typedefstructnode{DateTypedata;/*结点的数据域*/structnode
6、*next;/*结点的指针域*/}ListNode,*LinkList;/*电话薄的结构类型*/messageinput(){messageQ;inti;printf("***请输入短信内容,并以#结束:***");for(i=0;i<200;i++){scanf("%c",&Q.word[i]);if(Q.word[i]=='#')break;}returnQ;}voidphone(messageQ){inti=0,j=0,flag=0,k=0;charc[11];while(Q.word[i]!='#'){while((Q.word[i]<'0'
7、
8、Q.word[i]>'9')
9、&&Q.word[i]!='#'){i++;}while(Q.word[i]>='0'&&Q.word[i]<='9'&&Q.word[i]!='#'){c[j++]=Q.word[i++];flag++;}if(flag==7)calladd(c);if(flag==11)phoneadd(c);flag=0;for(k=0;k<11;k++)c[k]=0;j=0;}}voidphoneadd(charc[]){intj;telephoneP
此文档下载收益归作者所有