// 类graph的实现 #include "graph.h" #include <iostream> using namespace std; // 带参数的构造函数的实现 Graph::Graph(char ch, int n): symbol(ch), size(n) { } // 成员函数draw()的实现 // 功能:绘制size行,显示字符为symbol的指定图形样式 // size和symbol是类Graph的私有成员数据 void Graph::draw() { int x,y,z; for(int x=1;x<=size;x++){ for(int y=1;y<=size-x;y++) cout<<" "; for(int z=1;z<=2*x-1;z++) //使每行个数为等差奇数 cout<<symbol; cout<<endl; } // 补足代码,实现「实验4.pdf」文档中展示的图形样式 }
#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), graph2('$',7) ; // 定义Graph类对象graph1, graph2 graph1.draw(); // 通过对象graph1调用公共接口draw()在屏幕上绘制图形 graph2.draw(); // 通过对象graph2调用公共接口draw()在屏幕上绘制图形 return 0; }
内容三
//fraction.h class Fraction{ public: Fraction(int t=0,int b=1); void show(); void jia(Fraction &x); void jian(Fraction &x); void cheng(Fraction &x); void chu(Fraction &x); private: int top; //分子 int bottom; //分母 };
//fraction.cpp #include"fraction.h" #include<iostream> using namespace std; Fraction::Fraction(int t,int b):top(t),bottom(b){ } void Fraction::jia(Fraction &x){ top=top*x.bottom+x.top*bottom; bottom=bottom*x.bottom; } void Fraction::jian(Fraction &x){ top=top*x.bottom-x.top*bottom; bottom=bottom*x.bottom; } void Fraction::cheng(Fraction &x){ top=top*x.top; bottom=bottom*x.bottom; } void Fraction::chu(Fraction &x){ top=top*x.bottom; bottom=bottom*x.top; } void Fraction::show(){ cout<<top<<'/'<<bottom<<endl; }
//main.cpp #include"fraction.h" #include <iostream> using namespace std; int main() { Fraction a; Fraction b(3,4); Fraction c(5); a.show();b.show(); c.show(); a.jia(a);a.show(); b.jian(b);b.show(); c.cheng(c);c.show(); c.chu(c);c.show(); return 0; }
小结:在做第二道题时,前几次不知怎么的,运行的结果会向右对其,后来不知怎么弄的又能运行出正确的结果了,可是我并没有改变代码啊,求解
得出的错误结果如右图