实验任务四

Complex.hpp 源代码

 1 #pragma once
 2 
 3 
 4 #include<iostream>
 5 #include<cmath>
 6 using namespace std;
 7 
 8 class Complex
 9 {
10 public:
11     Complex();
12     Complex(double x);
13     Complex(double x, double y);
14     Complex(Complex& other);
15     friend Complex add(const Complex &c1, const Complex &c2);
16     Complex add(const Complex& other);
17      friend bool is_equal(const Complex &c1,const Complex &c2);
18     friend double abs(const Complex &c1);
19     double get_real() const
20     {
21         return x;
22     }
23     double get_imag() const
24     {
25         return y;
26     }
27     void show() const
28     {
29         if (y > 0)
30         {
31             cout << x << "+" << y << "i";
32         }
33         if (y == 0)
34         {
35             cout << x;
36         }
37         if (y < 0)
38         {
39             cout << x << y << "i";
40         }
41     }
42 private:
43     double x, y;
44 };
45 Complex::Complex()
46 {
47     x = 0;
48     y = 0;
49 }
50 Complex::Complex(double x)
51 {
52     this->x = x;
53     y = 0;
54 }
55 Complex::Complex(double x,double y)
56 {
57     this->x = x;
58     this->y = y;
59 
60 }
61 Complex::Complex(Complex& other)
62 {
63     this->x = other.x;
64     this->y = other.y;
65 }
66 Complex add(const Complex &c1, const Complex &c2) 
67 {
68     Complex c3;
69     c3.x = c1.x + c2.x;
70     c3.y = c2.y + c1.y;
71     return c3;
72 }
73 bool is_equal(const Complex &c1,const Complex &c2)
74 {
75     if (c1.x == c2.x && c2.y == c1.y)
76     {
77         return true;
78     }
79     return false;
80 }
81 double abs(const Complex &c1)
82 {
83     double s;
84     s = sqrt(c1.x * c1.x + c1.y * c1.y);
85     return s;
86 }
87 Complex Complex::add(const Complex& other)
88 {
89     this->x += other.x;
90     this->y += other.y;
91     return *this;
92 }

Complex.cpp源代码

 1 #include "Complex.hpp"
 2 #include <iostream>
 3 
 4 // 类测试
 5 void test() {
 6     using namespace std;
 7 
 8     Complex c1(2, 4);
 9    const   Complex c2(4.5);
10     Complex c3(c1);
11 
12     cout << "c1 = ";
13     c1.show();
14     cout << endl;
15 
16     cout << "c2 = ";
17     c2.show();
18     cout << endl;
19     cout << "c2.imag = " << c2.get_imag() << endl;
20 
21     cout << "c3 = ";
22     c3.show();
23     cout << endl;
24 
25     cout << "abs(c1) = ";
26     cout << abs(c1) << endl;
27 
28     cout << boolalpha;
29     cout << "c1 == c3 : " << is_equal(c1, c3) << endl;
30     cout << "c1 == c2 : " << is_equal(c1, c2) << endl;
31 
32     Complex c4;
33     c4 = add(c1, c2);
34     cout << "c4 = c1 + c2 = ";
35     c4.show();
36     cout << endl;
37 
38     c1.add(c2);
39     cout << "c1 += c2, " << "c1 = ";
40     c1.show();
41     cout << endl;
42 }
43 
44 int main() {
45     test();
46 }

 

 

 实验任务五

User.hpp源代码

 1 #pragma once
 2 
 3 #include<iostream>
 4 #include<string>
 5 using namespace std;
 6 
 7 class User
 8 {
 9 public:
10     User(string name);
11     User(string name, string password, string email);
12     void set_email();
13     void change_passwd();
14     void print_info();
15      static int print_n();
16 private:
17     string name, password, email;
18 };
19 User::User(string name)
20 {
21     this->name = name;
22     this->password = "111111";
23     this->email = ' ';
24     
25 }
26 
27 User::User(string name, string password, string email)
28 {
29     this->name = name;
30     this->password = password;
31     this->email = email;
32 }
33 
34 void User::set_email()
35 {
36     cout << "enter email address:";
37     cin >> email;
38     cout << "email is set successfully..." << endl;
39 
40 }
41 
42 void User::change_passwd()
43 {
44     cout << "Enter old password:";
45     string s1;
46     int count = 3;
47     while (count)
48     {
49         cin >> s1;
50         if (s1 != password)
51         {
52             if (count != 1)
53                 cout << "password input error.Please re-enter again:" << endl;
54             else
55                 cout << "password input error.Please try after a while." << endl;
56         }
57         else
58         {
59             cout << "Enter new password:";
60             cin >> password;
61             cout << "new password id set successfully..." << endl;
62             break;
63         }
64         count--;
65     }
66     
67 }
68 void User::print_info()
69 {
70     string s1(password.length(), '*');
71     cout << "name:" << name << endl;
72     cout << "password:" << s1 << endl;
73     cout << "email:" << email << endl;
74 
75 }
76 int User::print_n()
77 {
78     static int x = 1;79     x++;
80     cout << "there are  "<<x <<"  users." << endl;81     return x;
82 }

User.cpp源代码

 1 #include "User.hpp"
 2 #include <iostream>
 3 
 4 // 测试User类
 5 void test() {
 6     using std::cout;
 7     using std::endl;
 8 
 9     cout << "testing 1......\n";
10     User user1("Jonny", "92197", "xyz@hotmail.com");
11     user1.print_info();
12 
13     cout << endl
14         << "testing 2......\n\n";
15 
16     User user2("Leonard");
17     user2.change_passwd();
18     user2.set_email();
19     user2.print_info();
20 
21     cout << endl;
22     User::print_n();
23 }
24 
25 int main() {
26     test();
27 }

 

 

 

 

原文地址:http://www.cnblogs.com/pdywsf/p/16791570.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性