c++面向对象编程试验 源程序(原解)
时间:2025-07-10
时间:2025-07-10
四川理工学院 c++选修试验 详解
c++面向对象编程试验 源程序(原解)
实验内容
二、编写函数实现最大公约数的求取。
//--------------------------------------------------------------------------- #pragma hdrstop
//--------------------------------------------------------------------------- #pragma argsused
#include<stdio.h>
#include<iostream.h>
int main(int argc, char* argv[])
{
int x,y,t;
int i,j;
cout<<"please input x,y:"<<endl;
cin>>x>>y;
if(x>y){t=x;x=y;y=t;}
for(i=2.0;i<x;i++)
if(x%i==0)
{
if(y%x==0) j=x;
else if(y%i==0) j=i;
}
cout<<"zuida gongyue shu:"<<j;
if(i>x) cout<<"can't find!"<<endl;
return 0;
}
//---------------------------------------------------------------------------
三、编写函数实现最小公倍数的求取。
//--------------------------------------------------------------------------- #pragma hdrstop
//--------------------------------------------------------------------------- #pragma argsused
#include<stdio.h>
#include<iostream.h>
int main(int argc, char* argv[])
{
int x,y;
int i,m;
cout<<"please input x,y:"<<endl;
四川理工学院 c++选修试验 详解
if(x%y==0) m=x;
else
for(i=2;i<1000;i++)
{
m=x*i;
if(m%y==0) break;
}
cout<<"zuixiao gongbeishu:"<<m<<endl;
return 0;
}
//---------------------------------------------------------------------------
一、编写函数fabs和abs求实数和整数的绝对值。
//--------------------------------------------------------------------------- #pragma hdrstop
//--------------------------------------------------------------------------- #pragma argsused
#include<stdio.h>
#include<iostream.h>
int abs(int *);
float abs(float *);
int main(int argc, char* argv[])
{
int x,m;
float y,n;
cin>>x;
cin>>y;
m=abs(&x);
n=abs(&y);
cout<<m<<endl;
cout<<n<<endl;
return 0;
}
//--------------------------------------------------------------------------- int abs(int *c)
{
int a;
a=*c;
if(a<0) a=-1*a;
return a;
}
float abs(float *d)
{
float b;
四川理工学院 c++选修试验 详解
if(b<0.0) b=-1*b;
return b;
}
实验二 C++基本程序设计
实验内容
一、定义一个学生结构Student,包括姓名,性别,年龄。分别编制一下函数或运算符重载
实现对应的功能,并编制主程序调试通过:
1) 编制函数StuSet,实现为学生变量赋值的操作;
2) 重载运算符+和-,实现对学生年龄的修改;
3) 重载运算符<<,实现对一个信息的输出;
4) 重载运算符>>,实现从输入流上输入学生信息。
//--------------------------------------------------------------------------- #pragma hdrstop
//--------------------------------------------------------------------------- #pragma argsused
#include<stdio.h>
#include<iostream.h>
#include<string.h>
class Student
{
private:
char *name;
char sex;
int age;
public:
StuSet();
friend Student operator +(Student stud1,Student stud2);
friend Student operator -(Student stud1,Student stud2);
friend ostream& operator<<(ostream&,Student&);
friend ostream& operator>>(ostream&,Student&);
};
int main(int argc, char* argv[])
{
Student stud1,stud2;
stud1.StuSet();
stud2.StuSet();
stud1=stud1+stud2;
stud1=stud1-stud2;
cout<<stud1;
cout>>stud1;
四川理工学院 c++选修试验 详解
}
//--------------------------------------------------------------------------- Student::StuSet()
{
name=new char[8];
strcpy("gupeng",name);
sex='m';
age=21;
}
Student operator +(Student stud1,Student stud2)
{
stud2.age=10;
stud1.age+=stud2.age;
cout<<"luanshu\n"<<"zengda:"<<stud1.age<<endl;
return stud1;
}
Student operator -(Student stud1,Student stud2)
{
stud2.age=11;
stud1.age-=stud2.age;
cout<<"jianxiao:"<<stud1.age<<endl;
return stud1;
}
ostream& operator<<(ostream& output,Student& c)
{
output<<"dandu:"<<c.age<<endl;
return output;
}
ostream& operator>>(ostream& output,Student& c)
{
output<<"liushuchu:\n"<<http://www.77cn.com.cn<<endl<<c.sex<<endl<<c.age<<endl;
return output;
}
二、定义一个班级结构Class,该结构包含班级专业,班级秉承,以及一个最大长度为100
的学生结构s和实际班级学生长度n几个数据成员,编制以下函数并编制主函数调用通过:
1) 编制重载函数StuAdd,可以将以“姓名,性别,年龄”形式的学生添加到班级中;
2) 编制函数ClsLength,求取班级的当前实际长度;
3) 重载运算符+,实现直接将一个学生变量添加到班级中,重载运算符和-,实现直接将一个学生变量从班级中删除;
4) 重载运算符 …… 此处隐藏:7684字,全部文档内容请下载后查看。喜欢就下载吧 ……