首页 > 其他分享 >实验二

实验二

时间:2022-10-17 21:03:04浏览次数:40  
标签:cout void Complex 实验 using include imag

任务四

类的定义

using namespace std;
class Complex{
    public:        
        Complex(double r = 0, double i = 0){
            real = r;
            imag = i;
        }
        Complex(Complex &c){
            real = c.real;
            imag = c.imag;
        }
        
        double get_real()const {return real;}
        double get_imag()const {return imag;}
        void show()const {
        if(imag>0)
            cout<<real<<'+'<<imag<<'i';
        else if(imag<0)
            cout<<real<<imag<<'i';        
        else      
            cout<<real;          
        }
        void add(const Complex &c)
        {
            real+=c.real;
            imag+=c.imag;
        }
        
        friend Complex add(const Complex &c1,const Complex &c2);
        friend bool is_equal(const Complex &c1,const Complex &c2);
        friend double abs(const Complex &c);
    private:
        double real,imag;
};        
    
    Complex add(const Complex &c1,const Complex &c2){
            Complex c3; 
            c3.real = c1.real + c2.real;
            c3.imag = c1.imag + c2.imag;
            return c3;
    }
    
    bool is_equal(const Complex &c1,const Complex &c2){
        if(c1.real == c2.real){
            return (c1.imag == c2.imag);
        }
        else 
        return false;
    }    

    double abs(const Complex &c){
        return (sqrt(c.real*c.real + c.imag*c.imag));
    }
#include <iostream>
#include "Complex.hpp" 
    
void test() {
    using namespace std;

    Complex c1(2, -4);
    const Complex c2(2.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();
}

实验五

类的定义


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

class User{
    public:
        User(string na,string pa = "111111",string em = ""){
            name = na;
            passwd = pa;
            email = em;
            count++;
        }
        void set_email();
        void change_passwd();
        void print_info();
        static void print_n();    
    private:
        string name,passwd,email;
        static int count;
};
int User::count = 0;

void User::set_email(){
    cout<<"Enter email address: ";
    cin>>email;
    cout<<"email is set successfully..."<<endl;
}

void User::change_passwd(){
    string pa1,npa1;
    int nu=1;    
    while(nu<=3){
        cout<<"Enter the old email address: ";
        cin>>pa1;
        if(passwd == pa1){
            cout<<"Enter new passwd: ";
            cin>>npa1;
            cout<<"new passwd is set successfully..."<<endl;
            break;
        }
        else{
            cout<<"the old passwd is wrong"<<endl;
            if(count==3){
                cout<<"Please try it again after a while."<<endl;
                break;
            }
            nu++;
        }
    }
}
void User::print_info(){
    int len = passwd.length();
    cout<<"name:\t"<<name<<endl;
    cout<<"passwd:\t";
    for(int i = 0;i < len;i++)
    cout<<"*";
    cout<<endl;
    cout<<"email:\t"<<email<<endl;
}

void User::print_n(){
    cout<<"there are"<<count<<"users"<<endl;
}
#include <iostream>
#include <string>
#include "User.hpp"
using namespace std;
    
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();
}

 

标签:cout,void,Complex,实验,using,include,imag
From: https://www.cnblogs.com/qjj12-30/p/16800639.html

相关文章