以整数为值的结构

时间:2015-05-11 10:26:19

标签: c++

#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;
}

如果我输入部件号&#34; 098&#34;和部分价格&#34; 3456&#34;,输出为:Part Number 98 Part Price 3456为什么输入&#34; 098&#34;输出为&#34; 98&#34;?

2 个答案:

答案 0 :(得分:3)

因为您输入的号码是98。这是97以上的数字和99以下的数字。伯爵。数量。一个抽象的概念。

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

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

我一般建议存储一个&#34;部件号&#34;作为一个字符串,因为&#34;数字&#34;元素正是它用英语调用的,并没有真正准确地揭示的价值:正如你所说,你希望它是一串字符。如果没有别的,我会经常遇到&#34;部分号码&#34;带有字母。

答案 1 :(得分:0)

如果前导零是有意义的,那么你应该存储你的&#34;数字&#34;作为字符串,而不是整数。你的号码&#34;并非真正的数字 - 数字098与数字98相同,但字符串098与字符串98不同。