以整数为值的结构

Structure taking integer as value

本文关键字:结构 整数      更新时间:2023-10-16
#include <iostream>
using namespace std;
struct parts {
int partNumber;
int partPrice;
} parts p;
void main() {
cout << "Enter part number and its price " << endl;
cin >> p.partNumber;
cin >> p.partPrice;
cout << "Part Number " << p.partNumber << "Part Price " << p.partPrice;
}

如果我输入零件号"098"和零件价格"3456",输出为:Part Number 98 Part Price 3456为什么我的输入"098"输出为"98"?

因为您输入的数字是98.这是97上面的数字和99下面的数字。一个计数。数量。一个抽象的概念。

int不是一串数字。它不是'9'后跟'8',也不是'0'后跟'9'后跟'8'

当您考虑数字如何在计算机中存储时,这是完全有意义的:二进制。为什么计算机会将十进制输入转换为二进制,单独存储您输入的前导零的数量?这不是它的作用,因为不需要它。

我通常建议将"部件号"存储为字符串,因为"number"元素只是它在英语中的称呼,并不能真正准确地揭示值是什么:正如您所指出的,您希望它是一串字符。如果不出意外,我经常会遇到带有字母的"零件号"。

如果前导零有意义,你应该将"数字"存储为字符串,而不是整数。 你的"数字"并不是真正的数字——098的数字与98的数字相同,但字符串098与字符串98不同。