标题:[求助]有一个错误很是头痛
只看楼主
kingyupeng
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2006-2-28
 问题点数:0 回复次数:2 
[求助]有一个错误很是头痛

//定义一个结构体变量(包括年、月、日),写一个days函数实现计算是一年中的第几天?由函数将年、月、日传递给days函数,计算后将日子数传回主函数输出

#include<stdio.h>
struct dayss //这是定义结构体变量
{
int y;
int m;
int d;
}di;
int days(struct dayss di) //这是计算一年当中第几天的函数
{
int day[2][12]={{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};
int leap,i;
if((di.y%4==0 && di.y%100!=0) || (di.y%400==0))
leap=1;
else
leap=0;
for(i=0;i<di.m-1;i++)
di.d+=day[leap][i];
return di.d; //最后返回一年当中第几天的值
}
void main()
{
struct dayss di;
int days;
printf("请输入年份:");
scanf("%d",&di.y);
printf("请输入月份:");
scanf("%d",&di.m);
printf("请输入天数:");
scanf("%d",&di.d);
days=days(di); //调用函数

printf("%d年%d月%d日是一年当中第%d",di.y,di.m,di.d,days);
}





C:\Documents and Settings\英雄\桌面\aaa\Cpp1.cpp(30) : error C2064: term does not evaluate to a function
Error executing cl.exe.

Cpp1.exe - 1 error(s), 0 warning(s)

搜索更多相关主题的帖子: int 函数 头痛 days 变量 
2006-03-21 15:56
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
得分:0 
void main()
{
struct dayss di;
int days;
printf("请输入年份:");
scanf("%d",&di.y);
printf("请输入月份:");
scanf("%d",&di.m);
printf("请输入天数:");
scanf("%d",&di.d);
days=days(di); //调用函数

printf("%d年%d月%d日是一年当中第%d",di.y,di.m,di.d,days);
}

看见这三个红色的days没有?因为你定义的变量的调用的函数名相同,所以编译器无法识别清楚.把这个变量改成其他名字就OK了``

我的原则很简单:不做不喜欢的事!
2006-03-21 16:24
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
得分:0 
#include<stdio.h>
struct dayss //这是定义结构体变量
{
int y;
int m;
int d;
}di;
int days(struct dayss di) //这是计算一年当中第几天的函数
{
int day[2][12]={{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};
int leap,i;
if((di.y%4==0 && di.y%100!=0) || (di.y%400==0))
leap=1;
else
leap=0;
for(i=0;i<di.m-1;i++)
di.d+=day[leap][i];
return di.d; //最后返回一年当中第几天的值
}
void main()
{
struct dayss di;
int days; /*这个变量名,与您的函数名重复,改一下就可以了。*/
printf("请输入年份:");
scanf("%d",&di.y);
printf("请输入月份:");
scanf("%d",&di.m);
printf("请输入天数:");
scanf("%d",&di.d);
days=days(di); //调用函数

printf("%d年%d月%d日是一年当中第%d",di.y,di.m,di.d,days);
}

2006-03-21 16:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-51834-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.609485 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved