这个程序功能是:建立一个二进制文件ftrifun.dat,文件内存放值为0~90°的正弦及余弦的三角函数值。在程序中输入一个界于0和90之间的任意整数,查出其正弦及余弦的三角函数值并显示在屏幕上。
不知道在哪出错,请高手帮帮忙:
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
#include<math.h>
void main(void)
{
struct tri
{
double sn;
double cn;
}; //定义一个结构体数据类型tri
tri x[90];
double y;
int n;
fstream file("ftrifun.dat",ios::in|ios::out|ios::binary);
if(!file) //检查打开文件是否成功
{ cout<<"File Operator Error!\n";
exit(0);
}
for(int i=0;i<=90;i++) //将1~90度放到数据文件中
{ y=(i*3.1415926)/180; //将角度转换成弧度
x[i].sn=sin(y);
x[i].cn=cos(y);
file.write((char *)&x[i],sizeof(tri));
}
cout<<"请输入一个0 ~ 90度之间的角度:(输入-1结束)";
cin>>n;
while(1)
{ if(n==-1) //输入数据-1,结束程序
{ cout<<"程序结束.\n";
exit(0);
}
while(n<0 || n>90) //输入数据超界,提示重新输入
{ cout<<"输入的数据错误,请重新输入: \n";
cin>>n;
if(n==0)
{ cout<<"程序结束.\n";
exit(0);
}
}
file.seekg(0,ios::beg);
file.read((char *)&x[n],sizeof(tri));
cout<<n<<"的正弦为: "<<x[n].sn<<endl;
cout<<n<<"的余弦为: "<<x[n].cn<<endl;
cout<<"请输入一个0 ~ 90度之间的角度:(输入-1结束)"<<endl;
cin>>n;
}
file.close(); //关闭文件
}
C++输入输出流;求0-90度的正弦余弦
cout<<n<<"的正弦为: "<<x[n].sn<<endl;cout<<n<<"的余弦为: "<<x[n].cn<<endl;cout<<"请输入一个0 ~ 90度之间的角度:(输入-1结束)"<<endl;cin>>n;} file.close(); \/\/关闭文件 }
C++中cin和cout输入输出流用法简介
最后我们运行C++程序,在弹出的CMD界面中我们就可以输入数字,然后它就会自动的输出我们输入的信息了,如下图所示
C++输入输出(cin和cout)
输入输出在C++中被视为数据流,从键盘或文件输入数据至程序,再输出数据至显示屏或文件。编写C++程序时,使用输入输出通常包含头文件iostream,其中包含类的对象,如cin、cout、cerr。iostream代表输入输出流,cin和cout是ostream和istream类的对象,由库开发者提前创建,可以直接使用。使用cout输出时,紧跟<>...
c++中如何精确输出的位数?
在C++中,要实现这个功能,就要用到std命名空间中常用于流的控制符,这里通常要用到setprecision()函数,可以通过这个函数控制小数点后面位数。还要注意的是,使用它需要加入头文件<iomanip>,这个头文件也好记。io是指in,out,输入输出流,manip是操作的缩写,所以iomanip里面全是输入输出流的操作。代码示...
C++读取二进制代码 即读出来是0和1
C++是文件输入输出流来读写文件的 下面给出例子C++文件流:fstream\/\/ 文件流 ifstream \/\/ 输入文件流 ofstream \/\/ 输出文件流 \/\/创建一个文本文件并写入信息 \/\/同向屏幕上输出信息一样将信息输出至文件 include<iomanip.h> include<fstream.h> void main(){ ofstream f1("d:\\\\me.txt");\/\/...
C++输入输出流方面的问题
cout<<"USAGE: "<<argv[0]<<" filename"<<endl;exit(1);} cout<<"program name:"<<argc[0]<<endl;cout<<"io file name:"<<argc[1]<<endl;ofstream out;out.open(argv[1],ios::binary|ios::out); \/\/二进制方式打开文件并清除内容,不存在则创建 cout<<sizeof(int)<<"\\ ";...
c++的文件输入输出流中,能够从文件中读取数据的方法有哪些?
在C++中,我们可以使用文件输入输出流来进行文件的读写。具体地,可以使用以下方法从文件中读取数据:1.get()方法:get()方法是文件输入流中最基本的读取字符的方法。通过get()方法可以读取一个字符并将其放入字符变量中。语法:int get()2. getline()方法:getline()方法可以从文件输入流中读取一行...
c++输入输出流问题
请问你用的是什么版本的编译器,我VC++ 2008没有出现你所说的问题啊。我觉得endl;是刷出前面的缓存,再换行。跟下面的没关系
怎么用c++实现简单的输入输出
cout代表c++的输出流。 cin代表c++的输入流。 它们都是在头文件“iostream”中定义。"cout"必须与""一起使用,“”起到插入的作用。 在一条语句中可以多次使用“”输出多个数据。 如:coutabendl;(输出a,b的值。)用“cin”实现输入,必须与“”一同使用,“”起到提取的作用...
c++问题,为什么说每个输入输出流对象都维护一个格式状态字?不是说他...
比如 c++问题,为什么说每个输入输出流对象都维护一个格式状态字?不是说他有很多默认的格式状态字嘛?比如dec,right,skipws等等。... c++问题,为什么说每个输入输出流对象都维护一个格式状态字?不是说他有很多默认的格式状态字嘛?比如dec,right,skipws等等。 展开 我来答 ...