Graph类的实现:
源代码;
Graph.h:
#ifndef GRAPH_H #define GRAPH_H class Graph{ public: Graph(char ch,int n); void draw(); private: char symbol; int size; }; #endif
Graph.cpp:
#include "graph.h" #include <iostream> using namespace std; Graph::Graph(char ch,int n):symbol(ch),size(n){ } void Graph::draw(){ for(int i=1;i<=size;i++) { for(int j=1;j<=size-i;j++) { cout<<" "; } for(int j=size-i;j<=size+i-1;j++) { cout<<symbol; } cout<<endl; } }
main.cpp:
#include <iostream> #include "graph.h" using namespace std; int main() { Graph graph1('*',5); graph1.draw(); system("pause"); Graph graph2('$',7); graph2.draw(); return 0; }
运行截图:
分数类fraction:
源代码:
fraction.h:
#ifndef FRACTION_H #define FRACTION_H class Fraction { public: Fraction(int top0=0,int bottom0=1):top(top0),bottom(bottom0) {} friend void add(Fraction a,Fraction b); friend void subtract(Fraction a,Fraction b); friend void multiply(Fraction a,Fraction b); friend void divide(Fraction a,Fraction b); friend void compare(Fraction a,Fraction b); private: int top; int bottom; }; #endif
fraction.cpp:
#include "fraction.h" #include <iostream> using namespace std; void add(Fraction a,Fraction b) { int x,y; x=a.top*b.bottom+a.bottom*b.top; y=a.bottom*b.bottom; cout<<x<<'/'<<y<<endl; } void subtract(Fraction a,Fraction b) { int x,y; x=a.top*b.bottom-a.bottom*b.top; y=a.bottom*b.bottom; cout<<x<<'/'<<y<<endl; } void multiply(Fraction a,Fraction b) { int x,y; x=a.top*b.top; y=a.bottom*b.bottom; cout<<x<<'/'<<y<<endl; } void divide(Fraction a,Fraction b) { int x,y; x=a.top*b.bottom; y=a.bottom*a.top; cout<<x<<'/'<<y<<endl; } void compare(Fraction a,Fraction b) { int x; x=a.top*b.bottom-a.bottom*b.top; if(x>0) { cout<<'>'<<endl; } else if(x<0) { cout<<'<'<<endl; } else if(x=0) { cout<<'='<<endl; } }
main.cpp:
#include "fraction.h" #include <iostream> int main() { Fraction a; Fraction b(3,4); Fraction c(5); add(b,c); subtract(b,c); multiply(b,c); divide(b,c); compare(b,c); return 0; }
运行结果:
觉得本项目还需要加入化简等函数进行优化