7.11 程序
#include <iostream>
#include <string>
#include <cstring>
struct travel_time //定义结构
{
int hours;
int mins;
};
const int Min_per_hour =60;
travel_time sum(travel_time t1, travel_time t2);
void show_time(travel_time t);
int main() {
using namespace std;
travel_time day_1 = {4, 56};
travel_time day_2 = {5, 30};
travel_time all = sum(day_1, day_2);
show_time(all);
return 0;
}
travel_time sum(travel_time t1, travel_time t2)
{
travel_time total;
total.mins = (t1.mins + t2.mins) % Min_per_hour; // %表示余数
total.hours = t1.hours + t2.hours + (t1.mins + t2.mins) / Min_per_hour;
return total;
}
void show_time(travel_time t)
{
using namespace std;
cout << t.hours << " hours, " << t.mins << "mins";
}
7.12
#include <iostream>
#include <string>
#include <cstring>
#include <cmath>
struct polar
{
double distance;
double angle;
};
struct rect
{
double x;
double y;
};
polar rect_to_polar(rect xypos);
void show_polar(polar dapos);
int main() {
using namespace std;
rect a = {8.9,10.23};
polar deg = rect_to_polar(a);
show_polar(deg);
return 0;
}
polar rect_to_polar(rect xypos)
{
using namespace std;
polar answer;
answer.distance = sqrt(xypos.x * xypos.x + xypos.y * xypos.y);
answer.angle = atan2(xypos.y, xypos.x);
return answer;
}
void show_polar (polar dapos)
{
using namespace std;
const double red2deg = 57.29577951;
cout << "distance= " << dapos.distance;
cout << '\n' << "angle= " << dapos.angle * red2deg;
}
7.13
#include <iostream>
#include <cmath>
struct polar
{
double distance;
double angle;
};
struct rect
{
double x;
double y;
};
void rect_to_polar(const rect * pxy, polar * pad);
void show_polar(const polar * pad);
int main() {
using namespace std;
rect a = {8.9,10.23};
polar pplace;
rect_to_polar(&a, &pplace);
show_polar(&pplace);
return 0;
}
void rect_to_polar(const rect * pxy, polar * pda)
{
using namespace std;
pda-> distance = sqrt(pxy->x * pxy->x + pxy->y * pxy->y);
pda -> angle = atan2(pxy->y, pxy->x);
}
void show_polar (const polar * pad)
{
using namespace std;
const double red2deg = 57.29577951;
cout << "distance= " << pad->distance;
cout << '\n' << "angle= " << pad->angle * red2deg;
}