user-0 提问: 有没有大佬帮忙看一下，是不是少了什么？还是哪里错了，结果出现underfined reference to prtEnCalendar(int) 

回复:
user: user-0
content: 引用 6 楼 自信男孩的回复:[quote=引用 5 楼 tianyuxuanling 的回复:] [quote=引用 3 楼 自信男孩的回复:]#include <iostream> #include <cstdio> using namespace std;   /*函数声明*/ int isLeap(int year);//判断闰年 int weekOfNewYear(int year);//求元旦是星期几 int FirstWeekday(int year);//求某年某月1日是星期几 void showMonthName(int month);//显示月份的英文名称 void showCNweek(int weekDay);//显示星期几的中文信息 void display(int year);//显示某年元旦是星期几以及是否闰年的信息 void prtMonthCalendar(int year,int month);//打印月历 void prtEnCalendar(int year);//打印英文年历  //主函数（程序执行的入口） int main() {     int year;     cout<<"Please input year: ";     cin>>year;     cout<<"\n";     display(year);//显示当年元旦是星期几以及是否闰年的信息     prtEnCalendar(year);//输出当年英文年历     return 0; }  //判断闰年 int isLeap(int year) {     int y_or_n;     if(year > 0)         //y_or_n = (year%4==0&&year%100!=0||year%400==0);         y_or_n = ((year%4==0&&year%100!=0)||year%400==0);     else             y_or_n =-1;    //-1，表示非法参数错误     return y_or_n ; } //求元旦是星期几 int weekOfNewYear(int year) {     int i,days,m=0;   //days为1900年至(year-1)年份为止的实际总天数,m是此期间的闰年数 for(i=1900;i<year;i++)     //if(isLeap(i))     if(isLeap(year))         m++;     days=(year-1900)*365+m;     return (days+1)%7; } //求某年某月1日是星期几 int FirstWeekday(int year) {     int days=(year-1)*365+(year -1)/4-(year -100)/100+(year-1)/400;     return days%7; } //显示月份的英文名称 void showMonthName(int month) {     int n;     printf("请输入月份数字：");     //scanf("%d,&n");     scanf("%d", &n);     switch(n)     {         case 1:printf("Jan\n");break;         case 2:printf("Feb\n");break;         case 3:printf("Mar\n");break;         case 4:printf("Apr\n");break;         case 5:printf("May\n");break;         case 6:printf("Jun\n");break;         case 7:printf("Jul\n");break;         case 8:printf("Agu\n");break;         case 9:printf("Sep\n");break;         case 10:printf("Oct\n");break;         case 11:printf("Nov\n");break;         case 12:printf("Dec\n");break;     } }  //显示星期几的中文信息 void showCNweek(int weekDay) {     switch(weekDay)     {         case 0: cout<<"星期日"; break;         case 1: cout<<"星期一"; break;         case 2: cout<<"星期二"; break;         case 3: cout<<"星期三"; break;         case 4: cout<<"星期四"; break;         case 5: cout<<"星期五"; break;         case 6: cout<<"星期六"; break; default:cout<<"error";     } } //输出元旦是星期几等信息 void display(int year) { int weekDay; weekDay=weekOfNewYear(year);//获取元旦是星期几(int)     cout<<year<<"年元旦 "; showCNweek(weekDay);  //显示中文的星期几     if(isLeap(year)) cout<<" 闰年";     cout<<"\n";}  供参考～ 语法错误，建议对比代码找出自己的问题。中英文都有～ 两个函数未找到定义～ 那个，麻烦问一下，如果按照这个写的话，那两个没定义的函数该怎么写，我写得老是有问题？[/quote] 先自己谢谢，有问题提出来，或者把问题代码直接贴出来～[/quote] 我已经删了，而且越写问题越多，实在写不出来了

