1.
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double a,b,c,s,area;
cout<<"Please input the length of 3 sides:"<<endl;
cout<<"a = ";
cin>>a;
cout<<"b = ";
cin>>b;
cout<<"c = ";
cin>>c;
if(a+b>c && b+c>a && a+c>b)
s = (a+b+c)/2.0;
else
{
cerr<<"The 3 sides can not form a triangle!"<<endl;
exit(1);
}
area = sqrt(s*(s-a)*(s-b)*(s-c));
cout<<"The area of the triangle is: "<<area<<endl;
return 0;
}
2.
#include <iostream>
#include <iomanip>
using namespace std;
struct Double_number
{
double d;
Double_number* next;
};
void input_node(Double_number* p)
{
cout<<"Please input a number(0 for end): ";
cin>>p->d;
}
int main()
{
Double_number *head,*p1,*p2;
head=p1=p2=new Double_number;
input_node(head);
while(p2->d!=0)
{
p1=new Double_number;
input_node(p1);
p2->next=p1;
p2=p1;
}
p2->next=NULL;
p1=head;
while(p1->d!=0)
{
cout<<setw(10)<<setiosflags(ios::fixed)<<setprecision(3)<<p1->d<<endl;
p1=p1->next;
}
return 0;
}
3.
#include <iostream>
using namespace std;
int main()
{
int i,j,k;//will be used all over the function, so declared here
for(i=0;i<8;i++)//number of rows
{
for(j=0;j<7-i;j++)//number of whitespaces
cout<<' ';
for(k=0;k<2*(8-j)-1;k++)//number of Bs
cout<<'B';
cout<<endl;
}
return 0;
}
4.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
const int Len=20;
int a[Len],i,j,temp;//to store Len integers
fstream file1("f1.dat",ios::out),file2("f2.dat",ios::out);
if(file1==0 || file2==0)//if fail to open, the object==0
{
cout<<"Error while opening f1.dat or f2.dat!";
exit(1);
}
cout<<"Please input Len integers: "<<endl;
for(i=0;i<Len;i++)
{
cout<<"No."<<i+1<<": ";
cin>>a[i];
if(i<10)
file1<<a[i]<<' ';
else
file2<<a[i]<<' ';
}
file1.close();
file2.close();
//Question No.2
file1.open("f1.dat",ios::in);
file2.open("f2.dat",ios::out|ios::app);
if(file1==0 || file2==0)//if fail to open, the object==0
{
cout<<"Error while opening f1.dat or f2.dat!";
exit(1);
}
for(i=0;i<10;i++)
{
file1>>a[i];
file2<<a[i]<<' ';
}
file1.close();
file2.close();
//Question No.3
file2.open("f2.dat",ios::in);
if(file2==0)
{
cout<<"Error while opening f2.dat!";
exit(1);
}
for(i=0;i<Len;i++)
file2>>a[i];
file2.close();
//sort numbers
for(i=0;i<Len-1;i++)
for(j=0;j<Len-i-1;j++)
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
file2.open("f2.dat",ios::out);
for(i=0;i<Len;i++)
file2<<a[i]<<' ';
return 0;
}
5.
#include <iostream>
#include <fstream>
using namespace std;
struct staff
int num;
char name[20];
int age;
double pay;
};
int main()
{staff staf[7]={2101,"Li",34,1203,2104,"Wang",23,674.5,2108,"Fun",54,778,3006,"Xue",45,476.5,5101,"Ling",39,656.6}staf1;
fstream iofile("staff.dat",ios::in|ios::out|ios::binary);
if(!iofile)
{cerr<<"open error!"<<endl;
abort();}
int i,m,num;
cout<<"Five staff :"<<endl;
for(i=0;i<5;i++)
{cout<<staf[i].num<<" "<<staf[i].name<<" "<<staf[i].age<<" "<<staf[i].pay<<endl;
iofile.write((char *)&staf[i],sizeof(staf[i]));}
cout<<"please input data you want insert:"<<endl;
for(i=0;i<2;i++)
{cin>>staf1.num>>staf1.name>>staf1.age>>staf1.pay;
iofile.seekp(0,ios::end);
iofile.write((char *)&staf1,sizeof(staf1));}
iofile.seekg(0,ios::beg);
for(i=0;i<7;i++)
{iofile.read((char *)&staf[i],sizeof(staf[i]));
cout<<staf[i].num<<" "<<staf[i].name<<" "<<staf[i].age<<" "<<staf[i].pay<<endl;
}
bool find;
cout<<"enter number you want search,enter 0 to stop.";
cin>>num;
while(num)
{find=false;
iofile.seekg(0,ios::beg);
for(i=0;i<7;i++)
{iofile.read((char *)&staf[i],sizeof(staf[i]));
if(num==staf[i].num)
{m=iofile.tellg();
cout<<num<<" is No."<<m/sizeof(staf1)<<endl;
cout<<staf[i].num<<" "<<staf[i].name<<" "<<staf[i].age<<" "<<staf[i].pay<<endl;
find=true;
break;
}
}
if(!find)
cout<<"can't find "<<num<<endl;
cout<<"enter number you want search,enter 0 to stop.";
cin>>num;
}
iofile.close();
return 0;
}