C++学号输出前面的0

往往在输出学号的时候需要输出0,例如001,002,003等

如果按这种模式输出:

#include <iostream>
#include <iomanip>
using namespace std;
class Student
{
    public:
        Student(int i,int s) :id(i),score(s){};
        void display();
    private:
        int id;
        int score;
};
void Student::display()
{
    cout << "学号:" << id << "成绩:" << score << endl;
}
int main()
{
    Student stu[5] = {
    Student(001,97),
    Student(002,88),
    Student(003,90),
    Student(004,92),
    Student(005,83)
};
    Student * p = stu;
    for(int i = 0;i < 3;i++,p=p+2)
    {
        p->display();
    }
    return 0;
}

则会输出:


输出的学号会被自动删除0输出

因此应将红色字体改为:

cout << "学号:" << setfill('0') << setw(3) << id << "成绩:" << score << endl; 

cout << "学号:" << setw(3) << setfill('0') << id << "成绩:" << score << endl;

此时输出为:



猜你喜欢

转载自blog.csdn.net/qq_42183233/article/details/80614026
今日推荐