




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Visual C+ 6.0调试功能 图解教程(2)-实例一使用说明 程序名为 NO3.exe.运行环境为DOS,执行后显示: 在请输入你的选择后(1.2.3.4.5.6)后输入数字选择执行的功能. 测试结果: 1. 选择1.后输入:123456789 2. 选择2后输入分别输入1,3. 重复1)操作后选择2,分别输入10,10. 3. 4. 重复1)操作后选择3.分别输入1,abcde 再重复1)操作后选择3.分别输入9,abcde 1. 2. 再重复1)操作后选择4,分别输入1,3 再重复1)操作后选择4,分别输入0,3 再重复1)操作后选择4,分别输入10,3 5) 再重复1)操作后选择5,分别输入1,abcde 再重复1)操作后选择5,分别输入9,abcde 再重复1)操作后选择5,分别输入0,abcde 再重复1)操作后选择5,分别输入10,abcde 6)运行No3.exe后选择6或输入非1,2,3,4,5的数字 调试过程: 1. 本调试主要针对置换操作功能进行演示: 1. 将光标移置String: Replace(String t1,int pos)函数的第一条语句处Ctrl+F10开始调试 2. 在DOS窗口中选择1后输入123456789.接着选择5分别输入1,abcde. 这时Debugger停留在String: Replace(String t1,int pos)的第一条语句处: 3. 在Watch窗口的名称栏分别输入: str, t1.str, q, out, pos, (-pos) +1, pos size,j,i.进行观察. 4. 按F10开始单步调试. 1. 按F10三次后Debugger停留在最后一个判断语句处.同时Watch窗口中个名称的值分别为: 2. 接着单步调试,for()函数完后,Debugger停留在 delete t1.str;语句处. 这时Watch窗口中个各名称的值分别为: 接着两次F10,这时t1.str和out的值已经改变,Debugger停留在String: Replace(String t1,int pos)的结束处. 3. 再按一次F10,Debugger停留在main()函数的switch(k)里的case 5的if()语句处: F10到调用Display()函数的语句处后F11跟进Display()的内部. 在Watch窗口的名称中输入str,I,len进行观察. 单步调试到Display()函数结束,Debugger停留在Display()函结束处. 在Watch窗口中str,I,len的值分别为: 同时DOS窗口中显示如下: 5. 按Shift+F5退出调试.完成调试操作. 参考源码:2. 1Code:2/3.h3#include4#include5#include6/usingnamespacestd;7intout;/定义一个全局变量8classString910public:11String()12String()13StringSubString(intpos,intnum);/取子串函数14voidInsert(Stringt,intpos);/插入子串函数15voidDelete(intpos,intnum);/删除子串函数16voidCreat();/生成字符串函数17voidDisplay();/打印子串函数18Replace(Stringt1,intpos);/置换子串函数19private:20char*str;21intsize;22;2324/3.cpp25#include3.h26/生成新字符串函数27voidString:Creat()2829chars100;30cins;31size=strlen(s);32str=newcharsize+1;33if(str=0)34cout没有申请到空间!endl;35strcpy(str,s);36/strcpy_s(str,sizeof(str)/sizeof(str0),s);373839/输出40voidString:Display()4142intlen=size;43inti;44for(i=0;isize;i+)45coutstri;46coutendl;47cout字符串的总长度为:lensize)5758cout错误!endl;59cout指定位置超过字符串长度为:pos-sizeleft)63num=left;64temp.str=newcharnum+1;/重新分配内存空间65if(temp.str=0)66cout没有申请到空间!endl;67p=temp.str;68for(inti=pos-1;ipos+num-1;i+)6970q=&stri;71*p=*q;72p+;7374*p=0;75temp.size=num;76returntemp;777879/插入运算:在串对象s的pos位置后插入一个串t80voidString:Insert(Stringt,intpos)8182/Stringtemp;83inti_len=t.size;84cout插入字符串的长度为:i_lenpos-1;j-)99100inti=j+t.size;101stri-=strj;102103104j=pos;105for(inti=0;it.size;)106107strj+=t.stri+;108109110size+=t.size;111strsize+1=0;112113114115116/删除:删除串中的一个子串117voidString:Delete(intpos,intnum)118119/用ifelseif语句判断删除的位置是否越界120if(pos=0)121122cout无法完成删除操作!endl删除位置低于字符串长度为:(-pos)+1size)126127cout无法完成删除操作!endl删除位置超过字符串长度为:pos-size=0&pos=size)131132inti=pos-1;133for(intj=(pos+num-1);j=size;j+)/从删除到的位置开始前移134135stri=strj;136i+;137138139size=size-num;/只取删除后余下的字符个数140141142/置换:置换串中的一个子串143String:Replace(Stringt1,intpos)144145/用ifelseif语句判断置换的位置是否越界146if(pos=0)147148cout无法完成转换操作!endl置换位置低于字符串长度为:(-pos)+1size)152153cout无法完成置换操作!endl置换位置超过字符串长度为:pos-sizesize)160161162char*q;/定义指针数组q用来转存原先将不被置换的字符串163q=newcharpos+1;/给q分配足够的空间为将不被置换的字符串的长度164for(inti=0;ipos-1;i+)165166qi=stri;167168169170qpos-1=0;171deletestr;/释放原字符串空间172strcat(q,t1.str);/通过strcat函数将输入的子串与原子串的拷贝173cout置换后的字符串为:qendl;174returnout=0;175176177elseif(t1.size+pos)=size)178179intj=pos-1;180for(inti=0;it1.size;i+)181strj+=t1.stri;182deletet1.str;183returnout=1;184185186187188/主函数189intmain(intargc,char*argv)190191intpos,num,k;192Strings,s1,s2,t,t1;193do194coutnn1.生成字符串;195coutnn2.取子串;196coutnn3.插入子串s1;197coutnn4.删除子串;198coutnn5.置换子串;199coutnn6.结束程序;200coutn*;201coutk;203switch(k)204case1:205cout请输入一个字符串:;206s.Creat();207cout字符串为:;208s.Display();209break;210case2:211cout请输入子串的截取位置pos及子串长度numposnum;213t=s.SubString(pos,num);214cout你所取的子串为:;215t.Display();216break;217case3:218cout请输入子串插入位置pospos;220cout请输入要插入的子串:;221s1.Creat();222s.Insert(s1,pos);223cout插入后的字符串为:;224s.Display();225break;226case4:227cout请输入要删除子串的开始位置pos及子串长度numposnum;229s.Delete(pos,num);230cout删除后的字符串为:;231s.Display();232break;233case5:234cout请输入子串置换位置posp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议简易范本:财产分割与子女抚养责任明确模板
- 住宅小区物业费代收代缴及设施维护协议
- 教育机构教职工社保缴纳补充协议(编制内外)
- 2025年中国高度可调节站立式办公桌行业市场全景分析及前景机遇研判报告
- 2025年北京市房地产中介服务合同范本
- 2025年唐山高一化学试卷及答案
- 2025年氢能重卡在风力发电设备运输中的应用场景与技术优化报告
- 新能源汽车二手车市场2025年评估与流通案例分析报告
- 2025保险公司承保合同借款协议
- 2025电线购销合同范本
- 【绥化】2025年黑龙江省绥化市兰西县体彩中心招聘体彩专管员1人笔试历年典型考题及考点剖析附带答案详解
- 四川省成都龙泉中学2025-2026学年英语高三第一学期期末学业水平测试模拟试题
- 2025年全国企业员工全面质量管理知识竞赛题库
- 保管员工勤技师综合测试试卷及参考答案
- 投资协议书对赌协议范本
- 2025年1月浙江卷化学试题(解析版)
- 煤炭信息化知识培训总结课件
- 汽车销售培训课程
- 2025秋教科版(2024)小学科学二年级上册(全册)课时练习及答案(附目录)
- 2025天津地区国机研究院所属子公司财务总监招聘2人笔试参考题库附答案解析
- 2025年中国工商银行校园招聘考试题库历年考试真题及答案
评论
0/150
提交评论