簡體   English   中英

C ++ 10的大數冪

[英]C++ Large numbers power of 10

C ++編程的新手。 有沒有一種方法可以使代碼更好,從而避免重復的代碼。

if (totalDistance < pow(10, 3)) {
    cout << "\nTotal (approx) travel distance = " << totalDistance << " million km\n" << endl;
}
else if (totalDistance < pow(10, 6)) {
    totalDistance = totalDistance / pow(10, 3);
    cout << "\nTotal (approx) travel distance = " << totalDistance << " billion km\n" << endl;
}
else if (totalDistance < pow(10, 9)) {
    totalDistance = totalDistance / pow(10, 6);
    cout << "\nTotal (approx) travel distance = " << totalDistance << " trillion km\n" << endl;
}
cout << "\nTotal (approx) travel distance = ";
if (totalDistance < pow(10, 3)) {
    cout << totalDistance << " million km\n";
else if (totalDistance < pow(10, 6)) {
    cout << totalDistance / pow(10, 3) << " billion km\n";
}else if (totalDistance < pow(10, 9)) {
    cout << totalDistance / pwo(10, 6) << " trillion km\n";
}

我假設您不再使用totalDistance,並且如果您已經在使用'\\ n',則不需要endl。

最簡單的改進:

if (totalDistance < pow(10, 3)) {
    outputDistance(totalDistance); 
}
else if (totalDistance < pow(10, 6)) {
    totalDistance = totalDistance / pow(10, 3);
    outputDistance(totalDistance); 
}
else if (totalDistance < pow(10, 9)) {
    totalDistance = totalDistance / pow(10, 6);
    outputDistance(totalDistance); 
}

private void outputDistance(const double totalDistance) {
cout << "\nTotal (approx) travel distance = " << totalDistance << " trillion km\n" << endl;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM