输出不显示零
Output shows no zero
供您参考,我是c++的初学者。这只是完整代码的一部分,问题是"学生"。Id ',如果输入以'0'开头,例如'06042010',则输出不显示零(在这种情况下将是'6042010'!关键是,我想要第一个0被显示出来。谢谢。
#include<iostream>
using namespace std;
struct students
{
char name[15];
char surname[10];
int id;
};
int main()
{
students student;
cout<<"Name: ";
cin>>student.name;
cout<<"Surname: ";
cin>>student.surname;
cout<<"ID: ";
cin>>student.id;
cout<<"nStudent: "<<student.name<<" "<<student.surname<<" ID "<<student.id<<endl;
return 0;
}
如果需要保留前导零,则应该将id
存储为字符串,而不是int
。
如果你的id总是一个特定的长度,你可以使用C的printf
函数代替流,它给你更多的权力;
printf( "Student: %s %s ID %08dn", student.name, student.surname, student.id );
这将始终打印8位数字的ID,并根据需要使用0作为前缀(如果只是%8d
,它将使用空格作为前缀)。
但是正如已经指出的那样,您最好将其存储为字符串,因为这样您就可以在将来增加id的长度而无需调整所有旧id
如果您出于某种原因需要或想要保留学生id号码,您还可以使用以下方法:
#include <iomanip>
const int width = 8; //The length of your student ID numbers
cout << "nStudent: " << student.name << " " <<student.surname
<< " ID " << setfill('0') << setw(width) << student.id << setfill(' ') << endl;
如果你的ID号长度不相同,你将不得不检测它们的长度,并在每个setw()调用中使用适当的宽度。
相关文章:
- 为什么在C的循环中使用printf的Rust代码不显示输出,而在C++的循环中显示std::cout
- C++ 构造函数未显示输出
- 显示C++输出而不返回值
- 为什么输出窗口上没有显示输出?
- 为什么我的代码块上没有显示输出?
- C++ 程序不显示输出
- isPalindrome不显示输出,isPalindrome函数未使用字符串输入作为字符串参数进行测试
- 如何从amd gpus的显示输出中获取图像数据
- 插入了 C++ 数组字符串数据,但在显示输出时不显示
- 程序不会在必须时结束并显示输出
- 为什么我的前缀中缀代码不显示输出
- 函数显示输出和输入时出现问题
- 为什么我的程序多次显示输出
- 二进制搜索 - 代码编译并运行后不显示输出
- 字符串流未显示输出
- 为什么当我使用 cout 显示输出时,必须将按位运算符(例如 &,|,等)括在括号中?
- 这段代码可编译,但在visualstudio2015社区中运行(c++)时不显示输出
- Jupyter笔记本未显示C 输出(COUT)
- 尝试拆分循环链表.显示输出但崩溃.在 IDEone 中显示运行时错误
- Q未显示输出