第一题:
#include "ball.h"
#include <iostream>
#include <cstdlib>
using std::cout;
using std::endl;
const int SIZE_X=50;
const int SIZE_Y=50;
Ball::Ball(int x0, int y0):x(x0), y(y0) {
for(int line=1; line <= y0-1; line++)
cout << endl;
for(int col=1; col <= x0-1; col++)
cout << " ";
cout << "O" << endl;
}
void Ball::left(int step) {
x = x-step;
if(x <= 0)
x=0;
system("cls");
for(int line=1; line <= y-1; line++)
cout << endl;
for(int col=1; col <= x-1; col++)
cout << " ";
cout << "O" << endl;
}
void Ball::right(int step) {
x = x+step;
if(x >= SIZE_X)
x=SIZE_X;
// 锟斤拷锟斤拷
system("cls");
// 锟斤拷印y-1锟叫匡拷锟斤拷
for(int line=1; line <= y-1; line++)
cout << endl;
// 锟斤拷印x-1锟斤拷锟秸革拷
for(int col=1; col <= x-1; col++)
cout << " ";
// 锟斤拷印小锟斤拷
cout << "O" << endl;
}
void Ball::up(int step) {
y = y-step;
if(y <= 0)
y=0;
// 锟斤拷锟斤拷
system("cls");
// 锟斤拷印y-1锟叫匡拷锟斤拷
for(int line=1; line <= y-1; line++)
cout << endl;
// 锟斤拷印x-1锟斤拷锟秸革拷
for(int col=1; col <= x-1; col++)
cout << " ";
// 锟斤拷印小锟斤拷
cout << "O" << endl;
}
void Ball::down(int step) {
y = y+step;
if(y >= SIZE_Y)
y = SIZE_Y;
// 锟斤拷锟斤拷
system("cls");
// 锟斤拷印y-1锟叫匡拷锟斤拷
for(int line=1; line <= y-1; line++)
cout << endl;
// 锟斤拷印x-1锟斤拷锟秸革拷
for(int col=1; col <= x-1; col++)
cout << " ";
// 锟斤拷印小锟斤拷
cout << "O" << endl;
}
#ifndef BALL_H
#define BALL_H
class Ball {
public:
Ball(int x0=0, int y0=0); // 在坐标(x,y)处构造一个小球(小球用字符O表示)
void left(int step=1); // 左移step
void right(int step=1); // 右移step
void up(int step=1); // 上移step
void down(int step=1); // 下移step
private:
int x; // x坐标
int y; // y坐标
};
#endif
#include "canvas.h"
#include <cstdlib>
Canvas::Canvas(string bg0, string fg0):bg(bg0), fg(fg0) {
string color = "color ";
color += bg0;
color += fg0;
system(color.c_str());
}
void Canvas::changeCanvasBg(string bg0) {
bg = bg0; // 更新画布背景色
string color = "color ";
color += bg;
color += fg;
system(color.c_str());
}
void Canvas::changeCanvasFg(string fg0) {
fg = fg0; // 更新画布前景色
string color = "color ";
color += bg;
color += fg;
system(color.c_str());
}
void Canvas::changeCanvasColor(string bg0, string fg0){
bg = bg0; // 更新画布背景色
fg = fg0; // 更新画布前景色
string color = "color ";
color += bg;
color += fg;
system(color.c_str());
}
#ifndef CANVAS_H
#define CANVAS
#include <string>
using std::string;
class Canvas {
public:
Canvas(string bg0="0", string fg0="A");
void changeCanvasBg(string bg0);
void changeCanvasFg(string fg0);
void changeCanvasColor(string bg0, string fg0);
private:
string bg; // background color
string fg; // foreground color
};
#endif
#include <iostream>
#include "canvas.h"
#include "ball.h"
int main(){
Canvas canvas;
Ball ball(10,10);
system("pause");
ball.left(5);
system("pause");
ball.up(20);
system("pause");
canvas.changeCanvasFg("E");
system("pause");
canvas.changeCanvasBg("D");
system("pause");
return 0;
}

第二题:
// 类graph的实现
#include "graph.h"
#include <iostream>
using namespace std;
// 带参数的构造函数的实现
Graph::Graph(char ch, int n): symbol(ch), size(n) {
}
// 成员函数draw()的实现
// 功能:绘制size行,显示字符为symbol的指定图形样式
void Graph::draw() {
int i,j,k;
for(i=1;i<=size;i++)
{ for(j=1;j<=size-i;j++)
cout<<‘ ‘;
for(k=1;k<=2*i-1;k++)
cout<<symbol;
cout<<endl;
}
}
#ifndef GRAPH_H
#define GRAPH_H
// 类Graph的声明
class Graph {
public:
Graph(char ch, int n); // 带有参数的构造函数
void draw(); // 绘制图形
private:
char symbol;
int size;
};
#endif
#include <iostream>
#include "graph.h"
using namespace std;
int main() {
Graph graph1(‘*‘,5);
graph1.draw();
system("pause");
system("cls");
Graph graph2(‘$‘,7);
graph2.draw();
system("pause");
return 0;
}

