关于c语言头文件的使用
你好,鱼油,我想问一下,关于c语言头文件的问题,具体是这样的,我心血来潮写了一个代码,但发现main函数里面的内容太多,于是就声明了一个函数,然后把main里的所有内容放到那个函数里去了,在通过main调用那个函数,但不知道为什么报错,。对了,我的头文件是放在另一个文件里面的,代码报错截图如下 多文件的话,一般函数声明写在.h文件里,函数的实现写在.c文件里 调用函数直接 函数名(),把第 13 行的 void 去掉 zltzlt 发表于 2020-5-3 20:54调用函数直接 函数名(),把第 13 行的 void 去掉
咳咳,尴尬,这个void大意了,大佬问问,改了还是有报错,,,,,是我其他函数的原因吗 年少的梦想 发表于 2020-5-3 21:06
咳咳,尴尬,这个void大意了,大佬问问,改了还是有报错,,,,,是我其他函数的原因吗
把你 timeHead.h 代码完整发上来 zltzlt 发表于 2020-5-3 21:11
把你 timeHead.h 代码完整发上来
void yearss()
{
int leapDay = 0;
int NowDay = 0;
int mouthDay = 0;
int x = 0;
int count;
int bools = 0;
int year = 0;
int mouth = 0;
int day = 0;
printf("please Enter year number: \n");
scanf("%d",&year);
getchar();
printf("please Enter mouth number: \n");
scanf("%d",&mouth);
getchar();
printf("please Enter day number: \n");
scanf("%d",&day);
getchar();
bools = function(year);
if(bools)
{
count = 366;
x = 29;
mouthDay = mouthtion(mouth,x,day);
NowDay = count - mouthDay;
printf("%d年是闰年哦!\n",year);
}
else
{
count = 365;
x = 28;
mouthDay = mouthtion(mouth,x,day);
NowDay = count - mouthDay;
printf("%d年不是闰年哦!\n",year);
}
if((mouth == 4)||(mouth ==6)||(mouth == 9)||(mouth == 11))
{
leapDay = 30;
if(day > leapDay)
error();
}
else if(mouth == 2)
{
leapDay = x;
if(day > leapDay)
{
error();
}
}
else
{
leapDay = 31;
if(day > leapDay)
{
error();
}
}
if(leapDay == day)
{
if(mouth == 12)
printf("这是该年最后一个月的最后一天咯!\n");
else
printf("请珍惜该月最后一天\n");
}
printf("\n\n\n");
printf("总结:\n");
printf(" %d年已经过去%d天,\n该年还剩下%d天,且行且惜!\n",year,mouthDay,NowDay);
}
void color(short x)
{
if(x>=0 && x<=15)
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),x);
}
void error(void)
{
printf("您输入的天数与该月不匹配哦!");
exit(0);
}
int mouthtion(int mouth,int x,int day)//mouth ->count day
{
int Jan = 0;
int Feb = 31;//1
int Mar = 31 + x;//1+2
int Apr = Mar + 31;//1 + 2 + 3
int May = Apr + 30;//1 + 2 + 3 + 4
int Jun = May + 31;
int Jul = Jun + 30;
int Aug = Jul + 31;
int Sep = Aug + 31;
int Oct = Sep + 30;
int Nov = Oct + 31;
int Dec = Nov + 30;
switch(mouth)
{
case 1:
return Jan + day;
break;
case 2:
return Feb + day;
break;
case 3:
return Mar + day;
break;
case 4:
return Apr + day;
break;
case 5:
return May + day;
break;
case 6:
return Jun + day;
break;
case 7:
return Jul + day;
break;
case 8:
return Aug + day;
break;
case 9:
return Sep + day;
break;
case 10:
return Oct + day;
break;
case 11:
return Nov + day;
break;
case 12:
return Dec + day;
break;
default:
error();
}
}
int function(int year)//leap year
{
int x = 0;
if(year % 4 == 0)
{
if(year % 100 != 0){
return 1;}
else if(year % 400 ==0){
return 1;}
else
return 0;
}
else
return 0;
} 年少的梦想 发表于 2020-5-3 21:12
把你 timess.c 的源码也发上来 zltzlt 发表于 2020-5-3 21:21
把你 timess.c 的源码也发上来
抱歉啊。刚刚有点事。久等了#include<stdio.h>
#include<stdlib.h>
#include <time.h>
#include <windows.h>
#include "timeHead.h"
void color(short x);
int function(int year);
int mouthtion(int mouth,int x,int day);
void error(void);
void yearss(void);
int main()
{
yearss();
} 把声明也写在头文件里 chxchxkkk 发表于 2020-5-3 20:52
多文件的话,一般函数声明写在.h文件里,函数的实现写在.c文件里
可以了。谢谢
页:
[1]