user: user-1
content: 引用 5 楼 tianyuxuanling 的回复:[quote=引用 3 楼 自信男孩的回复:]#include <iostream> #include <cstdio> using namespace std;   /*函数声明*/ int isLeap(int year);//判断闰年 int weekOfNewYear(int year);//求元旦是星期几 int FirstWeekday(int year);//求某年某月1日是星期几 void showMonthName(int month);//显示月份的英文名称 void showCNweek(int weekDay);//显示星期几的中文信息 void display(int year);//显示某年元旦是星期几以及是否闰年的信息 void prtMonthCalendar(int year,int month);//打印月历 void prtEnCalendar(int year);//打印英文年历  //主函数（程序执行的入口） int main() {     int year;     cout<<"Please input year: ";     cin>>year;     cout<<"\n";     display(year);//显示当年元旦是星期几以及是否闰年的信息     prtEnCalendar(year);//输出当年英文年历     return 0; }  //判断闰年 int isLeap(int year) {     int y_or_n;     if(year > 0)         //y_or_n = (year%4==0&&year%100!=0||year%400==0);         y_or_n = ((year%4==0&&year%100!=0)||year%400==0);     else             y_or_n =-1;    //-1，表示非法参数错误     return y_or_n ; } //求元旦是星期几 int weekOfNewYear(int year) {     int i,days,m=0;   //days为1900年至(year-1)年份为止的实际总天数,m是此期间的闰年数 for(i=1900;i<year;i++)     //if(isLeap(i))     if(isLeap(year))         m++;     days=(year-1900)*365+m;     return (days+1)%7; } //求某年某月1日是星期几 int FirstWeekday(int year) {     int days=(year-1)*365+(year -1)/4-(year -100)/100+(year-1)/400;     return days%7; } //显示月份的英文名称 void showMonthName(int month) {     int n;     printf("请输入月份数字：");     //scanf("%d,&n");     scanf("%d", &n);     switch(n)     {         case 1:printf("Jan\n");break;         case 2:printf("Feb\n");break;         case 3:printf("Mar\n");break;         case 4:printf("Apr\n");break;         case 5:printf("May\n");break;         case 6:printf("Jun\n");break;         case 7:printf("Jul\n");break;         case 8:printf("Agu\n");break;         case 9:printf("Sep\n");break;         case 10:printf("Oct\n");break;         case 11:printf("Nov\n");break;         case 12:printf("Dec\n");break;     } }  //显示星期几的中文信息 void showCNweek(int weekDay) {     switch(weekDay)     {         case 0: cout<<"星期日"; break;         case 1: cout<<"星期一"; break;         case 2: cout<<"星期二"; break;         case 3: cout<<"星期三"; break;         case 4: cout<<"星期四"; break;         case 5: cout<<"星期五"; break;         case 6: cout<<"星期六"; break; default:cout<<"error";     } } //输出元旦是星期几等信息 void display(int year) { int weekDay; weekDay=weekOfNewYear(year);//获取元旦是星期几(int)     cout<<year<<"年元旦 "; showCNweek(weekDay);  //显示中文的星期几     if(isLeap(year)) cout<<" 闰年";     cout<<"\n";}  供参考～ 语法错误，建议对比代码找出自己的问题。中英文都有～ 两个函数未找到定义～ 那个，麻烦问一下，如果按照这个写的话，那两个没定义的函数该怎么写，我写得老是有问题？[/quote] 先自己谢谢，有问题提出来，或者把问题代码直接贴出来～

user: user-0
content: 引用 3 楼 自信男孩的回复:#include <iostream> #include <cstdio> using namespace std;   /*函数声明*/ int isLeap(int year);//判断闰年 int weekOfNewYear(int year);//求元旦是星期几 int FirstWeekday(int year);//求某年某月1日是星期几 void showMonthName(int month);//显示月份的英文名称 void showCNweek(int weekDay);//显示星期几的中文信息 void display(int year);//显示某年元旦是星期几以及是否闰年的信息 void prtMonthCalendar(int year,int month);//打印月历 void prtEnCalendar(int year);//打印英文年历  //主函数（程序执行的入口） int main() {     int year;     cout<<"Please input year: ";     cin>>year;     cout<<"\n";     display(year);//显示当年元旦是星期几以及是否闰年的信息     prtEnCalendar(year);//输出当年英文年历     return 0; }  //判断闰年 int isLeap(int year) {     int y_or_n;     if(year > 0)         //y_or_n = (year%4==0&&year%100!=0||year%400==0);         y_or_n = ((year%4==0&&year%100!=0)||year%400==0);     else             y_or_n =-1;    //-1，表示非法参数错误     return y_or_n ; } //求元旦是星期几 int weekOfNewYear(int year) {     int i,days,m=0;   //days为1900年至(year-1)年份为止的实际总天数,m是此期间的闰年数 for(i=1900;i<year;i++)     //if(isLeap(i))     if(isLeap(year))         m++;     days=(year-1900)*365+m;     return (days+1)%7; } //求某年某月1日是星期几 int FirstWeekday(int year) {     int days=(year-1)*365+(year -1)/4-(year -100)/100+(year-1)/400;     return days%7; } //显示月份的英文名称 void showMonthName(int month) {     int n;     printf("请输入月份数字：");     //scanf("%d,&n");     scanf("%d", &n);     switch(n)     {         case 1:printf("Jan\n");break;         case 2:printf("Feb\n");break;         case 3:printf("Mar\n");break;         case 4:printf("Apr\n");break;         case 5:printf("May\n");break;         case 6:printf("Jun\n");break;         case 7:printf("Jul\n");break;         case 8:printf("Agu\n");break;         case 9:printf("Sep\n");break;         case 10:printf("Oct\n");break;         case 11:printf("Nov\n");break;         case 12:printf("Dec\n");break;     } }  //显示星期几的中文信息 void showCNweek(int weekDay) {     switch(weekDay)     {         case 0: cout<<"星期日"; break;         case 1: cout<<"星期一"; break;         case 2: cout<<"星期二"; break;         case 3: cout<<"星期三"; break;         case 4: cout<<"星期四"; break;         case 5: cout<<"星期五"; break;         case 6: cout<<"星期六"; break; default:cout<<"error";     } } //输出元旦是星期几等信息 void display(int year) { int weekDay; weekDay=weekOfNewYear(year);//获取元旦是星期几(int)     cout<<year<<"年元旦 "; showCNweek(weekDay);  //显示中文的星期几     if(isLeap(year)) cout<<" 闰年";     cout<<"\n";}  供参考～ 语法错误，建议对比代码找出自己的问题。中英文都有～ 两个函数未找到定义～ 那个，麻烦问一下，如果按照这个写的话，那两个没定义的函数该怎么写，我写得老是有问题？

