往往在输出学号的时候需要输出0,例如001,002,003等
如果按这种模式输出:
#include <iostream>
#include <iomanip>
#include <iomanip>
using namespace std;
class Student
{
public:
Student(int i,int s) :id(i),score(s){};
void display();
private:
int id;
int score;
};
{
public:
Student(int i,int s) :id(i),score(s){};
void display();
private:
int id;
int score;
};
void Student::display()
{
cout << "学号:" << id << "成绩:" << score << endl;
}
{
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;
{
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();
}
{
p->display();
}
return 0;
}
}
则会输出:
输出的学号会被自动删除0输出
因此应将红色字体改为:
cout << "学号:" << setfill('0') << setw(3) << id << "成绩:" << score << endl;
或
cout << "学号:" << setw(3) << setfill('0') << id << "成绩:" << score << endl;
此时输出为: