做了一道C语言的题,出错了,不知道怎么改,急速求教!!!

#include<stdio.h>main(){printf("请输入一个日期(年/月/日)");intyy,mm,dd,emds,yyy,mmm,ddd;yyy=yy+... #include <stdio.h>
main()
{

printf("请输入一个日期(年/月/日)");

int yy,mm,dd,emds,yyy,mmm,ddd;

yyy = yy + 1;
mmm = mm + 1;
ddd = dd + 1;

scanf("%d/%d/%d",&yy,&mm,&dd);

switch (mm)
{
case 1 :
emds = 31;
break;
case 2 :
emds = 28;
break;
case 3 :
emds = 31;
break;
case 4 :
emds = 30;
break;
case 5 :
emds = 31;
break;
case 6 :
emds = 30;
break;
case 7 :
emds = 31;
break;
case 8 :
emds = 31;
break;
case 9 :
emds = 30;
break;
case 10 :
emds = 31;
break;
case 11 :
emds = 30;
break;
case 12 :
emds = 31;
break;
}

if (yy<1000||yy>9999)
{
printf("\n年输入数据出错,请输入4位正整数\n");
}
else
{
if (mm<1||mm>12)
{
printf("\n月份输入数据出错,请输入1~12的正整数\n");
}
else
{
if (dd<1||dd>emds)
{
printf("\n日期输入数据出错,请输入1~31的正整数\n");
}
else
{
if(dd=emds&&mm=12)
{
printf("\n%d年%d月%d日的后一天是%d年1月1日\n",yy,mm,dd,yyy);
}
else
{
if(dd=emds&&mm<12)
{
printf("\n%d年%d月%d日的后一天是%d年%d月1日\n",yy,mm,dd,yy,mmm);
}
else
{
printf("\n%d年%d月%d日的后一天是%d年%d月%d日\n",yy,mm,dd,yy,mm,ddd);
}
}
}
}
}

}

初学者,函数就会那么几个,按照题目的要求也都做出来了,但是提示
(73) : warning C4305: '=' : truncation from 'const int' to 'bool'
(73) : error C2106: '=' : left operand must be l-value
(92) : warning C4508: 'main' : function should return a value; 'void' return type assumed
应该是函数和赋值的错误...可能...嘛,没搞明白,求高手解答,急急急!!!
展开
 我来答
qwertiesy
2011-09-23 · TA获得超过134个赞
知道答主
回答量:88
采纳率:100%
帮助的人:46.8万
展开全部
  =是赋值符号,要用==来进行比较
  算法的错误也很多,
  int yy,mm,dd,emds,yyy,mmm,ddd;

  yyy = yy + 1;
  mmm = mm + 1;
  ddd = dd + 1; yy,mm,dd没赋值,则变量储存的就是垃圾值,加1再赋给yyy,ddd,mmm是不对的,而且yyy,ddd,mmm也是没必要设的变量
  后面的if语句太复杂,直接用else if不就行了
  算法设计没有考虑闰年的情况,修改过了,自己看看
  #include <stdio.h>
  int main()
  {
  printf("请输入一个日期(年/月/日)");
  int yy,mm,dd,emds;
  int l=0;/*考虑闰年*/
  scanf("%d/%d/%d",&yy,&mm,&dd);
  l=(yy%4==0)&&(yy%100!=0)||(yy%400==0);
  switch (mm)
  {
  case 1 :
  emds = 31;
  break;
  case 2 :
  emds = 28+l;
  break;
  case 3 :
  emds = 31;
  break;
  case 4 :
  emds = 30;
  break;
  case 5 :
  emds = 31;
  break;
  case 6 :
  emds = 30;
  break;
  case 7 :
  emds = 31;
  break;
  case 8 :
  emds = 31;
  break;
  case 9 :
  emds = 30;
  break;
  case 10 :
  emds = 31;
  break;
  case 11 :
  emds = 30;
  break;
  case 12 :
  emds = 31;
  break;
  }

  if (yy<1000||yy>9999)
  {
  printf("\n年输入数据出错,请输入4位正整数\n");
  }
  else if (mm<1||mm>12)
  {
  printf("\n月份输入数据出错,请输入1~12的正整数\n");
  }
  else if (dd<1||dd>emds)
  {
  printf("\n日期输入数据出错,请输入1~31的正整数\n");
  }
  else if(dd==emds&&mm==12)
  {
  printf("\n%d年%d月%d日的后一天是%d年1月1日\n",yy,mm,dd,yy+1);
  }
  else if(dd==emds&&mm<12)
  {
  printf("\n%d年%d月%d日的后一天是%d年%d月1日\n",yy,mm,dd,yy,mm+1);
  }
  else
  {
  printf("\n%d年%d月%d日的后一天是%d年%d月%d日\n",yy,mm,dd,yy,mm,dd+1);
  }
  return 0;
  }
百度网友f507779
2011-09-23
知道答主
回答量:30
采纳率:0%
帮助的人:17.2万
展开全部
1.c语言中判断两个值是否相等用“==”双等号,不是“=”
2.在main前加个void,最好!不加也可以!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
whymqtla1640
2011-09-24 · TA获得超过375个赞
知道答主
回答量:298
采纳率:100%
帮助的人:87.5万
展开全部
还在单身的一个人唱情歌吗?
当你孤单的时候你会想起谁?
是他还是她?
yy频道7450,让你忘记他和她,让你重新找到新的伴侣!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式