c++面向对象编程试验 源程序(原解)

时间: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字,全部文档内容请下载后查看。喜欢就下载吧 ……

c++面向对象编程试验 源程序(原解).doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219