实验四
Graph补齐代码如下:
void Graph::draw() { int m,n; for(m=0;m<size;m++) { n=0; for(;n!=2*size-1;n++) { if((size-(m-1))<=n&&n<=(size+(m-1))) { cout<<symbol; } else cout<<" "; } cout<<endl; } }
运行效果图如下:

fraction
// .h class fraction { public: fraction(int a,int b); void fa(); void fb(); void fc(); void fd(); void fadd(); void fsub(); void fmul(); void fdiv(); void fcom(); private: int top; int bottom; }; // .cpp #include"fraction.h" #include<iostream> using namespace std; fraction::fraction(int a,int b):top(a),bottom(b) { } void fraction::fa() { cout<<"分数a为:"<<top<<"/"<<bottom<<endl; } void fraction::fb() { cout<<"请输入分子和分母"; cin>>top; cin>>bottom; cout<<"分数b为:"<<top<<"/"<<bottom<<endl; } void fraction::fc() { cout<<"请输入分子和分母"; cin>>top; cout<<"分数c为:"<<top<<"/"<<"1"<<endl; } void fraction::fd() { } void fraction::fadd() { int a,b,c,d; cout<<"请输入分子和分母"; cin>>a>>b>>c>>d; cout<<(a*d+c*b)<<"/"<<(b*d)<<endl; } void fraction::fsub() { int a,b,c,d; cout<<"请输入分子和分母"; cin>>a>>b>>c>>d; cout<<(a*d-c*b)<<"/"<<(b*d)<<endl; } void fraction::fmul() { int a,b,c,d; cout<<"请输入分子和分母"; cin>>a>>b>>c>>d; cout<<(a*c)<<"/"<<(b*d)<<endl; } void fraction::fdiv() { int a,b,c,d; cout<<"请输入分子和分母"; cin>>a>>b>>c>>d; cout<<(a*d)<<"/"<<(b*c)<<endl; } void fraction::fcom() { int a,b,c,d,e,f; cout<<"请输入分子和分母"; cin>>a>>b>>c>>d; if((a%b)>(c%d)) { cout<<a<<"/"<<b<<">"<<c<<"/"<<d<<endl; } if((a%b)<(c%d)) { cout<<a<<"/"<<b<<"<"<<c<<"/"<<d<<endl; } if((a%b)==(c%d)) { cout<<a<<"/"<<b<<"="<<c<<"/"<<d<<endl; } } // main #include<iostream> #include"fraction.h" using namespace std; int main() { fraction fractiona(0,1); fractiona.fa(); fraction fractionb(0,0); fractionb.fb(); fraction fractionc(0,0); fractionc.fc(); fraction fractionadd(0,0); fractionadd.fadd(); fraction fractionsub(0,0); fractionsub.fsub(); fraction fractionmul(0,0); fractionmul.fmul(); fraction fractiondiv(0,0); fractiondiv.fdiv(); fraction fractioncom(0,0); fractioncom.fcom(); return 0; }
运行效果图:

这个fraction肯定可以优化结构,感觉不会这么多,但暂时只能想出来这样的,麻烦各位指点。
对于类的项目,觉得就是先写一个完整的代码,然后把三部分拆开,改好文件格式,加入头文件。

浙公网安备 33010602011771号