好吧,我要失去理智了。我应该为课堂编写一个程序,该程序确定您输入的年份(代表day年)的天数,而且我感觉自己不知道自己在做什么。在压力水平进一步提高之前,我将获得任何帮助,我将不胜感激。在甚至无法测试我的程序之前我遇到的最终错误(我怀疑这是行得通的)是:
error C2365: 'leap' : redefinition; previous definition was 'data variable'
和
error C2365: 'count' : redefinition; previous definition was 'data variable'
源代码:
#include <stdio.h>
int main(void){
int d, m, y, x, day, leap, count;
//Input values for date
printf("\n Input the Day: ");
scanf_s("%f", &d);
printf("\n Input the Month: ");
scanf_s("%f", &m);
printf("\n Input the Year: ");
scanf_s("%f", &y);
//End input
int count(int m, int day);
int leap(int y, int x);
if (x == 1){
printf("\nThe day of the year is %f", day + 1);
}
else{
printf("\nThe day of the year is %f", day);
}
system("pause");
return(0);
}
//Count the number of days
int count(int m, int day, int d){
if (m == 1){
day = d;
}
if (m == 2){
day = 31 + d;
}
if (m == 3){
day = 59 + d;
}
if (m == 4){
day = 90 + d;
}
if (m == 5){
day = 120 + d;
}
if (m == 6){
day = 151 + d;
}
if (m == 7){
day = 181 + d;
}
if (m == 8){
day = 212 + d;
}
if (m == 9){
day = 243 + d;
}
if (m == 10){
day = 273 + d;
}
if (m == 11){
day = 304 + d;
}
if (m == 12){
day = 334 + d;
}
return(day);
}
//Determine if it's a leap year
int leap(int y, int x){
if (y % 400 == 0){
x = 1;
}
else if (y % 100 == 0){
x = 0;
}
else if (y % 4 == 0){
x = 1;
}
else{
x = 0;
}
return(x);
}
以下是函数声明,这是不允许的main()
(局部函数定义是非法的)。你应该把它们放在前面main()
。
int count(int m, int day);
int leap(int y, int x);
另外,根据您的定义,的函数声明count()
应为:
int count(int m, int day, int d);
并删除int leap, count;
,这是针对数据类型(int
此处)的声明,而不是针对函数的声明。
如果您想用来调用它们main()
,只需使用:
count(m, day, d);
leap(y, x);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句