社区
C++ 语言
帖子详情
用vs2010逐语句或者逐过程调试的时候总是跳到ostream strlen ios等文件中去,别人调试的是时候却不会出现这个问题,应该怎么正确调试?
qq_42092095
2018-04-28 05:52:42
VS2010写的C++,逐语句调试的时候为什么调试了几句就会ostream strlen ios等文件中去执行?别人调试的时候却不会乱跳,应该怎么正确调试程序呢?小白正在学c++,请大神指点。
...全文
369
1
打赏
收藏
用vs2010逐语句或者逐过程调试的时候总是跳到ostream strlen ios等文件中去,别人调试的是时候却不会出现这个问题,应该怎么正确调试?
VS2010写的C++,逐语句调试的时候为什么调试了几句就会ostream strlen ios等文件中去执行?别人调试的时候却不会乱跳,应该怎么正确调试程序呢?小白正在学c++,请大神指点。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
真相重于对错
2018-04-28
打赏
举报
回复
用f10
C++ 小型复数计算器
#include #include #include #include #include #include #define EPS 1e-5 //定义精度常数 using namespace std; //使用标准空间命名std namespace NameCComplex //定义命名空间NameCComplex { class CComplex ////定义一个CComplex类 { private: double Real,Image; public: CComplex(double real=0,double image=0) //构造函数 { Real=real; Image=image; } friend istream & operator>>(istream &is,CComplex &com); //重载输入 friend
ostream
& operator<(CComplex &com); int operator(CComplex &com) //重载运算符">",比较模的大小 { if(mod()>com.mod()) return 1; else return 0; } int CComplex::operator<(CComplex &com) { if(mod()>(istream &is,CComplex &com) //重载输入,可以输入a+bi的形式 { cout<>s; //用字符串的形式接受复数 int len=
strlen
(s); //求出字符串的长度 int n=0,sign=1; //n为当前从字符串
中
提取出来的数字,初始化为0;sign是难道符号,初始化为正 com.Image=com.Real=0; for(int k=0;k
中各字符 { if(n!=0 &&(s[k]=='-'||s[k]=='+')) //当前字符是否是符号位 { com.Real=sign*n; //是符号位,且n!=0,即n已被赋值,表明当前读取的是虚部的符号 n=0; //将原n*sign值赋给实部,将n清零,准备接受虚部的值 } if(s[k]=='-') //当前字符为负号 { sign=-1;k++; //给符号标志赋值 } if(s[k]=='+') //当前字符为正号 { sign=1;k++; //给符号标志赋值 } if(s[k]=='i') //当前字符为'I' { if(k!=len-1) //判断字符'I'是否为字符串
中
作后一个字符 cout<='0' && s[k]<='9') //当前字符在0~9之间,将数字字符转换成数字数值 { n=n*10+s[k]-'0'; k++; } } if(s[len-1]!='i' && n!=0) //如果最后一个字符不是'I',表示复数对象内只有实部,没有虚部 { com.Real=n*sign; } return is; }
ostream
& operator<<(
ostream
&os,CComplex &com) //重载输入 { if(fabs(com.Image)
temp; //输入用户计算值 if(answer==temp) //比较用户计算值 { score+=10; } else { cout<<"此题做错了\n"; cout<<"
正确
答案为:"<
num1; cout<>num2; sum=num1+num2; cout<>num1; int i=4; while(!(num1==Zero)) { sum=sum+num1; cout<<"第"<
num1; i++; } cout<<"加法结果是:"<
num1; cout<>num2; sub=num1-num2; cout<>num1; int i=4; while(!(num1==Zero)) { sub=sub-num1; cout<<"第"<
num1; i++; } cout<<"减法结果是:"<
num1; cout<>num2; mul=num1*num2; cout<>num1; int i=4; while(!(num1==Zero)) { mul*=num1; cout<<"第"<
num1; i++; } cout<<"乘法结果是:"<
num1; ++num1; cout<<"自加的结果为"<
num1; --num1; cout<<"自减的结果为"<
num1; cout<>num2; if(num1==num2) cout
中:\t加法的次数:"<
ios::binary|
ios
::in); if(!infile) { cout<<"没有原始记录
文件
,您是第一个用户!\n"; strcpy(user.szName,szName); user.nTest++; return; } infile.read((char *)&user1,sizeof(User)); while(!infile.eof()) { if(strcmp(user1.szName,szName)==0) { user=user1; user.nTime++; cout<<"欢迎您再次使用复数计算器!"; userprint(); cin.get(); infile.close(); return; } infile.read((char *) &user1,sizeof(User)); } cout<<"欢迎您再次使用复数计算器!"; strcpy(user.szName,szName); user.nTime++; infile.close(); return; } void SaveFile() //用户资料保存函数 { userprint(); fstream file; User user1; file.open("user.dat",
ios
::binary|
ios
::in|
ios
::out); if(!file) { cout<<"
文件
打开错误,不能进行更新!\n"; return; } file.seekp(0,
ios
::beg); while(!file.eof()) { file.read((char *)&user1,sizeof(User)); if(strcmp(user1.szName,user.szName)==0) { file.seekp(-(sizeof(User)),
ios
::cur); file.write((char *)&user,sizeof(User)); file.close(); return; } } file.close(); fstream outfile; outfile.open("user.dat",
ios
::binary|
ios
::app); outfile.write((char *)&user,sizeof(User)); outfile.close(); return; } } using namespace NameCComplex; int main(void) //主函数开始 { srand(time(NULL)); //初始化随机数“种子”
语句
Login(); //当前用户信息函数 char strChoise[20]; //定义字符串名 do { system("cls"); cout<<"\t这是一个简单的复数计算器程序,可以实现以下功能,请按对应的按键(1-7)\n\n\n"; cout<<"\t=========================MENU===========================\n"; cout<<"\t1:多复数加法,以0结束\n"; cout<<"\t2:多复数减法,以0结束\n"; cout<<"\t3:测试100以内的复数加减乘法运算,1次测试10道题\n"; cout<<"\t4:多复数乘法,以0结束\n"; cout<<"\t5:复数自加\n:"; cout<<"\t6:复数自减\n:"; cout<<"\t7:复数比较\n:"; cout<<"\t0:退出程序\n\n:"; cout<>strChoise; if(strcmp(strChoise,"1")==0) //用户选1则调用Add()函数 Add(); else if(strcmp(strChoise,"2")==0) //用户选2则调用Sub()函数 Sub(); else if(strcmp(strChoise,"3")==0) //用户选3则调用Test()函数 Test(); else if(strcmp(strChoise,"4")==0) //用户选4则调用Add()函数 Mul(); else if(strcmp(strChoise,"5")==0) //用户选5调用Add1()函数 Add1(); else if(strcmp(strChoise,"6")==0) //用户选6则调用Sub1()函数 Sub1(); else if(strcmp(strChoise,"7")==0) //用户选7则调用Compare()函数 compare(); else if(strcmp(strChoise,"0")==0) //用户选0则结束调用函数 { cout<<"\n\n\t欢迎下次继续使用复数计算器!\n\n"; break; } else { cout<<"\n\t输入错误,请按任意键继续!\n"; cin.get(); cin.get(); } } while((strcmp(strChoise,"0"))); SaveFile(); //调用用户资料保存函数 return 0; }
i
ostream
集合
C++的i
ostream
标准库介绍 C++的i
ostream
标准库介绍 0 为什么需要i
ostream
1 i
ostream
: istream 和
ostream
2 fstream: ifstream 和 ofstream 3 strstream: ostrstream 和 istrstream...
C++输入输出格式
文件
读写操作
C++
文件
读写操作 这里可能只
会
讨论到一些基本的
文件
读写,有兴趣的读者可以自行参考一些资料 环境 这里为了满足比较多小伙伴的需求,我选用的是win10系统 若Mac和Linux下有个别东西不同,我
会
稍加说明 先来看看于输入输出流相关的类 简单介绍几个类 他们之间的继承派生关系如图所示 1.istream:用于输入的流类,cin就是该类的对象 2.
ostream
用于输出的流类,cout是它的对象 3...
关于fstream 对
文件
的几个操作
关于fstream 对
文件
的几个操作 3,使用getline(fstream &fs,string & str)方法,读取
文件
到str 例程: std::ifstream readfile("log.dat"); string name_02; while(getline(readfile,name_02)) { cout }
文件
操作
一、linux
文件
操作的概念 1.
文件
的概念:
文件
在linux系统
中
,是对系统资源的一个抽象,是对系统资源进行访问的通用接口。linux下的系统资源都可表述为
文件
。这样做可以对这些资源提供接口,供系统编程接口设计。 2.
文件
的类型: 普通
文件
:存储在系统磁盘上的普通
文件
,以字节为单位存储。
文件
系统本身不关心内容,只提供数据存储和访问的通道。
文件
内容是由应用程序解释的。 目录:目录是...
C++ 语言
64,684
社区成员
250,491
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章