资源描述
实验内容:
(1) 定义一个类,要求:能完成计算矩形的面积和结果输出的操作;
实验源代码:
#include<iostream>
using namespace std;
class Cylinder
{
private:
double x;
double y;
public:
double cylinderfun(double a,double b);
};
double Cylinder::cylinderfun(double a,double b)
{
double cylinder;
cylinder=a*b;
return cylinder;
}
int main()
{
double x,y;
double cylinder;
cout<<"请输入长和宽"<<endl;
cin>>x>>y;
Cylinder obj1;
cylinder=obj1.cylinderfun(x,y);
cout<<"Cylinder="<<cylinder<<endl;
system("PAUSE");
return 0;
}
实验结果:
(2) 定义一个类,分别统计一串字符的大写字母、小写字母、空格、数字和其他字符的个数。
实验源代码:
#include<iostream>
using namespace std;
class Point
{
private:
int a;
int b;
int c;
int d;
int e;
int n;
public:
void count(char g[100],int &a,int &b,int &c,int &d,int &e,int &n)
{
if(g[n]>='A'&&g[n]<='Z')
a++;
else if(g[n]>='a'&&g[n]<='z')
b++;
else if(g[n]==' ')
c++;
else if(g[n]>='0'&&g[n]<='9')
d++;
else e++;
n++;
}
};
int main()
{
char f[100];
int a,b,c,d,e,n,i;
a=b=c=d=e=n=i=0;
cout<<"请输入一串字符"<<endl;
f[i]=cin.get();
while(f[i]!='\n')
{ Point v;
v.count(f,a,b,c,d,e,n);
i++;
f[i]=cin.get();
}
cout<<"一共有字符"<<i<<"个"<<endl;
cout<<"大写字母有"<<a<<"个"<<endl;
cout<<"小写字母有"<<b<<"个"<<endl;
cout<<"空格有"<<c<<"个"<<endl;
cout<<"数字有"<<d<<"个"<<endl;
cout<<"其他字符有"<<e<<"个"<<endl;
system("PAUSE");
return 0;
}
实验结果:
(3) 定义一个类,要求:能计算一个n×n数据方阵的两条对角线元素之和。
实验源代码:
#include<iostream>
using namespace std;
class juzheng
{
private:
int n,sum;
public:
int set(int n);
};
int juzheng::set(int n)
{ int a[100][100];
int z;
z=n*n;
cout<<"请输入"<<z<<"个数"<<endl;
int sum1,sum2,i,j,sum;
sum1=sum2=0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>a[i][j];
cout<<"输出这个方阵"<<endl;
for(i=0;i<n;i++){
for(j=0;j<n;j++)
cout<<a[i][j]<<'\t';
cout<<'\n';}
for(i=0;i<n;i++){
for(j=0;j<n;j++)
if(i==j)
sum1=a[i][j]+sum1;
else if((i+j)==n-1)
sum2=sum2+a[i][j];
sum=sum1+sum2;
}
return sum;
}
int main()
{
int n,sum;
cout<<"输入一个方阵的长宽的位数"<<endl;
cin>>n;
juzheng a;
sum=a.set(n);
cout<<"该方阵的对角线的数据之和为"<<sum;
cout<<"\n";
system("PAUSE");
return 0;
}
实验结果:
(4) 定义一个类,要求:能判断这一天是这一年的第几天?
实验源代码:
#include<iostream>
using namespace std;
class Point
{
private:
int y;
int m;
int d;
public:
int show(int y,int m,int d);
};
int Point::show(int y,int m,int d)
{ int c[13],x,o=0;
int a[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int b[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(y%4==0){
c[13]=a[13];
for(x=0;x<m;x++)
o=o+a[x];
o=o+d;}
else{
c[13]=b[13];
for(x=0;x<m;x++)
o=o+b[x];
o=o+d;}
return o;
}
int main()
{
int y,m,d,t;
cout<<"请输入年y,月m,天d请用空格隔开:"<<endl;
cin>>y>>m>>d;
Point obj1;
t=obj1.show(y,m,d);
cout<<"这是一年中的第"<<t<<"天"<<endl;
system("PAUSE");
return 0;
}
实验结果:
(5) 定义一个日期类,要求:能设置日期;能以“年/月/日”格式输出日期;能对某日期进行加一天的操作;能对某日期进行减一天的操作。
实验源代码:
#include<iostream>
using namespace std;
class riji
{
private:
int y;
int m;
int d;
public:
int set(int y,int m,int d);
int add(int y,int m,int d);
int jian(int y,int m,int d);
};
int riji::set(int y,int m,int d)
{cout<<y<<"年"<<m<<"月"<<d<<"日"<<endl;
return 0;
}
int riji::add(int y,int m,int d)
{
if(y%4==0&&y%100!=0||y%400==0)
{
if(m==1||m==3||m==5||m==7||m==8||m==10)
{if(d==31){
m=m+1;
d=1;}
else
d=d+1;
}
else if(m==4||m==6||m==9||m==11)
{if(d==30){
m=m+1;
d=1;}
else
d=d+1;
}
else if(m==2)
{if(d==29){
m=m+1;
d=1;}
else
d=d+1;
}
else
{if(d==31){
y=y+1;
m=1;
d=1;}
else
d=d+1;
}
}
else
{
if(m==1||m==3||m==5||m==7||m==8||m==10)
{if(d==31){
m=m+1;
d=1;}
else
d=d+1;
}
else if(m==4||m==6||m==9||m==11)
{if(d==30){
m=m+1;
d=1;}
else
d=d+1;
}
else if(m==2)
{if(d==28){
m=m+1;
d=1;}
else
d=d+1;
}
else
{if(d==31){
y=y+1;
m=1;
d=1;}
else
d=d+1;
}
}
cout<<y<<"年"<<m<<"月"<<d<<"日"<<endl;
return 0;
}
int riji::jian(int y,int m,int d)
{
if(y%4==0&&y%100!=0||y%400==0)
{
if(m==2||m==4||m==6||m==8||m==9||m==11)
{if(d==1){
m=m-1;
d=31;}
else
d=d-1;
}
else if(m==5||m==7||m==10||m==12)
{if(d==1){
m=m-1;
d=30;}
else
d=d-1;
}
else if(m==3)
{if(d==1){
m=m-1;
d=29;}
else
d=d-1;
}
else
{if(d==1){
y=y-1;
m=12;
d=31;}
}
}
else
{
if(m==2||m==4||m==6||m==8||m==9||m==11)
{if(d==1){
m=m-1;
d=31;}
else
d=d-1;
}
else if(m==5||m==7||m==10||m==12)
{if(d==1){
m=m-1;
d=30;}
else
d=d-1;
}
else if(m==3)
{if(d==1){
m=m-1;
d=28;}
else
d=d-1;
}
else
{if(d==1){
y=y-1;
m=12;
d=31;}
}
}
cout<<y<<"年"<<m<<"月"<<d<<"日"<<endl;
return 0;
}
int main()
{
int y,m,d,choice,i;
cout<<"请输入年y,月m,日d"<<endl;
cin>>y>>m>>d;
riji t;
t.set(y,m,d);
for(i=1;i<=3;i++){
cout<<"[1]进行加一天运算:"<<endl;
cout<<"[2]进行减一天运算:"<<endl;
cout<<"[0]exit:"<<endl;
cout<<"ENTER choice:"<<endl;
cin>>choice;
if(choice==0)
break;
switch(choice){
case 1:riji v;
v.add(y,m,d);break;
case 2:riji z;
z.jian(y,m,d);break;
}
}
system("PAUSE");
return 0;
}
实验结果:
11
展开阅读全文