当前位置: 代码迷 >> C语言 >> 为什么这个程序编译不了????
  详细解决方案

为什么这个程序编译不了????

热度:185   发布时间:2004-12-07 19:28:00.0
为什么这个程序编译不了????

#include <stdio.h> #include <conio.h>

int leap(int year) { if( (year%4==0&&year%100!=0)||(year%400==0) ) return 1; else return 0; }

int leftdays1(int year,int month,int day) { int i; int days=0; int d[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; for(i=month+1;i<=12;i++) { if(i==2&&leap(year)==1) days+=29; else days+=d[i]; } days+=(d[month]-day); return days; }

int leftdays2(int year,int month,int day) { int i; int days=0; int d[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; for(i=1;i<month;i++) { if(month>=3&&i==2&&leap(year)==1) days+=29; else days+=d[i]; } days+=day; return days; }

int main() { int b_year,b_month,b_day; int o_year,o_month,o_day; int totaldays; int i,a,b,c=0,m=0; int d[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; clrscr(); printf("please input the start date with space\n"); scanf("%d %d %d",&b_year,&b_month,&b_day); printf("please input the end date\n"); scanf("%d %d %d",&o_year,&o_month,&o_day); a=leftdays1(b_year,b_month,b_day); b=leftdays2(o_year,o_month,o_day);

for(i=1;i<(o_year-b_year);i++) c+=365+leap(b_year+i);

if(o_year>b_year) totaldays=a+b+c; else if(o_year==b_year&&o_month>b_month) { for(i=1;i<(o_month-b_month);i++) { if(i==2) m+=d[i]+leap(b_year); else m+=d[i]; } totaldays=m+d[b_month]-b_day+o_day; } else totaldays=o_day-b_day; printf("There are %d days left\n",totaldays); getch(); return 0; }

上面的程序本想在自已的机器上编译运行一下,可当我点编译时出现一个对话框写的是

compiler and linker output c:\DOCUME~1\USER\LOCALS~1\Temp\ccoVaaaa.o(.txt+0x2b3):time.c undefined reference to 'clrscr'

是那里出了问题呢?我用的编译软件是Dev--C++请教是那里出了问题?????

搜索更多相关的解决方案: int  year  days  编译  

----------------解决方案--------------------------------------------------------
time.c undefined reference to 'clrscr'
小弟觉得因该是这里的问题!:)

----------------解决方案--------------------------------------------------------

time.c undefined reference to 'clrscr'

编译程序时出现的内容,说明程序没有通过编译也说明程序有问题才通过不了编译.

是程序的那部分编译不了呢?请高手指教?


----------------解决方案--------------------------------------------------------
应该是头文件的问题,可我在msdn中找不到该函数,不过你暂时可以将那句注释掉,程序可以运行。
----------------解决方案--------------------------------------------------------
这个原因是vc中不能使用函数clrscr,你如果要清贫请自己写一个输出80个回车换行的回车符就可以了!
----------------解决方案--------------------------------------------------------
以下是引用时空之蕊在2004-12-09 01:00:27的发言: 这个原因是vc中不能使用函数clrscr,你如果要清贫请自己写一个输出80个回车换行的回车符就可以了!
呵呵,这个建议有点误人子弟啊
----------------解决方案--------------------------------------------------------

把clrscr()去掉后成功的骗译,但是运行编译好的这个程序时出现please input the start date with space 当我输入日期和时间后下面出现一行prease input the end date 随后就出现一个对话框,对话框里的内容是 time.exe(time.exe是我编译程序时起的名字)遇到问题要关闭。我们对此引起的不便表示抱歉。 如果您正处于进程当中,信息可能丢失。 关于此错识的其他信息,请单击此处 调试(B) 关闭(C)

请教这个程序在各位的电脑里运行的结果是什么???我的怎么会出现上述的现像呢????


----------------解决方案--------------------------------------------------------
  相关解决方案