标题:关于goto语句 能有更好的方式代替么
取消只看楼主
ljrainxy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-5-23
结帖率:100%
 问题点数:0 回复次数:4 
关于goto语句 能有更好的方式代替么
  题目: 输入某年某月某日,判断这一天是这一年的第几天?
  题怎么解的就不多说了
  其实我想加一段代码实现输入错误时后的处理  比如输入 2010,5,32   很明显是错误的
  于是我写下   
  if(((month==1||month==3||month==5||month==7||month==8||month==10||month==12)&&(data>31))||((month==2)&&(data>29))||((month==4||month==6||month==9||month==11)&&(data>31)))
      printf("the data error!please enter again\n");
  用来判断某月中是不是超过这个月最大天数了   
  忽然觉得 要是在输入错误怎么办  左思又想 觉得 goto语句是最为合适的 但能力有限 且网上说goto语句最好不要用之类的 比较麻烦
  左思又想 反复修改
  代码如下   
  there:    if(((month==1||month==3||month==5||month==7||month==8||month==10||month==12)&&(data>31))||((month==2)&&(data>29))||((month==4||month==6||month==9||month==11)&&(data>31)))
      {printf("the data error!please enter again\n");
          scanf("%d,%d,%d",&year,&month,&data);
       goto there;}
  个人感觉此时用goto语句很不错  特分享经验
  因本人新手 见识有限 特发此贴  希望高手们有更好的方式 如果可以 能否发出来借鉴下
搜索更多相关主题的帖子: goto 语句 代替 
2010-05-25 22:18
ljrainxy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-5-23
得分:0 
你的意思是   if(....) i=1;
              else  i=0;
           然后  if(i>0) printf("error");
                  .....
是这样么     恩 不错 也能达到目的  
2010-05-25 22:51
ljrainxy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-5-23
得分:0 
回复 6楼 源本英明C
输入错误 指的是 常识性错无  比如 5月份最多31天 而你输入了  2010-5-32   我指的是这个
2010-05-26 17:51
ljrainxy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-5-23
得分:0 
其实现在很多的人 用不好就敬而远之  感觉做法不恰当   当这个东西用到恰到好处才是   应该想什么时候用到正好 才是根本
2010-05-26 22:29
ljrainxy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-5-23
得分:0 
呵呵学习了 原来这样也行
2010-05-27 20:42



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




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

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