角度與弧的轉換
a 90
r 1.571
這種輸入格式
#include<iostream>
using namespace std;
class Angle {
public:
Angle(double d) {
d = d;
};
void Change_one(double k) {
//角度換弧度
r = k * PI / 180;
cout.setf(ios::fixed);
cout.precision(3);
cout << r << endl;
}
void Change_twe(double k) {
//弧度換角度
d = k * 180 / PI;
cout.setf(ios::fixed);
cout.precision(3);
cout << d << endl;
}
private:
double d, r;
static double PI;
};
double Angle::PI = 3.14159;
int main00() {
double k;
Angle a1(0);
char ch;
cin >> ch;
while (ch) {
Angle a(a1);
if (ch == 'a') {
cin >> k;
a.Change_one(k);
}
else if (ch == 'r') {
cin >> k;
a.Change_twe(k);
}
cin >> ch;
}
return 0;
}
一直不能結束循環
當我將代碼的格式修改成這樣是就行了
#include<iostream>
using namespace std;
class Angle {
public:
Angle(double d) {
d = d;
};
void Change_one(double k) {
//角度換弧度
r = k * PI / 180;
cout.setf(ios::fixed);
cout.precision(3);
cout << r << endl;
}
void Change_twe(double k) {
//弧度換角度
d = k * 180 / PI;
cout.setf(ios::fixed);
cout.precision(3);
cout << d << endl;
}
private:
double d, r;
static double PI;
};
double Angle::PI = 3.14159;
int main() {
double k;
Angle a1(0);
char ch;
// cin >> ch;
while (cin>>ch) {
Angle a(a1);
if (ch == 'a') {
cin >> k;
a.Change_one(k);
}
else if (ch == 'r') {
cin >> k;
a.Change_twe(k);
}
//cin >> ch;
}
return 0;
}
ctrl+z,結束循環,但我們在while循環的判斷條件是一個值(就是 while(ch) 與 while(cin>>ch) 的關係),ctrl+z
更應該是控制cin輸入流結束的標識