第三题:
#include <iostream>
#include<cstdlib>
#include "fraction.h"
using std::cout;
using std::endl;
int main(){
Fraction m,n;
Fraction c1,c2,c3,c4;
cout<<"输入两个分数:";
m.input();
n.input();
cout<<"m=";
m.output();
cout<<endl;
cout<<"n=";
n.output();
cout<<endl;
c1=Fraction::add(m,n);
cout<<"相加";
c1.output();
cout<<endl;
c2=Fraction::sub(m,n);
cout<<"相减";
c2.output();
cout<<endl;
c3=Fraction::mul(m,n);
cout<<"相乘";
c3.output();
cout<<endl;
c4=Fraction::div(m,n);
cout<<"相除";
c4.output();
cout<<endl;
Fraction::compare(m,n);
system("pause");
return 0;
}
#include "fraction.h"
#include <iostream>
#include <cmath>
using std::cin;
using std::cout;
using std::endl;
Fraction::Fraction(int top0,int bottom0):top(top0),bottom(bottom0){
if(bottom0=0){
cout<<"Wrong!";
exit(0);
}
}
Fraction::Fraction(){}
Fraction Fraction::add(Fraction a,Fraction b){
Fraction add1;
add1.bottom=a.bottom*b.bottom;
add1.top=a.top*b.bottom+b.top*a.bottom;
add1.sim();
return add1;
}
Fraction Fraction::sub(Fraction a,Fraction b){
Fraction sub1;
sub1.bottom=a.bottom*b.bottom;
sub1.top=a.top*b.bottom-b.top*a.bottom;
sub1.sim();
return sub1;
}
Fraction Fraction::mul(Fraction a,Fraction b){
Fraction mul1;
mul1.bottom=a.bottom*b.bottom;
mul1.top=a.top*b.top;
mul1.sim();
return mul1;
}
Fraction Fraction::div(Fraction a,Fraction b){
Fraction div1;
div1.bottom=a.bottom*b.top;
div1.top=a.top*b.bottom;
div1.sim();
return div1;
}
void Fraction::compare(Fraction a,Fraction b){
a.sim();
b.sim();
if(a.top*b.bottom>a.bottom*b.top)
cout<<a.top<<"/"<<a.bottom<<">"<<b.top<<"/"<<b.bottom<<endl;
else if(a.top*b.bottom<a.bottom*b.top)
cout<<a.top<<"/"<<a.bottom<<"<"<<b.top<<"/"<<b.bottom<<endl;
else
cout<<a.top<<"/"<<a.bottom<<"="<<b.top<<"/"<<b.bottom<<endl;
}
void Fraction::sim(){
int i;
if(top!=0){
for(i=fabs(top);i>=1;i--){
if(top%i==0&&bottom%i==0)
break;
}
top/=i;
bottom/=i;
}
if(bottom*top<0){
top=-fabs(top);
bottom=fabs(bottom);
}
else if(bottom*top>0){
top=fabs(top);
bottom=fabs(bottom);
}
}
void Fraction::input(){
cin>>top>>bottom;
}
void Fraction::output(){
if(top!=0){
if(bottom!=1)
cout<<top<<"/"<<bottom;
else if(bottom==1)
cout<<top;
}
else
cout<<"0";
}
#ifndef FRACTION_H
#define FRACTION_H
class Fraction{
public:
Fraction(int top0,int bottom0);
Fraction();
static Fraction add(Fraction a,Fraction b);
static Fraction sub(Fraction a,Fraction b);
static Fraction mul(Fraction a,Fraction b);
static Fraction div(Fraction a,Fraction b);
static void compare(Fraction a,Fraction b);
void sim();
void input();
void output();
private:
int top;
int bottom;
};
#endif

总结:
1: 在课上做的第一题存入U盘回来打开了运行不了,重新导入的才可以。
2:最后一题花了好久好久,一言难尽,自己电脑的DEV运行不出来,让学长检查错误,然后截图是让学长帮忙运行的截图,不知道为啥我的软件不好运行,心态爆炸。
原文:https://www.cnblogs.com/zcq1224/p/10753369.html