我如何获得'.00'形式的数字?

How would I get a number in '.00' form?

本文关键字:数字 何获得      更新时间:2023-10-16

我是C 的新手,并编写了一个简单的GPA计算器程序。
它基本上要求您拥有的课程数量并占每个等级。
然后,它将字母等级转换为数字。
最后,它总结了数值等级,以便平均它。
我的问题是,我将如何确切地将GPA导致到4.00、3.00、2.00等。表格?

#include <iostream>
using namespace std;
int main(){
    int grades_size;
    cout << "Enter the number of classes you are taking: ";
    cin >> grades_size;
    int *grades;
    grades = new int[grades_size];
    float *conversion;
    conversion = new float[grades_size];
    float sum = 0;
    cout << endl << "Enter your grade percentage of each class as a number 0-100." << endl;
    for (int i = 0; i < grades_size; i++) {
        cout << "Grade " << i + 1 << ": ";
        cin >> grades[i];
        if (grades[i] <= 100 && grades[i] >= 90) {
            conversion[i] = 4.00;
        } else if (grades[i] < 90 && grades[i] >= 80) {
            conversion[i] = 3.00;
        } else if (grades[i] < 80 && grades[i] >= 70) {
            conversion[i] = 2.00;
        } else if (grades[i] < 70 && grades[i] >= 60) {
            conversion[i] = 1.00;
        } else if (grades[i] < 60 && grades[i] >= 0) {
            conversion[i] = 0.00;
        }
        sum += conversion[i];
    }
    float GPA = sum / grades_size;
    cout << endl << "--- Your GPA is: " << GPA;
}

std :: setPrecision(在iomanip标头中)以及std :: fixed(已包含iostream已包含),可能在这里使用。

setPrecision:在打印浮点值时设置小数精度。

固定:浮点值以固定符号打印。当与setPrecision一起使用时,印刷号是始终的数字。

#include <iomanip> // std::setprecision
...
cout << endl << "--- Your GPA is: " << std::fixed << std::setprecision(2) << GPA;