首页 > 其他分享 >实验二

实验二

时间:2022-10-18 22:14:04浏览次数:33  
标签:const string int void Complex 实验 cout

 

 

#include <iostream>
#include <complex>

int main(){
    using namespace std;

    complex<double> c1{3, 4}, c2{4.5};
    const complex<double> c3{c2};

    cout << "c1 = " << c1 << endl;
    cout << "c2 = " << c2 << endl;
    cout << "c3 = " << c3 << endl;
    cout << "c3.real = " << c3.real() << endl;
    cout << "c3.imag = " << c3.imag() << endl;

    cout << "c1 + c2 = " << c1 + c2 << endl;
    cout << "c1 - c2 = " << c1 - c2 << endl;
    cout << "abs(c1) = " << abs(c1) << endl; 

    cout << boolalpha;  
    cout << "c1 == c2 : " << (c1 == c2) << endl;
    cout << "c3 == c2 : " << (c3 == c2) << endl;
    
    complex<double> c4 = 2;
    cout << "c4 = " << c4 << endl;
    c4 += c1;
    cout << "c4 = " << c4 << endl;

}

#include <iostream>
#include <array>
#include <string>

template<typename T>
void output1(const T &obj) {
    for(auto i: obj)
        std::cout << i << ", ";
    std::cout << "\b\b \n";
}

template<typename T>
void output2(const T &obj) {
    for(auto p = obj.cbegin(); p != obj.cend(); ++p)
        std::cout << *p << ", ";
    std::cout << "\b\b \n";
}

int main() {
    using namespace std;

    array<int, 5> x1; 
    cout << "x1.size() = " << x1.size() << endl; 
    x1.fill(42); 
    x1.at(0) = 999;  
    x1.at(4) = -999; 
    x1[1] = 777; 
    cout << "x1: ";
    output1(x1);
    cout << "x1: ";
    output2(x1);


    array<double, 10> x2{1.5, 2.2}; 
    cout << "x2.size() = " << x2.size() << endl;
    cout << "x2: ";
    output1(x2);

    array<int, 5> x3(x1);
    cout << boolalpha << (x1 == x3) << endl;
    x3.fill(22);
    cout << "x3: ";
    output1(x3);

    swap(x1, x3); 
    cout << "x1: ";
    output1(x1);
    cout << "x3: ";
    output1(x3);
}

 

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

void test() {
    using std::cout;
    using std::endl;

    cout << Employee::doc << endl << endl;

    Employee employee1;
    employee1.set_info("Sam", 30000, 2015, 1, 6);
    employee1.update_hire_date(2017, 6, 30);
    employee1.update_salary(35000);
    employee1.display_info();
    cout << endl << endl;

    Employee employee2{ "Tony", 20000, 2020, 3, 16 };
    employee2.raise_salary(15); 
    employee2.display_info();
    cout << endl << endl;

    Employee::display_count();
}

int main() {
    test();
}

#pragma once
#pragma once


#include <iostream>
#include <string>
#include <iomanip>


using std::string;
using std::cout;
using std::endl;
using std::setfill;
using std::setw;
using std::left;
using std::right;
using std::to_string;

struct Date {
    int year;
    int month;
    int day;
};


class Employee
{
public:
    Employee();
    Employee(string name0, double salary0, int y, int m, int d = 1);
    void set_info(string name0, double salary0, int y, int m, int d = 1);
    string get_name() const;
    double get_salary() const;
    void display_info() const;
    void update_salary(double s);
    void update_hire_date(int y, int m, int d);
    void raise_salary(double by_percent);

public:
    static void display_count();

private:
    string id;
    string name;
    double salary;
    Date hire_date;

public:
    static const string doc;

private:
    static int count;

};

const string Employee::doc{ "a simple Employee class" };
int Employee::count = 0;


Employee::Employee() : id{ to_string(count + 1) } {
    ++count;
}


Employee::Employee(string name0, double salary0, int y, int m, int d) :
    id{ to_string(count + 1) }, name{ name0 }, salary{ salary0 }, hire_date{ y, m, d } {
    ++count;
}



void Employee::set_info(string name0, double salary0, int y, int m, int d) {
    name = name0;
    salary = salary0;
    hire_date.year = y;
    hire_date.month = m;
    hire_date.day = d;
}


string Employee::get_name() const {
    return name;
}


double Employee::get_salary() const {
    return salary;
}


void Employee::display_info() const {
    cout << left << setw(15) << "id: " << id << endl;
    cout << setw(15) << "name: " << name << endl;
    cout << setw(15) << "salary: " << salary << endl;
    cout << setw(15) << "hire_date: " << hire_date.year << "-";
    cout << std::right << setfill('0') << setw(2) << hire_date.month << "-" << setw(2) << hire_date.day;

    cout << setfill(' ');
}


