第十一章程式設計練習 1

2021-07-09 21:26:12 字數 2790 閱讀 8943

list.h

#pragma once

#ifndef list_h_

#define list_h_

#include namespace vector ;

private:

double x; //分量

double y; //分量

double mag; //需要行走的距離

double ang; //角度

move mode; //rech or pol

void set_x();

void set_y();

void set_ang();

void set_mag();

public:

move();

move(double a, double b, move from = rech); //建構函式,預設直角座標顯示

void reset(double a, double b, move from = rech); //設定新的座標值,預設直角座標顯示

double xval()const ; //返回分量1的值

double yval()const ; //返回分量2的值

double magval()const ; //返回行走距離

double angval()const ; //返回角度

void polar_mode(); //設定為直角座標表示

void rect_mode(); //設定為極座標表示

//過載運算子

move operator +(const move & a)const;

move operator -(const move & a)const;

move operator -()const;

move operator *(double n)const;

friend move operator *(double n, const move & a);

friend std::ostream & operator <<(std::ostream & os, const move & a);

};}#endif

function.cpp

#include #include "list.h"

#include using namespace std;

namespace vector

void move::set_ang()

void move::set_x()

void move::set_y()

move::move()

move::move(double a, double b, move from)

else if(from==pol)

else

} void move::reset(double a, double b, move from)

else if (from == pol)

else

} void move::polar_mode()

void move::rect_mode()

move move::operator +(const move & a)const

move move::operator -(const move & a)const

move move::operator -()const

move move:: operator *(double n)const

move vector::operator*(double n, const move & a)

std::ostream & operator<<(std::ostream & os, const move & a)

else if (a.mode == move::pol)

else

os << "move object mode is invalid.";

return os;

}}

main.cpp

#include "list.h"

#include #include #include int main()

{ using namespace std;

using vector::move;

srand(time(0));

double direction;

move step;

move result(0.0, 0.0);

unsigned long steps = 0;

double target;

double dstep;

ofstream fout;

fout.open("walkman.txt");

if (!fout)

cout << "open file failed!";

cout << "enter target distance(q to quite): ";

while (cin >> target)

{ cout << "enter step length: ";

if (!(cin >> dstep))

break;

fout << "target distance : " << target << ", step size :" << dstep << endl;

while (result.magval() < target)

{ fout << steps << ": \t" << result<

第十一章程式設計題

2.在這個題目中,我的設計的不人性化在於,我必須要求使用者給輸入自己要輸入整數的大小,然後我再給他分配記憶體,這分明是通過折磨使用者來使自己的程式變得簡單,而guide s answer則是只需要使用者輸入你該輸入的數即可。程式設計的思路如下 1.先預設一定大小 巨集定義 的記憶體分配 2.然後在讀...

第十一章 網路程式設計

每個網路應用都是基於客戶端 服務端模型的。根據這個模型,乙個用用是由乙個伺服器和乙個或多個客戶端組成的。伺服器管理資源,以某種方式操作資源,為客戶端服務。例如,乙個web伺服器管理著一組磁碟檔案,它會代表客戶端進行檢索和執行。客戶端 服務端模型中的基本操作是事務。乙個客戶端 伺服器事務由以下四步組成...

第十一章 11 2 3節練習

練習11.12 編寫程式,讀入string和int的序列,將每個string和int存入乙個pair中,pair儲存在乙個vector中。解答 include include include include include using namespace std int main auto sfir...