Visual_C++_6.0调试功能_图解教程(2)--实例

上传人:xins****2008 文档编号:125624496 上传时间:2022-07-27 格式:DOC 页数:12 大小:499.50KB
收藏 版权申诉 举报 下载
Visual_C++_6.0调试功能_图解教程(2)--实例_第1页
第1页 / 共12页
Visual_C++_6.0调试功能_图解教程(2)--实例_第2页
第2页 / 共12页
Visual_C++_6.0调试功能_图解教程(2)--实例_第3页
第3页 / 共12页
资源描述:

《Visual_C++_6.0调试功能_图解教程(2)--实例》由会员分享,可在线阅读,更多相关《Visual_C++_6.0调试功能_图解教程(2)--实例(12页珍藏版)》请在装配图网上搜索。

1、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

2、,分别输入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、)的第一条语句处: 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)的结束

4、处. 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/usingnamespa

5、cestd;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

6、#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字符串的总长度为:l

7、ensize)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,i

8、ntpos)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=

9、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

10、语句判断置换的位置是否越界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.s

11、tr);/通过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.生成字符串

12、;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;2

13、17case3: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请输入子串置换位置pospos;236cout请输入要置换的子串:;237s2.Creat();238s.Replace(s2,pos);239if(out!=0)240241cout置换后的字符串为:;242s.Display();243244break;245default:break;246/switch247cout=1&k6);249coutn再见!;250coutn按任意键,返回。;251return0;252253本文档由A5下载 收集整理,版权归原作者所有。A5下载提供海量源码,软件,素材,教程文档下载。如果您恰好喜欢打篮球,请登录 购买正品低价的斯伯丁篮球

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!