【发布时间】:2018-01-13 10:37:13
【问题描述】:
我想编写一个 C 程序,通过输入注册日期来计算汽车的年限。我只能使用一个 int 而不是日、月和年作为整数。如果整个日期都是 int,我如何只计算年份?
这是我的代码:
#include <stdio.h>
int main() {
int inputDateOfFirstUse, ageCalculation, age;
printf("\nProgram to calculate the age of a car");
printf("\nPlease enter the date of the first use (in this syntax tt.mm.jjjj): ");
scanf("%i", &inputDateOfFirstUse);
ageCalculation = inputDateOfFirstUse - 2018;
age = ageCalculation;
printf("\nThe car is %i years old.", age);
return 0;
}
【问题讨论】:
-
即使在 C 语言中,使用英语单词作为标识符也可以帮助这里的大多数人为您提供帮助。
-
能否请您将文本翻译成英文以便更好地理解?老实说,我不知道变量是什么。
-
您要求人们以
tt.mm.jjjj的形式输入,但点会阻止这样的数字被解释为整数(除非您使用的语言环境中.被用作“千分隔符”,,是小数点)。你真的应该要求人们输入ttmmjjjj(或者,就像只有英语的顽固分子那样:ddmmyyyy)。要从这样的整数中提取年份,您需要使用int jjjj = eingabeZulassungsdatum % 10000。 -
为什么不对输入的日期使用字符串?然后获取适当的子字符串并进行转换?
-
与所描述的问题无关,但我预计
2018 - inputDateOfFirstUse。