首页 > 其他分享 >实验二

实验二

时间:2022-10-15 13:11:22浏览次数:35  
标签:const cout double void Complex 实验 include

Complex.hpp

#include<iostream>
#include<cmath>
using namespace std;

class Complex{
    
    private:
        double a,b;
    public:
        Complex() :a{0},b{0} {    }
        Complex(double x) {
            a=x;
            b=0;
        }
        Complex(double y,double z) {
            a=y;b=z;
        }
        Complex(const Complex &obj)
        {
            a=obj.a;
            b=obj.b;
        }
        double get_real() const
        {
            return a;
        };
        double get_imag() const
        {
            return b;
        };
        void show() const; 
        void add(const Complex &T);
        friend Complex add(const Complex &A,const Complex &B);
        friend bool is_equal(const Complex &A,const Complex &B);
        friend double abs(Complex &A);
        void add(Complex &A,Complex &B);
};
void Complex::show() const
{
    if(b>0)
    cout << a <<" + "<< b << "i" ;
    else if(b==0)
    cout<< a ;
    else if(b<0)
    {
    cout << a <<" - "<< -b << "i" ;    
    }
}
void Complex::add(const Complex &T)
{
    a+=T.a;
    b+=T.b;
}
Complex add(const Complex &A,const Complex &B)
{
    Complex C;
    C.a=A.a+B.a;
    C.b=A.b+B.b;
    return C;
}
bool is_equal(const Complex &A,const Complex &B)
{
    return (A.a==B.a)&&(A.b==B.b);
}
double abs(Complex &A)
{
    return sqrt(pow(A.a,2)+pow(A.b,2));
}

task4

#include "Complex.hpp"
#include <iostream>

// 类测试
void test() {
    using namespace std;

    Complex c1(3, -4);
    const Complex c2(4.5);
    Complex c3(c1);

    cout << "c1 = ";
    c1.show();
    cout << endl;

    cout << "c2 = ";
    c2.show();
    cout << endl;
    cout << "c2.imag = " << c2.get_imag() << endl;

    cout << "c3 = ";
    c3.show();
    cout << endl;

    cout << "abs(c1) = ";
    cout << abs(c1) << endl;

    cout << boolalpha;
    cout << "c1 == c3 : " << is_equal(c1, c3) << endl;
    cout << "c1 == c2 : " << is_equal(c1, c2) << endl;

    Complex c4;
    c4 = add(c1, c2);
    cout << "c4 = c1 + c2 = ";
    c4.show();
    cout << endl;

    c1.add(c2);
    cout << "c1 += c2, " << "c1 = ";
    c1.show();
    cout << endl;
}

int main() {
    test();
}

运行结果

Use.hpp

 

#include<iostream>
#include<string>
using namespace std;
class User{
    private:
        string name,passwd,email;
        static int k;
    public:
        User(string NAME,string PASSWD="111111",string EMAIL=""):name{NAME}, passwd{PASSWD} ,email{EMAIL} {k++;};
        void set_email();
        void change_passwd();
        void print_info();
        static void print_n();
};
int User::k=0;
void User::set_email()
{
    cout<<"Enter email address:";
    string new_email;
    cin>>new_email;
    cout<<endl;
    email=new_email;
    cout<<"email is set successfully. . ."<<endl;
}
void User::change_passwd()
{
    string old_password,new_password;
    int n=1;
    while(n){
    cout<<"Enter old password:";
    cin>>old_password;
    cout<<endl;
    if(old_password!=passwd)
    {
        if(n%3==0){
        cout<<"password input error. Please try after a while."<<endl;
        break;
        }
        else
        cout<<"password input error. Please re-enter again:";
    }
    else if(old_password==passwd)
    {
        cout<<"Enter new passwd:";
        cin>>new_password;
        cout<<endl;
        cout<<"new password is set successfully. . ."<<endl;
        break;
    }
    ++n;
    }
}
void User::print_info()
{
    cout<<"name:   "<<name<<endl;
    cout<<"passwd:  *****"<<endl;
    cout<<"email:  "<<email<<endl;
}
void User::print_n()
{
    cout<<"therer are "<<User::k<<" users."<<endl;
}

task5

#include "User.hpp"
#include <iostream>
void test() {
    using std::cout;
    using std::endl;

    cout << "testing 1......\n";
    User user1("Jonny", "92197", "[email protected]");
    user1.print_info();

    cout << endl
         << "testing 2......\n\n";
         
    User user2("Leonard");
    user2.change_passwd();
    user2.set_email();
    user2.print_info();

    cout << endl;
    User::print_n();
}
int main() {
    test();
}

运行结果

 

标签:const,cout,double,void,Complex,实验,include
From: https://www.cnblogs.com/oRIng/p/16792063.html

相关文章

  • 实验4:开源控制器实践——OpenDaylight
    实验4:开源控制器实践——OpenDaylight一·实验目的能够独立完成OpenDaylight控制器的安装配置;能够使用Postman工具调用OpenDaylight API接口下发流表。二.实验内容1.利用M......
  • 实验2
    头文件:#pragmaonce#include<iostream>#include<math.h>usingnamespacestd;classComplex{public:Complex():real{0},imag{0}{}~Complex(){}......
  • 实验任务
    实验任务1.1#include<stdio.h>#include<stdlib.h>intmain(){   printf("o\n");   printf("<H>\n");   printf("II\n");   printf("o\n");......
  • Python实验报告——第6章 函数
    实验报告【实验目的】 1.掌握如何创建并调用一个函数,以及如何进行参数传递和指定函数的返回值等。2.掌握变量的作用域和匿名函数。【实验条件】1.PC机或者远程编程......
  • 实验一 C 语言开发环境使用和数据类型,运算符,表达式
      #include<stdio.h>#include<stdlib.h>intmain(){printf("OO\n");printf("<H><H>\n");printf("II II\n");sys......
  • 实验1:C语言开发环境使用和编程初体验
     任务一:#include<stdio.h>#include<stdlib.h>intmain(){printf("00\n");printf("<H><H>\n");printf("III......
  • 实验二 类和对象(2)
    任务四代码:Complex.hpp文件源码:1#pragmaonce23//Complex类的定义4#include<iostream>5#include<cmath>67usingnamespacestd;89class......
  • 实验1
    task1_1#include<stdio.h>intmain(){printf("O\n");printf("<H>\n");printf("II\n");printf("O\n");printf("<H>\n");printf("......
  • 实验4:开源控制器实践——OpenDaylight
    实验4:开源控制器实践——OpenDaylight一、实验目的能够独立完成OpenDaylight控制器的安装配置;能够使用Postman工具调用OpenDaylightAPI接口下发流表。二、实验环境......
  • 实验2 类和对象(2)
    实验四Complex.hpp#pragmaonce#include<iostream>#include<cmath>usingnamespacestd;classComplex{public:Complex(){};Complex(doublea){......