void Employee::update_salary(double s) {
    salary = s;
}


void Employee::update_hire_date(int y, int m, int d) {
    hire_date.year = y;
    hire_date.month = m;
    hire_date.day = d;
}


void Employee::raise_salary(double by_percent) {
    double raise = salary * by_percent / 100;
    salary += raise;
}


void Employee::display_count() {
    cout << "there are " << count << " employees\n";
}

#include "Complex.h"
#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();
}

#pragma once
#include<iostream>
#include<cmath>
using namespace std;
class Complex {
public:
    
    Complex(float x = 0, float y = 0) {
        real = x;
        imag = y;
    }
    Complex(Complex& c1);
    int get_real()const { return real; }
    int get_imag()const { return imag; }
    friend Complex add(Complex& c1, const   Complex& c2);
    friend bool is_equal(const Complex& c1, const Complex& c2);
    friend float abs(Complex& c1);
    void show()const;
    void add( const Complex& c1);


private:
    float real, imag;
};
Complex::Complex(Complex& c1) {
    real = c1.real;
    imag = c1.imag;
}
void Complex::show()const {
    if (imag == 0)
        cout << real;
    else if (imag < 0)
        cout << real << "-" << abs(imag) << "i";
    else
        cout << real << "+" << imag << "i";
}
void Complex::add(const Complex& c1) {
    real += c1.real;
    imag += c1.imag;
}
Complex add(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 && c1.imag == c2.imag)
        return true;
    else
        return false;
}
float abs(Complex& c1) {
    return sqrt(c1.real * c1.real + c1.imag * c1.imag);
}

 

#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();
}
#pragma once
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
class User {
public:
    
    User(string name0, string passwd0 = "111111", string email0 = "") :name{ name0 }, password{ passwd0 }, email{ email0 } { count ++; }
    ~User() = default; 
    void set_email();
    void change_passwd();
    void print_info();
    static void print_n();
private:
    
    string name;
    string password;
    string 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() {
    for (int i = 1; i <= 3; i++)
    {
        string password1;
        if (i == 1)
            cout << "Enter old password:";
        cin >> password1;
        if (password1 == password) {
            cout << "Enter new password:";
            cin >> password;
            cout << "new password is set successfully..." << endl;
            break;
        }
        else
        {
            if (i == 1 || i == 2)
                cout << "password input error.Please re-enter again:";
            if(i==3)
                cout << "password input error.Please try after a while:" << endl;
        }
    }

}
void User::print_info() {
    cout <<left<<setw(10) << "name:" << name << endl;
    
        cout << setw(10) << "password:" ;
        for (int j = 0; j <password.length(); j++)
            cout << "*";
        cout << endl;
        cout <<setw(10) << "email:" << email << endl;
}
void User::print_n() {
    cout << "there are" << count << "users.";
}

 

 

 

标签:const,string,int,void,Complex,实验,cout
From: https://www.cnblogs.com/hjr123/p/16785687.html

相关文章

  • 实验一
    task1#include<stdio.h>intmain(){printf("O\n");printf("<H>\n");printf("II\n");return0;}task1_1#include<stdio.h>intma......
  • 实验1
    1.#include<stdio.h>intmain(){printf("O\n");printf("<H>\n");printf("II\n");return0;}2.#include<stdio.h>#include<math.h>intmain......
  • 实验一
    task1——1#include<stdio.h>intmain(){printf("O\n");printf("<H>\n");printf("II\n");printf("O\n");printf("<H>......
  • 实验1
    #include<stdio.h>#include<math.h>intmain(){doublex,ans;scanf_s("%lf",&x);ans=pow(x,365);printf("%.2f的365次方:%.2f\n",x,ans);......
  • 实验1 C语言开发环境使用和数据类型、运算符、表达式
    Task1.c#include<stdio.h>intmain(){printf("O\n");printf("<H>\n");printf("II\n");return0;}Task1_1.c#include<stdio.h>intmai......
  • Python实验报告
                                                         ......
  • 实验一
    task1#include<stdio.h>intmain(){printf("OO\n");printf("<H><H>\n");printf("IIII\n");return0;} #include<stdi......
  • 实验5:开源控制器实践——POX
    实验5:开源控制器实践——POX一、实验目的能够理解POX控制器的工作原理;通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法;能够......
  • 实验6:开源控制器实践——RYU
    一、实验要求1.搭建下图所示SDN拓扑,协议使用OpenFlow1.0,并连接Ryu控制器。建立拓扑连接Ryu控制器通过Ryu的图形界面查看网络拓扑在本机浏览器中输入地址http://......
  • 《汇编语言第三版》王爽-实验6
    实现代码:assumecs:codesg,ss:stacksg,ds:datasgstacksgsegment dw0,0,0,0,0,0,0,0stacksgendsdatasgsegment db'1.display' db'2.brows'......