广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 8557 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
汤圆原
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[C/C++][求助] C程式怎么做才能防呆
我已经想破头,就是想不出来
虽然知道  用 do while 或设函数 可以做出,但怎么做就是做不出来


以下程式要怎么做防呆,还有输入英文时会跑无限次,这要如何解决

防呆条件:仅输入年或仅输入年与月,没完整输入年月日,则出现请输入正确的民国年.月.日
#include<stdio.h>
#include<stdlib.h>



int main()
{
    int y;  //出生年
    int m;  //出生月
    int d;  //出生日

   


    printf("请输入出生年.月.日\n");
    scanf("%d%d%d" ,&y,&m,&d);

    if(y%12==1){                   //出生年除以12的余数等于一的生肖为鼠
        printf("生肖:鼠\n");
    }
    else if(y%12==2){
        printf("生肖:牛\n");
    }
    else if(y%12==3){
        printf("生肖:虎\n");
    }
    else if(y%12==4){
        printf("生肖:兔\n");
    }
    else if(y%12==5){
        printf("生肖:龙\n");
    }
    else if(y%12==6){
        printf("生肖:蛇\n");
    }
    else if( ..

访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容




献花 x0 回到顶端 [楼 主] From:台湾中华电信 | Posted:2010-12-09 21:44 |
totsi
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x53
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

从程式码看来,只会跑一次而,不会跑很多次。
至于防呆,建议是使用自己能判定的栏位来取值。

用位置的话,也要确定栏位是没输入,还是不输入。
没输入:19881231
不输入:1231

最保险就是长度跟范围检查,例如
年:2-4码,且不会小于等于零,或者....
月:1-2码,且也不会小于等于零,或者....
日:1-2码,且也不应该小于等于零,或者....

大概方式如上,再者,上述条件还有所不足,所以仅供参考用。


恩...
献花 x0 回到顶端 [1 楼] From:台湾中华电信 | Posted:2010-12-13 12:44 |
ronlain
数位造型
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x1 鲜花 x11
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

以程式看来 生肖是用国历计算
你的code 数字小于0都出问题

防呆
只要检查是否为数字 还有范围即可

教你一个小技巧
用一个char 矩阵 里面存好你要的生肖
y%12就会对到矩阵的0~11 你的code就会很精简也很简单

星座也可以用类似作法 让你自己想


献花 x0 回到顶端 [2 楼] From:台固媒体 | Posted:2010-12-13 22:58 |
XDglory 手机
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x8
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

希望可以藉此一问...

那假如使用者是输入英文呢?


献花 x0 回到顶端 [3 楼] From:台湾教育部 | Posted:2011-02-19 00:12 |
totsi
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x53
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

回楼上
就一样把英文加入成需判断的字串就可以了
作法相同


恩...
献花 x0 回到顶端 [4 楼] From:台湾中华电信 | Posted:2011-02-21 08:21 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.016484 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言