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...