user: user-2
content: 该函数你只有最开始的声明，函数定义没有，也就是具体函数实现的代码没有

user: user-0
content: 引用 2 楼 user-3的回复:你这个prtEnCalendar函数的定义在哪个cpp文件中？ 额，好像知道错哪了，多谢了，我先去试试

user: user-1
content: #include <iostream> #include <cstdio> using namespace std;   /*函数声明*/ int isLeap(int year);//判断闰年 int weekOfNewYear(int year);//求元旦是星期几 int FirstWeekday(int year);//求某年某月1日是星期几 void showMonthName(int month);//显示月份的英文名称 void showCNweek(int weekDay);//显示星期几的中文信息 void display(int year);//显示某年元旦是星期几以及是否闰年的信息 void prtMonthCalendar(int year,int month);//打印月历 void prtEnCalendar(int year);//打印英文年历  //主函数（程序执行的入口） int main() {     int year;     cout<<"Please input year: ";     cin>>year;     cout<<"\n";     display(year);//显示当年元旦是星期几以及是否闰年的信息     prtEnCalendar(year);//输出当年英文年历     return 0; }  //判断闰年 int isLeap(int year) {     int y_or_n;     if(year > 0)         //y_or_n = (year%4==0&&year%100!=0||year%400==0);         y_or_n = ((year%4==0&&year%100!=0)||year%400==0);     else             y_or_n =-1;    //-1，表示非法参数错误     return y_or_n ; } //求元旦是星期几 int weekOfNewYear(int year) {     int i,days,m=0;   //days为1900年至(year-1)年份为止的实际总天数,m是此期间的闰年数 for(i=1900;i<year;i++)     //if(isLeap(i))     if(isLeap(year))         m++;     days=(year-1900)*365+m;     return (days+1)%7; } //求某年某月1日是星期几 int FirstWeekday(int year) {     int days=(year-1)*365+(year -1)/4-(year -100)/100+(year-1)/400;     return days%7; } //显示月份的英文名称 void showMonthName(int month) {     int n;     printf("请输入月份数字：");     //scanf("%d,&n");     scanf("%d", &n);     switch(n)     {         case 1:printf("Jan\n");break;         case 2:printf("Feb\n");break;         case 3:printf("Mar\n");break;         case 4:printf("Apr\n");break;         case 5:printf("May\n");break;         case 6:printf("Jun\n");break;         case 7:printf("Jul\n");break;         case 8:printf("Agu\n");break;         case 9:printf("Sep\n");break;         case 10:printf("Oct\n");break;         case 11:printf("Nov\n");break;         case 12:printf("Dec\n");break;     } }  //显示星期几的中文信息 void showCNweek(int weekDay) {     switch(weekDay)     {         case 0: cout<<"星期日"; break;         case 1: cout<<"星期一"; break;         case 2: cout<<"星期二"; break;         case 3: cout<<"星期三"; break;         case 4: cout<<"星期四"; break;         case 5: cout<<"星期五"; break;         case 6: cout<<"星期六"; break; default:cout<<"error";     } } //输出元旦是星期几等信息 void display(int year) { int weekDay; weekDay=weekOfNewYear(year);//获取元旦是星期几(int)     cout<<year<<"年元旦 "; showCNweek(weekDay);  //显示中文的星期几     if(isLeap(year)) cout<<" 闰年";     cout<<"\n";}  供参考～ 语法错误，建议对比代码找出自己的问题。中英文都有～ 两个函数未找到定义～

user: user-3
content: 你这个prtEnCalendar函数的定义在哪个cpp文件中？